Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean-up turtledemo in-package documentation #54500

Closed
abalkin opened this issue Nov 2, 2010 · 15 comments
Closed

Clean-up turtledemo in-package documentation #54500

abalkin opened this issue Nov 2, 2010 · 15 comments
Assignees
Labels
docs Documentation in the Doc dir easy type-feature A feature request or enhancement

Comments

@abalkin
Copy link
Member

abalkin commented Nov 2, 2010

BPO 10291
Nosy @gvanrossum, @birkenfeld, @rhettinger, @terryjreedy, @abalkin, @ned-deily, @merwok, @bitdancer
Files
  • issue10291.diff
  • issue10291_2.diff
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/abalkin'
    closed_at = <Date 2014-04-20.02:27:55.493>
    created_at = <Date 2010-11-02.02:03:30.778>
    labels = ['easy', 'type-feature', 'docs']
    title = 'Clean-up turtledemo in-package documentation'
    updated_at = <Date 2014-08-15.04:06:16.583>
    user = 'https://github.com/abalkin'

    bugs.python.org fields:

    activity = <Date 2014-08-15.04:06:16.583>
    actor = 'python-dev'
    assignee = 'belopolsky'
    closed = True
    closed_date = <Date 2014-04-20.02:27:55.493>
    closer = 'ned.deily'
    components = ['Demos and Tools', 'Documentation']
    creation = <Date 2010-11-02.02:03:30.778>
    creator = 'belopolsky'
    dependencies = []
    files = ['21340', '34979']
    hgrepos = []
    issue_num = 10291
    keywords = ['patch', 'easy', 'needs review']
    message_count = 15.0
    messages = ['120200', '131766', '131768', '131770', '131780', '131787', '131788', '131790', '216885', '216889', '216893', '223923', '223932', '223986', '225331']
    nosy_count = 12.0
    nosy_names = ['gvanrossum', 'georg.brandl', 'rhettinger', 'terry.reedy', 'glingl', 'belopolsky', 'gregorlingl', 'ned.deily', 'eric.araujo', 'r.david.murray', 'jesstess', 'python-dev']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue10291'
    versions = ['Python 3.5']

    @abalkin
    Copy link
    Member Author

    abalkin commented Nov 2, 2010

    Since after closing of issue bpo-10199, docstrings in demo scripts are accessible to pydoc, it is important to bring them up to date. For example, turtledemo.wikipedia docstring contains a reference to nonexistent wikipedia1 and calls itself tdemo_wikipedia3.py.

    In addition, the turtledemo package contains three text files: Lib/turtledemo/about_turtle.txt, Lib/turtledemo/about_turtledemo.txt, and Lib/turtledemo/demohelp.txt. The contents of these files should be moved to appropriate (doc)strings inside appropriate .py files.

    @abalkin abalkin self-assigned this Nov 2, 2010
    @abalkin abalkin added docs Documentation in the Doc dir easy labels Nov 2, 2010
    @merwok
    Copy link
    Member

    merwok commented Mar 22, 2011

    Agreed. Which .py files would be appropriate?

    @abalkin
    Copy link
    Member Author

    abalkin commented Mar 22, 2011

    On Tue, Mar 22, 2011 at 2:55 PM, Éric Araujo <report@bugs.python.org> wrote:
    ..

    Agreed.  Which .py files would be appropriate?

    Lib/turtledemo/about_turtle.txt - seems to belong to turtle.py

    Lib/turtledemo/about_turtledemo.txt -> turtledemo/init.py

    and Lib/turtledemo/demohelp.txt. -> turtledemo/main.py or a new
    module to be imported from __main__ most of the code in __main__ can
    be moved/

    @abalkin
    Copy link
    Member Author

    abalkin commented Mar 22, 2011

    On Tue, Mar 22, 2011 at 3:14 PM, Alexander Belopolsky
    <belopolsky@users.sourceforge.net> wrote:
    ..

    Lib/turtledemo/about_turtle.txt - seems to belong to turtle.py

    In fact, it looks like turtle docstring is already a copy (or almost a
    copy) of Lib/turtledemo/about_turtle.txt. Instead of reading
    about_turtle.txt, turtledemo should just reuse turtle.__doc__.

    @abalkin abalkin added the type-feature A feature request or enhancement label Mar 22, 2011
    @merwok
    Copy link
    Member

    merwok commented Mar 22, 2011

    The patch contains one unrelated code change.

    I think the docstrings should not go as is but be cleaned up to match docstrings conventions. I’ve also spotted some phrasing issues.

    @abalkin
    Copy link
    Member Author

    abalkin commented Mar 22, 2011

    On Tue, Mar 22, 2011 at 5:15 PM, Éric Araujo <report@bugs.python.org> wrote:

    ..
    The patch contains one unrelated code change.

    Yes, I noticed that, but it may not be that unrelated. Of course the
    two changes need to be committed separately, but the pop-under issue
    (bpo-11571) affects turtledemo in the same way as turtle.

    I think the docstrings should not go as is but be cleaned up to match docstrings conventions.
     I’ve also spotted some phrasing issues.

    I would rather keep code and documentation changes separate. Not that
    we have any strict docstrings conventions. :-)

    @merwok
    Copy link
    Member

    merwok commented Mar 22, 2011

    I would rather keep code and documentation changes separate.
    I don’t follow; my comment about bad phrasing was about the text added to the docstrings.

    Not that we have any strict docstrings conventions. :-)
    Not enforced, but still useful to follow: PEP-257.

    *looks at ast.py and grumbles*

    @abalkin
    Copy link
    Member Author

    abalkin commented Mar 22, 2011

    On Tue, Mar 22, 2011 at 5:29 PM, Éric Araujo <report@bugs.python.org> wrote:
    ..

    > I would rather keep code and documentation changes separate.
    I don’t follow; my comment about bad phrasing was about the text added to the docstrings.

    The text added to docstrings was copied from deleted text files. (I
    only fixed a few obvious anachronisms such as turtleDemo vs.
    turtledemo.) From user's POV, there is no change: the help topics
    display the same text as before.

    @jesstess
    Copy link
    Member

    Thanks for the bug report and patch, belopolsky!

    The original patch no longer applies cleanly, so attached is a regenerated version.

    • The new patch passes make patchcheck.
    • The full test suite passes with this patch.
    • I manually tested that before the patch, ./python.exe [Lib/turtledemo/__main__.py](https://github.com/python/cpython/blob/main/Lib/turtledemo/__main__.py) would start the demo window behind the Terminal on OSX, and after the patch it starts in front as desired.
    • I manually checked the 3 help menu drop-down options in the demo, and they have the expected content.

    There is a lot of out of date content in the turtle docs, and I think we should consider that work separate from this ticket and do a full audit of what needs updating in a new ticket.

    => commit review

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Apr 20, 2014

    New changeset 004fe3449193 by Ned Deily in branch 'default':
    Issue bpo-10291: Cleanup turtledemo to use docstrings for help.
    http://hg.python.org/cpython/rev/004fe3449193

    @ned-deily
    Copy link
    Member

    Thanks for the refresh, Jessica. I decided to separate out the turtle window raise for OS X and apply that for 3.4.1 and 3.5.0 in bpo-11571. The remainder of the patch to use the docstrings, plus removal of the two other obsolete text files, is spplied here for 3.5.0.

    @terryjreedy
    Copy link
    Member

    Is there any reason when turtledemo.__init__ and turtledemo.__main__ should not get docstrings in earlier versions? And the turtledemo.__main__ get the same changes in 3.4?

    Not doing so introduced seeming gratuitous differences between the versions. The help refactoring I committed in 3.4 for bpo-22053 could not be merged as it is. The demohelp.txt changes I have made for 3.4 have cleanly merged forward to file that is ignored and no longer displayed. With demohelp.txt moved to a docstring for 3.4 also, I would leave demohelp.txt in 3.4 but mark it 'unmaintained.

    Why was demohelp.txt left after being copied to .__main__? Expecting the file and docstring to remain in sync is not realistic.

    @ned-deily
    Copy link
    Member

    Is there any reason when turtledemo.__init__ and turtledemo.__main__ should > not get docstrings in earlier versions? And the turtledemo.__main__ get the > same changes in 3.4?

    I think my reasoning was that it was not a bug fix so it wasn't a strong candidate for a maintenance release. But feel free to backport it if you think it important.

    Why was demohelp.txt left after being copied to .__main__?

    It wasn't: 004fe3449193 deleted it. It appears that an incorrect merge from 3.4 (3f4abe3107ce) in a subsequent set of changes for bpo-21823 brought it back to life in default.

    @terryjreedy
    Copy link
    Member

    Thanks for the explanation. I will re-delete the file after copying 3.4 version to docstring and marking the original .txt as frozen.
    I will do same with other files deleted in 3.5.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Aug 15, 2014

    New changeset 7708f80940b0 by Terry Jan Reedy in branch '3.4':
    Issue bpo-10291: Backport 004fe3449193 with a few changes due to 22095.
    http://hg.python.org/cpython/rev/7708f80940b0

    New changeset 68902ee48985 by Terry Jan Reedy in branch 'default':
    Issue bpo-10291: null merge
    http://hg.python.org/cpython/rev/68902ee48985

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    docs Documentation in the Doc dir easy type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    5 participants