Skip to content

Resources slug denormalization issue #33

Closed

Description

@m-aciek

Currently we have custom code for .tx/config file regeneration. It works for majority of resources, but for some causes us putting the translations into incorrect filenames. We should switch to longer, but error-proof way of tx config regeneration.

Activity

  1. m-aciek commented on Jun 5, 2023

    @m-aciek
    CollaboratorAuthor

    Basically the recreate_tx_config command of manage_translation has some denormalization that mismatches the filenames expected by Sphinx. We need to git fetch the related branch from Python repo, generate POT files and after that run sphinx-lint instead of the code we have now (the normalization is lossy, it's not possible to denormalize names without using the source).

    Subject: [PATCH] Improve code layout and documentation of denormalizing resources names
    ---
    Index: .tx/config
    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
    ===================================================================
    diff --git a/.tx/config b/.tx/config
    --- a/.tx/config	(revision 82cfacb79fc3dcd334891e652defc5ce91c1af0d)
    +++ b/.tx/config	(date 1685990446866)
    @@ -777,7 +777,7 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--collections_abc]
    -file_filter = library/collections_abc.po
    +file_filter = library/collections.abc.po
     type = PO
     source_lang = en
     
    @@ -802,7 +802,7 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--concurrent_futures]
    -file_filter = library/concurrent_futures.po
    +file_filter = library/concurrent.futures.po
     type = PO
     source_lang = en
     
    @@ -862,12 +862,12 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--curses_ascii]
    -file_filter = library/curses_ascii.po
    +file_filter = library/curses.ascii.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--curses_panel]
    -file_filter = library/curses_panel.po
    +file_filter = library/curses.panel.po
     type = PO
     source_lang = en
     
    @@ -947,77 +947,77 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_charset]
    -file_filter = library/email_charset.po
    +file_filter = library/email.charset.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_compat32-message]
    -file_filter = library/email_compat32-message.po
    +file_filter = library/email.compat32-message.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_contentmanager]
    -file_filter = library/email_contentmanager.po
    +file_filter = library/email.contentmanager.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_encoders]
    -file_filter = library/email_encoders.po
    +file_filter = library/email.encoders.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_errors]
    -file_filter = library/email_errors.po
    +file_filter = library/email.errors.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_examples]
    -file_filter = library/email_examples.po
    +file_filter = library/email.examples.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_generator]
    -file_filter = library/email_generator.po
    +file_filter = library/email.generator.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_header]
    -file_filter = library/email_header.po
    +file_filter = library/email.header.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_headerregistry]
    -file_filter = library/email_headerregistry.po
    +file_filter = library/email.headerregistry.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_iterators]
    -file_filter = library/email_iterators.po
    +file_filter = library/email.iterators.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_message]
    -file_filter = library/email_message.po
    +file_filter = library/email.message.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_mime]
    -file_filter = library/email_mime.po
    +file_filter = library/email.mime.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_parser]
    -file_filter = library/email_parser.po
    +file_filter = library/email.parser.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_policy]
    -file_filter = library/email_policy.po
    +file_filter = library/email.policy.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--email_utils]
    -file_filter = library/email_utils.po
    +file_filter = library/email.utils.po
     type = PO
     source_lang = en
     
    @@ -1172,12 +1172,12 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--html_entities]
    -file_filter = library/html_entities.po
    +file_filter = library/html.entities.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--html_parser]
    -file_filter = library/html_parser.po
    +file_filter = library/html.parser.po
     type = PO
     source_lang = en
     
    @@ -1187,22 +1187,22 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--http_client]
    -file_filter = library/http_client.po
    +file_filter = library/http.client.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--http_cookiejar]
    -file_filter = library/http_cookiejar.po
    +file_filter = library/http.cookiejar.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--http_cookies]
    -file_filter = library/http_cookies.po
    +file_filter = library/http.cookies.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--http_server]
    -file_filter = library/http_server.po
    +file_filter = library/http.server.po
     type = PO
     source_lang = en
     
    @@ -1232,17 +1232,17 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--importlib_metadata]
    -file_filter = library/importlib_metadata.po
    +file_filter = library/importlib.metadata.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--importlib_resources]
    -file_filter = library/importlib_resources.po
    +file_filter = library/importlib.resources.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--importlib_resources_abc]
    -file_filter = library/importlib_resources_abc.po
    +file_filter = library/importlib.resources.abc.po
     type = PO
     source_lang = en
     
    @@ -1317,12 +1317,12 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--logging_config]
    -file_filter = library/logging_config.po
    +file_filter = library/logging.config.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--logging_handlers]
    -file_filter = library/logging_handlers.po
    +file_filter = library/logging.handlers.po
     type = PO
     source_lang = en
     
    @@ -1402,7 +1402,7 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--multiprocessing_shared_memory]
    -file_filter = library/multiprocessing_shared_memory.po
    +file_filter = library/multiprocessing.shared_memory.po
     type = PO
     source_lang = en
     
    @@ -1452,7 +1452,7 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--os_path]
    -file_filter = library/os_path.po
    +file_filter = library/os.path.po
     type = PO
     source_lang = en
     
    @@ -1535,16 +1535,16 @@
     file_filter = library/pwd.po
     type = PO
     source_lang = en
    -
    -[o:python-doc:p:python-newest:r:library--pyclbr]
    -file_filter = library/pyclbr.po
    -type = PO
    -source_lang = en
     
     [o:python-doc:p:python-newest:r:library--py_compile]
     file_filter = library/py_compile.po
     type = PO
     source_lang = en
    +
    +[o:python-doc:p:python-newest:r:library--pyclbr]
    +file_filter = library/pyclbr.po
    +type = PO
    +source_lang = en
     
     [o:python-doc:p:python-newest:r:library--pydoc]
     file_filter = library/pydoc.po
    @@ -1832,37 +1832,37 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_colorchooser]
    -file_filter = library/tkinter_colorchooser.po
    +file_filter = library/tkinter.colorchooser.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_dnd]
    -file_filter = library/tkinter_dnd.po
    +file_filter = library/tkinter.dnd.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_font]
    -file_filter = library/tkinter_font.po
    +file_filter = library/tkinter.font.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_messagebox]
    -file_filter = library/tkinter_messagebox.po
    +file_filter = library/tkinter.messagebox.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_scrolledtext]
    -file_filter = library/tkinter_scrolledtext.po
    +file_filter = library/tkinter.scrolledtext.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_tix]
    -file_filter = library/tkinter_tix.po
    +file_filter = library/tkinter.tix.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--tkinter_ttk]
    -file_filter = library/tkinter_ttk.po
    +file_filter = library/tkinter.ttk.po
     type = PO
     source_lang = en
     
    @@ -1927,12 +1927,12 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--unittest_mock]
    -file_filter = library/unittest_mock.po
    +file_filter = library/unittest.mock.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--unittest_mock-examples]
    -file_filter = library/unittest_mock-examples.po
    +file_filter = library/unittest.mock-examples.po
     type = PO
     source_lang = en
     
    @@ -1947,22 +1947,22 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--urllib_error]
    -file_filter = library/urllib_error.po
    +file_filter = library/urllib.error.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--urllib_parse]
    -file_filter = library/urllib_parse.po
    +file_filter = library/urllib.parse.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--urllib_request]
    -file_filter = library/urllib_request.po
    +file_filter = library/urllib.request.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--urllib_robotparser]
    -file_filter = library/urllib_robotparser.po
    +file_filter = library/urllib.robotparser.po
     type = PO
     source_lang = en
     
    @@ -2032,57 +2032,57 @@
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--xml_dom]
    -file_filter = library/xml_dom.po
    +file_filter = library/xml.dom.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--xml_dom_minidom]
    -file_filter = library/xml_dom_minidom.po
    +file_filter = library/xml.dom.minidom.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--xml_dom_pulldom]
    -file_filter = library/xml_dom_pulldom.po
    +file_filter = library/xml.dom.pulldom.po
     type = PO
     source_lang = en
     
     [o:python-doc:p:python-newest:r:library--xml_etree_elementtree]
    -file_filter = library/xml_etree_elementtree.po
    +file_filter = library/xml.etree.elementtree.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xmlrpc]
    -file_filter = library/xmlrpc.po
    +[o:python-doc:p:python-newest:r:library--xml_sax]
    +file_filter = library/xml.sax.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xmlrpc_client]
    -file_filter = library/xmlrpc_client.po
    +[o:python-doc:p:python-newest:r:library--xml_sax_handler]
    +file_filter = library/xml.sax.handler.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xmlrpc_server]
    -file_filter = library/xmlrpc_server.po
    +[o:python-doc:p:python-newest:r:library--xml_sax_reader]
    +file_filter = library/xml.sax.reader.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xml_sax]
    -file_filter = library/xml_sax.po
    +[o:python-doc:p:python-newest:r:library--xml_sax_utils]
    +file_filter = library/xml.sax.utils.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xml_sax_handler]
    -file_filter = library/xml_sax_handler.po
    +[o:python-doc:p:python-newest:r:library--xmlrpc]
    +file_filter = library/xmlrpc.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xml_sax_reader]
    -file_filter = library/xml_sax_reader.po
    +[o:python-doc:p:python-newest:r:library--xmlrpc_client]
    +file_filter = library/xmlrpc.client.po
     type = PO
     source_lang = en
     
    -[o:python-doc:p:python-newest:r:library--xml_sax_utils]
    -file_filter = library/xml_sax_utils.po
    +[o:python-doc:p:python-newest:r:library--xmlrpc_server]
    +file_filter = library/xmlrpc.server.po
     type = PO
     source_lang = en
  2. m-aciek commented on Jun 6, 2023

    @m-aciek
    CollaboratorAuthor

    Fixed by bb080f7, 67eb871 and 9837321 (plus 52b8aca and preparation step c6c55ac).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions