Skip to content

IDLE: Update offline doc locations for linux #60012

Open

Description

@RostyslavDzinko
BPO 15808
Nosy @terryjreedy, @ned-deily, @serwy
Files
  • issue15808_idle_doc_paths.patch
  • 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/terryjreedy'
    closed_at = None
    created_at = <Date 2012-08-29.11:23:43.793>
    labels = ['expert-IDLE', 'type-feature', '3.10']
    title = 'IDLE: Update offline doc locations for linux'
    updated_at = <Date 2020-06-08.01:11:18.922>
    user = 'https://bugs.python.org/RostyslavDzinko'

    bugs.python.org fields:

    activity = <Date 2020-06-08.01:11:18.922>
    actor = 'terry.reedy'
    assignee = 'terry.reedy'
    closed = False
    closed_date = None
    closer = None
    components = ['IDLE']
    creation = <Date 2012-08-29.11:23:43.793>
    creator = 'Rostyslav.Dzinko'
    dependencies = []
    files = ['27052']
    hgrepos = []
    issue_num = 15808
    keywords = ['patch']
    message_count = 3.0
    messages = ['169365', '169414', '169426']
    nosy_count = 4.0
    nosy_names = ['terry.reedy', 'ned.deily', 'roger.serwy', 'Rostyslav.Dzinko']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue15808'
    versions = ['Python 3.10']

    Activity

    1. RostyslavDzinko commented on Aug 29, 2012

      RostyslavDzinkomannequin
      MannequinAuthor

      There's a possibility to add additional help sources in IDLE via

      Options -> Configure IDLE... -> General -> Additional Help Sources
      

      Use case:

      If someone wants to download certain version of Python documentation in HTML and specify local "index.html" to be opened by custom menu item which appears the in Help menu.

      Problem:

      It's not possible to assign custom hot-key (Options -> Configure IDLE... -> Keys) for such menu items or reassign <F1> to that new menu-item, which actually makes sense when talking in context of the use case specified above.

      This use case was taken from real life (stackoverflow site):

      http://stackoverflow.com/questions/12174255/linking-offline-documentation-to-idle-linux

    2. ned-deily commented on Aug 29, 2012

      @ned-deily
      Member

      Actually, IDLE does have code to look for an on-disk copy of the html-formatted Python documentation set but the paths are platform-specific and, in the Linux case, are out-of-date for some distributions at least. For Linux platforms it looks for index.html in either /var/www/html/python or /usr/share/doc/python-docs-x.y/Doc/. On current Debian systems, for example, the Python doc package is installed in /usr/share/doc/pythonx.y-doc/html. If you install the doc packages and then create a link, IDLE should find the docs off-line when you select Python Docs from the Help manual. For example, for Python 3.3 you could do:

      sudo aptitude install python3.3-doc
      sudo mkdir -p /var/www/html/
      sudo ln -s /usr/share/doc/python3.3-doc/html python
      

      That said, the default locations should be updated. And perhaps a more useful customization would be to add a user configuration option for where to look for the on-disk copy of the docs rather than adding another hot key. (Also, older versions of Python are in security fix mode only.)

    3. ned-deily commented on Aug 30, 2012

      @ned-deily
      Member

      Here's a patch to update the doc paths to include current ones for Debian/Ubuntu and Fedora. The patch will have to be tweaked a bit for 3.2/2.7 to change sys.base_prefix to sys.prefix.

    4. self-assigned this
      on Jun 30, 2017
    5. changed the title [-]Possibility of setting custom key bindings for "Additional help sources" menu items[/-] [+]IDLE: Update offline doc locations[/+] on Jun 8, 2020
    6. changed the title [-]IDLE: Update offline doc locations[/-] [+]IDLE: Update offline doc locations for linux[/+] on Jun 8, 2020
    7. transferred this issue fromon Apr 10, 2022
    8. terryjreedy commented on Aug 11, 2022

      @terryjreedy
      Member

      Summer 2012 is about when I started doing non-trivial IDLE patches. Sorry I never really focused on this before.

      On Windows, the chm file has been replaced by an html copy. #95841 patches the current code to use the registry to find the latter; it is possible that it already has a 'file:' prefix. I will merge this PR first. #95844 is about extracting this code into a module-level function.

      I suspect that the 'new' linux/macOS locations might now be obsolete again. However, the bpo patch will be a start.

      To make the code more robust, it could look in help sources for 'Offline Python Docs' and start the location list with anything it finds.

    9. simon816 commented on Aug 15, 2022

      @simon816

      I suspect that the 'new' linux/macOS locations might now be obsolete again.

      In recent versions of Ubuntu (22.04, 20.04, 18.04), the location is /usr/share/doc/pythonX.Y/html/

      I think the best option is to have a configurable variable for search paths, which can be set by package maintainers to ensure consistency with their python docs package.

    10. terryjreedy commented on Aug 16, 2022

      @terryjreedy
      Member

      System configuration variables are exposed in the sys module. I have no idea how things get there. But IDLE can at least look through known possibilities. The Ubuntu path is one that Ned proposed adding a decade ago, so paths may be fairly stable on each system even if diverse across them. And I can add an escape mechanism for user to add something.

    11. StanFromIreland commented on Feb 6, 2025

      @StanFromIreland
      Member

      Did you do this? The generated html could be updated a bit. At the top a link to the online docs and add inline links etc

    12. terryjreedy commented on Feb 9, 2025

      @terryjreedy
      Member

      @StanFromIreland I know nothing about such Linux paths. An updated version of Ned's bpo patch would be great. If you use any non-trivial amount of his code, end the message section with an acknowledgement line.
      Co-authored-by: Ned Deily <[nad@python.org]>
      Then request him to review.

    13. StanFromIreland commented on Feb 11, 2025

      @StanFromIreland
      Member

      @terryjreedy The current linux paths are mostly fine (/var/www/html/python/ -> rpm, /usr/share/doc/ -> dnf/apt) we do however have to check a few more directories as it can now be under python3 and not python-docs-3.

      I will wait with this till the function is moved in #129971

    14. terryjreedy commented on Sep 3, 2025

      @terryjreedy
      Member

      Move done in main and ASAP for 3.13. PR can be done now, but 3.14 backport cannot be done until move PR #138484 is merged for 3.14.1 soon after 3.14.0.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    Labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions