From 5182be8da8a34f67a7a3f2808d6b57960bb47416 Mon Sep 17 00:00:00 2001 From: rockleona Date: Tue, 14 Nov 2023 22:41:57 +0800 Subject: [PATCH 01/10] PoC Complete --- .../dist/mark_file_20231114_223945.md | 1 + .scripts/mark_file/main.py | 113 ++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 .scripts/mark_file/dist/mark_file_20231114_223945.md create mode 100644 .scripts/mark_file/main.py diff --git a/.scripts/mark_file/dist/mark_file_20231114_223945.md b/.scripts/mark_file/dist/mark_file_20231114_223945.md new file mode 100644 index 0000000000..752ce24a57 --- /dev/null +++ b/.scripts/mark_file/dist/mark_file_20231114_223945.md @@ -0,0 +1 @@ +- c-api/ - objbuffer.po------------------------✅ - file.po-----------------------------✅ - apiabiversion.po--------------------✅ - iterator.po-------------------------Ongoing, 25.0 % - buffer.po---------------------------Ongoing, 14.91 % - frame.po----------------------------❌ - typeobj.po--------------------------Ongoing, 42.35 % - method.po---------------------------✅ - allocation.po-----------------------✅ - veryhigh.po-------------------------Ongoing, 3.51 % - exceptions.po-----------------------Ongoing, 59.78 % - stable.po---------------------------Ongoing, 83.72 % - module.po---------------------------Ongoing, 12.07 % - dict.po-----------------------------Ongoing, 22.92 % - structures.po-----------------------Ongoing, 30.86 % - arg.po------------------------------Ongoing, 47.59 % - call.po-----------------------------Ongoing, 98.96 % - long.po-----------------------------Ongoing, 13.85 % - codec.po----------------------------✅ - bytes.po----------------------------Ongoing, 51.61 % - init.po-----------------------------Ongoing, 25.42 % - utilities.po------------------------✅ - mapping.po--------------------------Ongoing, 11.11 % - typehints.po------------------------✅ - set.po------------------------------Ongoing, 17.86 % - datetime.po-------------------------Ongoing, 82.69 % - gcsupport.po------------------------Ongoing, 2.0 % - complex.po--------------------------✅ - sys.po------------------------------Ongoing, 10.53 % - intro.po----------------------------Ongoing, 98.43 % - function.po-------------------------Ongoing, 67.65 % - descriptor.po-----------------------✅ - abstract.po-------------------------✅ - iter.po-----------------------------✅ - import.po---------------------------Ongoing, 21.82 % - marshal.po--------------------------❌ - tuple.po----------------------------Ongoing, 7.5 % - init_config.po----------------------Ongoing, 12.87 % - none.po-----------------------------Ongoing, 57.14 % - capsule.po--------------------------Ongoing, 6.25 % - refcounting.po----------------------✅ - list.po-----------------------------✅ - coro.po-----------------------------✅ - objimpl.po--------------------------❌ - slice.po----------------------------Ongoing, 9.52 % - gen.po------------------------------✅ - bytearray.po------------------------✅ - index.po----------------------------✅ - weakref.po--------------------------Ongoing, 8.33 % - unicode.po--------------------------Ongoing, 13.8 % - object.po---------------------------Ongoing, 12.0 % - memory.po---------------------------Ongoing, 25.65 % - float.po----------------------------Ongoing, 8.57 % - bool.po-----------------------------Ongoing, 90.91 % - concrete.po-------------------------✅ - sequence.po-------------------------Ongoing, 10.0 % - reflection.po-----------------------Ongoing, 12.5 % - cell.po-----------------------------✅ - number.po---------------------------Ongoing, 12.5 % - perfmaps.po-------------------------❌ - conversion.po-----------------------Ongoing, 11.54 % - memoryview.po-----------------------Ongoing, 27.27 % - code.po-----------------------------Ongoing, 19.3 % - type.po-----------------------------Ongoing, 7.07 % - contextvars.po----------------------Ongoing, 6.67 % - distributing/ - index.po----------------------------✅ - extending/ - windows.po--------------------------❌ - extending.po------------------------Ongoing, 5.56 % - newtypes.po-------------------------Ongoing, 12.36 % - newtypes_tutorial.po----------------Ongoing, 0.82 % - index.po----------------------------✅ - embedding.po------------------------Ongoing, 4.44 % - building.po-------------------------Ongoing, 22.22 % - faq/ - windows.po--------------------------✅ - installed.po------------------------✅ - gui.po------------------------------✅ - extending.po------------------------✅ - general.po--------------------------✅ - library.po--------------------------✅ - index.po----------------------------✅ - programming.po----------------------Ongoing, 98.72 % - design.po---------------------------✅ - howto/ - functional.po-----------------------Ongoing, 7.25 % - cporting.po-------------------------Ongoing, 20.0 % - argparse.po-------------------------Ongoing, 57.61 %, 💻 sweslo17 - sockets.po--------------------------Ongoing, 98.28 % - enum.po-----------------------------❌ - annotations.po----------------------✅ - regex.po----------------------------Ongoing, 20.91 % - isolating-extensions.po-------------❌ - logging-cookbook.po-----------------Ongoing, 1.63 % - descriptor.po-----------------------Ongoing, 10.17 % - logging.po--------------------------Ongoing, 11.06 % - pyporting.po------------------------Ongoing, 13.83 % - curses.po---------------------------Ongoing, 17.14 % - urllib2.po--------------------------Ongoing, 16.67 % - ipaddress.po------------------------Ongoing, 10.42 % - instrumentation.po------------------✅ - index.po----------------------------✅ - unicode.po--------------------------Ongoing, 3.31 % - perf_profiling.po-------------------❌, 💻 mattwang44 - sorting.po--------------------------✅ - clinic.po---------------------------✅ - includes/ - wasm-notavail.po--------------------❌ - installing/ - index.po----------------------------✅ - library/ - symtable.po-------------------------✅ - quopri.po---------------------------✅ - winreg.po---------------------------Ongoing, 14.45 % - glob.po-----------------------------✅ - turtle.po---------------------------Ongoing, 21.25 % - threading.po------------------------Ongoing, 4.07 %, 💻 SivanYeh - platform.po-------------------------Ongoing, 94.92 % - pwd.po------------------------------✅ - zlib.po-----------------------------✅ - poplib.po---------------------------Ongoing, 20.75 % - concurrent.futures.po---------------Ongoing, 97.89 % - multiprocessing.shared_memory.po----Ongoing, 10.0 %, 💻 mattwang44 - calendar.po-------------------------Ongoing, 74.74 % - inspect.po--------------------------Ongoing, 17.63 % - pprint.po---------------------------Ongoing, 21.28 % - email.errors.po---------------------Ongoing, 4.17 % - urllib.request.po-------------------Ongoing, 29.43 % - telnetlib.po------------------------Ongoing, 17.65 % - crypto.po---------------------------✅ - xml.sax.utils.po--------------------Ongoing, 14.29 % - datatypes.po------------------------✅ - functional.po-----------------------Ongoing, 66.67 % - pickletools.po----------------------Ongoing, 23.53 %, 💻 mattwang44 - pipes.po----------------------------Ongoing, 25.0 % - site.po-----------------------------Ongoing, 31.48 % - plistlib.po-------------------------Ongoing, 11.63 % - importlib.po------------------------Ongoing, 13.44 % - unicodedata.po----------------------Ongoing, 21.88 % - secrets.po--------------------------✅ - tkinter.font.po---------------------Ongoing, 8.57 % - reprlib.po--------------------------Ongoing, 12.9 % - devmode.po--------------------------Ongoing, 10.2 % - fileformats.po----------------------Ongoing, 50.0 % - faulthandler.po---------------------Ongoing, 2.38 % - collections.po----------------------✅ - asyncio-exceptions.po---------------✅ - configparser.po---------------------Ongoing, 9.34 % - tk.po-------------------------------✅ - keyword.po--------------------------✅ - audit_events.po---------------------✅ - stat.po-----------------------------Ongoing, 2.47 % - py_compile.po-----------------------Ongoing, 26.67 % - email.po----------------------------Ongoing, 24.0 % - debug.po----------------------------✅ - email.contentmanager.po-------------Ongoing, 7.32 % - shlex.po----------------------------Ongoing, 5.41 % - msvcrt.po---------------------------Ongoing, 10.71 % - asyncio-stream.po-------------------Ongoing, 89.66 % - xmlrpc.client.po--------------------Ongoing, 23.0 % - language.po-------------------------❌ - numeric.po--------------------------Ongoing, 33.33 % - spwd.po-----------------------------Ongoing, 52.17 % - fractions.po------------------------Ongoing, 6.67 % - syslog.po---------------------------Ongoing, 29.03 % - sched.po----------------------------Ongoing, 20.83 % - text.po-----------------------------✅ - http.client.po----------------------Ongoing, 14.55 % - html.entities.po--------------------✅ - security_warnings.po----------------✅ - compileall.po-----------------------Ongoing, 13.56 % - http.po-----------------------------Ongoing, 98.35 % - csv.po------------------------------✅ - locale.po---------------------------Ongoing, 18.24 % - ast.po------------------------------Ongoing, 2.98 %, 💻 mattwang44 - html.parser.po----------------------✅ - mm.po-------------------------------✅ - mailbox.po--------------------------Ongoing, 8.87 % - tkinter.messagebox.po---------------Ongoing, 21.43 % - asyncio-policy.po-------------------Ongoing, 1.49 % - importlib.resources.po--------------Ongoing, 5.0 % - 2to3.po-----------------------------Ongoing, 32.23 % - asyncio-protocol.po-----------------Ongoing, 3.26 % - imaplib.po--------------------------Ongoing, 12.5 % - xml.dom.pulldom.po------------------Ongoing, 40.74 % - python.po---------------------------❌ - exceptions.po-----------------------Ongoing, 8.47 % - audioop.po--------------------------Ongoing, 12.0 % - pickle.po---------------------------Ongoing, 13.72 % - pty.po------------------------------Ongoing, 21.05 % - i18n.po-----------------------------Ongoing, 33.33 % - getpass.po--------------------------Ongoing, 91.67 % - logging.config.po-------------------Ongoing, 7.28 % - doctest.po--------------------------Ongoing, 6.01 % - argparse.po-------------------------Ongoing, 12.13 % - frameworks.po-----------------------Ongoing, 33.33 % - dataclasses.po----------------------Ongoing, 75.0 % - mmap.po-----------------------------Ongoing, 12.5 % - shelve.po---------------------------Ongoing, 24.32 % - curses.ascii.po---------------------Ongoing, 7.25 % - modules.po--------------------------Ongoing, 33.33 % - math.po-----------------------------Ongoing, 4.76 % - windows.po--------------------------✅ - statistics.po-----------------------Ongoing, 99.48 % - email.mime.po-----------------------Ongoing, 26.32 % - ensurepip.po------------------------Ongoing, 97.3 % - sunau.po----------------------------✅ - __future__.po-----------------------✅ - posix.po----------------------------✅ - xml.sax.reader.po-------------------Ongoing, 8.0 % - contextlib.po-----------------------Ongoing, 5.34 % - enum.po-----------------------------✅ - netdata.po--------------------------✅ - asyncio-sync.po---------------------Ongoing, 83.15 % - getopt.po---------------------------Ongoing, 10.53 % - select.po---------------------------Ongoing, 33.33 % - smtplib.po--------------------------Ongoing, 17.7 % - asyncio-runner.po-------------------Ongoing, 17.14 % - email.parser.po---------------------Ongoing, 4.26 % - string.po---------------------------Ongoing, 35.35 % - asyncio-extending.po----------------❌ - tarfile.po--------------------------Ongoing, 11.49 % - typing.po---------------------------Ongoing, 30.0 %, 💻 rockleona - stringprep.po-----------------------Ongoing, 4.0 % - graphlib.po-------------------------✅ - hmac.po-----------------------------✅ - msilib.po---------------------------Ongoing, 5.15 % - sqlite3.po--------------------------Ongoing, 15.79 % - http.cookiejar.po-------------------Ongoing, 7.79 % - timeit.po---------------------------✅ - pathlib.po--------------------------Ongoing, 48.19 %, 💻 mindihx - xml.sax.po--------------------------Ongoing, 18.75 % - sysconfig.po------------------------Ongoing, 40.44 % - _thread.po--------------------------Ongoing, 9.62 % - urllib.parse.po---------------------Ongoing, 18.12 % - array.po----------------------------✅ - ssl.po------------------------------Ongoing, 15.16 %, 💻 timmy0123 - termios.po--------------------------Ongoing, 25.0 % - asyncio-task.po---------------------Ongoing, 7.17 % - tkinter.po--------------------------Ongoing, 24.35 % - fcntl.po----------------------------Ongoing, 22.22 % - datetime.po-------------------------Ongoing, 29.81 % - socket.po---------------------------Ongoing, 22.4 %, 💻 weijay0804 - http.server.po----------------------Ongoing, 11.43 % - email.examples.po-------------------Ongoing, 8.33 % - json.po-----------------------------Ongoing, 25.34 % - tokenize.po-------------------------Ongoing, 11.63 % - sys_path_init.po--------------------❌ - xmlrpc.server.po--------------------Ongoing, 18.37 %, 💻 paultsaich - re.po-------------------------------Ongoing, 35.07 %, 💻 ascodeasice - email.charset.po--------------------Ongoing, 13.64 %, 💻 isabellechiu - __main__.po-------------------------Ongoing, 3.7 % - multiprocessing.po------------------Ongoing, 4.49 % - uuid.po-----------------------------✅, 💻 933yee - tkinter.tix.po----------------------Ongoing, 11.11 % - sys.po------------------------------Ongoing, 28.54 % - intro.po----------------------------Ongoing, 60.0 % - aifc.po-----------------------------Ongoing, 22.22 % - struct.po---------------------------Ongoing, 45.56 %, 💻 Cliying94 - mailcap.po--------------------------Ongoing, 6.67 % - ctypes.po---------------------------Ongoing, 14.35 % - runpy.po----------------------------Ongoing, 7.5 % - urllib.po---------------------------✅ - itertools.po------------------------Ongoing, 45.73 % - abc.po------------------------------✅ - os.path.po--------------------------✅ - grp.po------------------------------Ongoing, 41.38 % - asyncio-api-index.po----------------Ongoing, 97.0 % - email.utils.po----------------------Ongoing, 12.9 % - functions.po------------------------Ongoing, 67.25 %, 💻 StevenHsuYL - crypt.po----------------------------Ongoing, 34.29 % - pkgutil.po--------------------------Ongoing, 10.64 % - tempfile.po-------------------------✅ - queue.po----------------------------✅ - urllib.robotparser.po---------------✅ - superseded.po-----------------------✅ - zipfile.po--------------------------Ongoing, 9.9 % - shutil.po---------------------------Ongoing, 15.12 % - sndhdr.po---------------------------Ongoing, 67.57 % - copyreg.po--------------------------Ongoing, 41.67 % - errno.po----------------------------Ongoing, 0.75 % - logging.po--------------------------Ongoing, 20.69 % - binascii.po-------------------------Ongoing, 25.0 % - logging.handlers.po-----------------Ongoing, 33.46 % - time.po-----------------------------Ongoing, 32.55 % - filesys.po--------------------------✅ - lzma.po-----------------------------Ongoing, 11.21 % - readline.po-------------------------Ongoing, 2.08 % - dbm.po------------------------------Ongoing, 18.18 % - idle.po-----------------------------Ongoing, 6.92 % - archiving.po------------------------✅ - marshal.po--------------------------✅ - curses.po---------------------------Ongoing, 11.57 % - webbrowser.po-----------------------Ongoing, 55.84 %, 💻 griiid - asyncio-platforms.po----------------✅ - nntplib.po--------------------------Ongoing, 13.48 % - trace.po----------------------------Ongoing, 5.13 % - unittest.po-------------------------Ongoing, 27.78 % - ipaddress.po------------------------Ongoing, 1.35 % - asyncio-future.po-------------------✅ - gzip.po-----------------------------Ongoing, 31.15 % - binary.po---------------------------✅ - rlcompleter.po----------------------Ongoing, 16.67 % - zipapp.po---------------------------Ongoing, 8.82 % - bdb.po------------------------------Ongoing, 1.83 % - concurrent.po-----------------------✅ - importlib.metadata.po---------------Ongoing, 1.59 % - dis.po------------------------------Ongoing, 8.54 % - importlib.resources.abc.po----------Ongoing, 3.33 % - bz2.po------------------------------Ongoing, 4.17 % - xml.sax.handler.po------------------Ongoing, 5.83 % - zipimport.po------------------------Ongoing, 8.33 % - token.po----------------------------Ongoing, 1.52 % - unix.po-----------------------------✅ - textwrap.po-------------------------Ongoing, 8.33 % - base64.po---------------------------Ongoing, 15.0 %, 💻 Yang92047111 - xml.etree.elementtree.po------------Ongoing, 16.02 % - internet.po-------------------------✅ - tty.po------------------------------Ongoing, 72.73 % - tabnanny.po-------------------------✅ - email.message.po--------------------Ongoing, 2.91 % - cmd.po------------------------------Ongoing, 10.87 % - persistence.po----------------------❌ - email.encoders.po-------------------Ongoing, 13.33 % - cgitb.po----------------------------Ongoing, 50.0 % - email.policy.po---------------------Ongoing, 8.91 % - signal.po---------------------------Ongoing, 17.65 % - unittest.mock.po--------------------Ongoing, 35.66 %, 💻 ken71301 - tomllib.po--------------------------✅ - wsgiref.po--------------------------✅ - gc.po-------------------------------Ongoing, 98.25 % - index.po----------------------------✅ - gettext.po--------------------------Ongoing, 16.38 % - pyclbr.po---------------------------Ongoing, 8.0 % - netrc.po----------------------------✅ - functools.po------------------------Ongoing, 7.78 % - heapq.po----------------------------✅ - weakref.po--------------------------Ongoing, 4.71 % - ossaudiodev.po----------------------Ongoing, 20.41 % - cmath.po----------------------------Ongoing, 5.36 % - bisect.po---------------------------✅ - collections.abc.po------------------Ongoing, 54.47 % - urllib.error.po---------------------✅ - dialog.po---------------------------Ongoing, 7.02 % - wave.po-----------------------------Ongoing, 9.43 % - cgi.po------------------------------Ongoing, 17.43 % - email.compat32-message.po-----------Ongoing, 2.88 % - tracemalloc.po----------------------Ongoing, 15.97 % - hashlib.po--------------------------Ongoing, 18.52 %, 💻 mattwang44 - builtins.po-------------------------✅ - ipc.po------------------------------❌ - asyncio-dev.po----------------------✅ - zoneinfo.po-------------------------Ongoing, 6.67 % - winsound.po-------------------------Ongoing, 29.41 % - tkinter.ttk.po----------------------Ongoing, 3.18 % - xmlrpc.po---------------------------✅ - modulefinder.po---------------------Ongoing, 7.69 % - tkinter.scrolledtext.po-------------Ongoing, 14.29 % - traceback.po------------------------Ongoing, 12.22 % - asyncio-eventloop.po----------------Ongoing, 6.6 %, 💻 xchux - fnmatch.po--------------------------Ongoing, 51.43 % - email.iterators.po------------------Ongoing, 9.09 % - asyncio-queue.po--------------------✅ - codeop.po---------------------------Ongoing, 7.14 % - xml.dom.po--------------------------Ongoing, 29.91 % - asyncio.po--------------------------✅ - stdtypes.po-------------------------Ongoing, 33.55 % - filecmp.po--------------------------Ongoing, 2.5 % - curses.panel.po---------------------Ongoing, 4.35 % - profile.po--------------------------Ongoing, 23.57 % - imghdr.po---------------------------Ongoing, 53.66 % - subprocess.po-----------------------Ongoing, 14.83 % - asyncio-llapi-index.po--------------✅ - warnings.po-------------------------Ongoing, 20.0 % - cmdline.po--------------------------✅ - pyexpat.po--------------------------Ongoing, 5.93 % - concurrency.po----------------------✅ - tkinter.colorchooser.po-------------Ongoing, 33.33 % - io.po-------------------------------Ongoing, 25.19 %, 💻 cschan1828 - nis.po------------------------------Ongoing, 20.0 % - constants.po------------------------✅ - uu.po-------------------------------Ongoing, 46.67 % - codecs.po---------------------------Ongoing, 49.53 % - html.po-----------------------------✅ - email.headerregistry.po-------------Ongoing, 34.95 % - xml.po------------------------------✅ - resource.po-------------------------Ongoing, 36.52 % - difflib.po--------------------------Ongoing, 12.69 % - pydoc.po----------------------------Ongoing, 30.43 % - os.po-------------------------------Ongoing, 18.2 % - fileinput.po------------------------Ongoing, 4.65 % - code.po-----------------------------Ongoing, 6.45 % - operator.po-------------------------Ongoing, 98.89 % - undoc.po----------------------------Ongoing, 22.22 % - allos.po----------------------------✅ - socketserver.po---------------------Ongoing, 5.75 % - decimal.po--------------------------Ongoing, 2.37 %, 💻 0gien - copy.po-----------------------------✅ - sys.monitoring.po-------------------❌, 💻 mattwang44 - custominterp.po---------------------❌ - atexit.po---------------------------Ongoing, 10.53 % - selectors.po------------------------Ongoing, 8.93 % - venv.po-----------------------------Ongoing, 60.18 % - email.generator.po------------------Ongoing, 7.32 % - tkinter.dnd.po----------------------Ongoing, 10.0 % - colorsys.po-------------------------✅ - numbers.po--------------------------✅ - test.po-----------------------------Ongoing, 5.02 % - xml.dom.minidom.po------------------Ongoing, 13.73 % - asyncio-subprocess.po---------------Ongoing, 9.09 % - xdrlib.po---------------------------Ongoing, 10.71 % - mimetypes.po------------------------Ongoing, 18.0 % - linecache.po------------------------Ongoing, 35.71 % - development.po----------------------Ongoing, 33.33 % - types.po----------------------------Ongoing, 5.77 % - unittest.mock-examples.po-----------❌, 💻 ken71301 - pdb.po------------------------------Ongoing, 9.92 %, 💻 mattwang44 - distribution.po---------------------Ongoing, 50.0 % - optparse.po-------------------------Ongoing, 8.65 % - random.po---------------------------Ongoing, 89.42 % - ftplib.po---------------------------Ongoing, 98.55 % - chunk.po----------------------------Ongoing, 43.59 % - contextvars.po----------------------Ongoing, 4.35 % - email.header.po---------------------Ongoing, 7.89 % - http.cookies.po---------------------Ongoing, 26.79 % - markup.po---------------------------❌ - reference/ - executionmodel.po-------------------Ongoing, 31.63 % - introduction.po---------------------Ongoing, 35.48 % - lexical_analysis.po-----------------Ongoing, 46.73 % - toplevel_components.po--------------✅ - import.po---------------------------Ongoing, 13.68 % - simple_stmts.po---------------------Ongoing, 37.18 % - index.po----------------------------✅ - expressions.po----------------------Ongoing, 36.54 % - compound_stmts.po-------------------Ongoing, 26.19 % - datamodel.po------------------------Ongoing, 34.96 % - grammar.po--------------------------Ongoing, 33.33 % - tutorial/ - interpreter.po----------------------✅ - inputoutput.po----------------------✅ - interactive.po----------------------✅ - stdlib2.po--------------------------✅ - modules.po--------------------------✅ - errors.po---------------------------✅ - introduction.po---------------------✅, 💻 avatar220928 - stdlib.po---------------------------✅ - classes.po--------------------------✅ - datastructures.po-------------------✅ - appetite.po-------------------------✅ - controlflow.po----------------------✅ - whatnow.po--------------------------✅ - index.po----------------------------✅ - appendix.po-------------------------✅ - venv.po-----------------------------✅ - floatingpoint.po--------------------✅ - using/ - windows.po--------------------------Ongoing, 26.48 % - mac.po------------------------------✅ - unix.po-----------------------------✅ - configure.po------------------------Ongoing, 35.11 % - editors.po--------------------------Ongoing, 33.33 % - index.po----------------------------✅ - cmdline.po--------------------------Ongoing, 18.35 % - whatsnew/ - 2.4.po------------------------------Ongoing, 6.34 % - 3.5.po------------------------------Ongoing, 23.29 % - changelog.po------------------------✅ - 2.0.po------------------------------Ongoing, 6.59 % - 3.1.po------------------------------Ongoing, 35.71 % - 2.1.po------------------------------Ongoing, 12.23 % - 3.0.po------------------------------Ongoing, 17.56 % - 2.5.po------------------------------Ongoing, 12.63 % - 3.4.po------------------------------Ongoing, 20.35 % - 3.11.po-----------------------------Ongoing, 94.79 % - 3.10.po-----------------------------✅ - 3.9.po------------------------------Ongoing, 24.52 % - 3.12.po-----------------------------Ongoing, 43.82 %, 💻 mattwang44 - index.po----------------------------✅ - 3.8.po------------------------------Ongoing, 29.58 % - 2.2.po------------------------------Ongoing, 2.62 % - 3.3.po------------------------------Ongoing, 47.13 % - 2.6.po------------------------------Ongoing, 8.32 % - 3.7.po------------------------------Ongoing, 19.82 % - 2.7.po------------------------------Ongoing, 4.64 % - 3.6.po------------------------------Ongoing, 18.38 % - 2.3.po------------------------------Ongoing, 4.91 % - 3.2.po------------------------------Ongoing, 24.32 % \ No newline at end of file diff --git a/.scripts/mark_file/main.py b/.scripts/mark_file/main.py new file mode 100644 index 0000000000..ab3dfe15d2 --- /dev/null +++ b/.scripts/mark_file/main.py @@ -0,0 +1,113 @@ +import polib +import os +import datetime +import argparse +import requests + + +def entry_check(pofile): + lines_tranlated = len(pofile.translated_entries()) + lines_untranlated = len(pofile.untranslated_entries()) + + if lines_tranlated == 0: + result = "❌" + elif lines_untranlated == 0: + result = "✅" + else: + lines_all = lines_tranlated + lines_untranlated + progress = lines_tranlated / lines_all + progress = round(progress*100, 2) + result = f"Ongoing, {str(progress)} %" + + return result + + +def get_github_issue(): + NUMBER_OF_ISSUES = 100 + + url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={ + NUMBER_OF_ISSUES}" + headers = { + "Accept": "application/vnd.github+json", + "X-GitHub-Api-Version": "2022-11-28" + } + r = requests.get(url=url, headers=headers) + result = r.json() + + result_list = [] + for issue in result: + title = issue['title'].split(" ") + + if len(title) < 2: + continue + if title[0] != "翻譯" and title[0].lower() != "translate": + continue + if issue["assignee"] is None: + continue + + filename = title[1] + if filename[0] == "`": + filename = filename[1:] + if filename[-1] == "`": + filename = filename[:-1] + + filename = filename.split("/") + if len(filename) < 2: + continue + if filename[1][-3:] != ".po": + filename[1] += ".po" + + result_list.append([filename, issue["assignee"]["login"]]) + + return result_list + + +def format_line_file(filename, result): + tmp = f" - {filename}" + tmp = f"{tmp}{"-" * (40-len(tmp))}{result}\r" + return tmp + + +def format_line_directory(dirname): + tmp = f"- {dirname}/\r" + return tmp + + +if __name__ == "__main__": + + issue_list = get_github_issue() + + directories = ["c-api", "distributing", "extending", "faq", "howto", "includes", + "installing", "library", "reference", "tutorial", "using", "whatsnew"] + + summary = {} + + for dir_name in directories: + summary[dir_name] = {} + for root, dirs, files in os.walk(f"../{dir_name}"): + for file in files: + if file.endswith(".po"): + filepath = os.path.join(root, file) + po = polib.pofile(filepath) + result = entry_check(po) + summary[dir_name][file] = result + + for issue in issue_list: + title = issue[0] + assignee = issue[1] + + try: + summary[title[0]][title[1]] += f", 💻 {assignee}" + except KeyError: + pass + + writeliner = [] + for dirname, filedict in summary.items(): + writeliner.append(format_line_directory(dirname)) + for filename, result in filedict.items(): + writeliner.append(format_line_file(filename, result)) + + file = open( + f"mark_file/dist/mark_file_{datetime.datetime.today().strftime("%Y%m%d_%H%M%S")}.md", "w") + file.writelines(writeliner) + file.close() From ed117aaf25b3b66773616f96046bf604c0d94d88 Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 15 Nov 2023 18:16:11 +0800 Subject: [PATCH 02/10] Update f-String Error and Add Shell Script --- .scripts/mark_file.sh | 13 ++++ .scripts/mark_file/main.py | 8 +-- .scripts/poetry.lock | 142 ++++++++++++++++++++++++++++++++++++- .scripts/pyproject.toml | 2 +- 4 files changed, 157 insertions(+), 8 deletions(-) create mode 100755 .scripts/mark_file.sh diff --git a/.scripts/mark_file.sh b/.scripts/mark_file.sh new file mode 100755 index 0000000000..198ae48683 --- /dev/null +++ b/.scripts/mark_file.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +WORK_DIR=.scripts +cd $WORK_DIR + +source utils/install_poetry.sh + +poetry lock +poetry install +poetry run bash -c " + python mark_file/main.py + +" diff --git a/.scripts/mark_file/main.py b/.scripts/mark_file/main.py index ab3dfe15d2..6dee70d095 100644 --- a/.scripts/mark_file/main.py +++ b/.scripts/mark_file/main.py @@ -1,7 +1,6 @@ import polib import os import datetime -import argparse import requests @@ -25,8 +24,7 @@ def entry_check(pofile): def get_github_issue(): NUMBER_OF_ISSUES = 100 - url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={ - NUMBER_OF_ISSUES}" + url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={NUMBER_OF_ISSUES}" headers = { "Accept": "application/vnd.github+json", "X-GitHub-Api-Version": "2022-11-28" @@ -64,7 +62,7 @@ def get_github_issue(): def format_line_file(filename, result): tmp = f" - {filename}" - tmp = f"{tmp}{"-" * (40-len(tmp))}{result}\r" + tmp = f"{tmp}{'-' * (40-len(tmp))}{result}\r" return tmp @@ -108,6 +106,6 @@ def format_line_directory(dirname): writeliner.append(format_line_file(filename, result)) file = open( - f"mark_file/dist/mark_file_{datetime.datetime.today().strftime("%Y%m%d_%H%M%S")}.md", "w") + f"mark_file/dist/mark_file_{datetime.datetime.today().strftime('%Y%m%d_%H%M%S')}.md", "w") file.writelines(writeliner) file.close() diff --git a/.scripts/poetry.lock b/.scripts/poetry.lock index 7fa4a914bc..51aa16cda8 100644 --- a/.scripts/poetry.lock +++ b/.scripts/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand. [[package]] name = "certifi" @@ -22,6 +22,105 @@ files = [ {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, ] +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + [[package]] name = "googletrans" version = "3.1.0a0" @@ -151,6 +250,8 @@ files = [ {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, + {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, @@ -257,6 +358,27 @@ files = [ {file = "polib-1.1.1.tar.gz", hash = "sha256:e02c355ae5e054912e3b0d16febc56510eff7e49d60bf22aecb463bd2f2a2dfa"}, ] +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + [[package]] name = "rfc3986" version = "1.5.0" @@ -312,7 +434,23 @@ tmserver = ["cheroot (==9.0.0)"] trados = ["BeautifulSoup4 (>=4.3)"] yaml = ["ruamel.yaml (==0.17.21)"] +[[package]] +name = "urllib3" +version = "2.1.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "3e5dc631f7647aaa206c3b276ca58abd9162711ce9d618ad7be743d4f7b4c52c" +content-hash = "4c36095f6eed9772d24fda2b7fd4491f9c72ce40992ed2b39f5151d2ee5754bc" diff --git a/.scripts/pyproject.toml b/.scripts/pyproject.toml index cdb505ad0e..a0d8506526 100644 --- a/.scripts/pyproject.toml +++ b/.scripts/pyproject.toml @@ -10,7 +10,7 @@ python = "^3.10" polib = "1.1.1" googletrans = "3.1.0a0" translate-toolkit = "3.8.1" - +requests="2.31.0" [build-system] requires = ["poetry-core"] From 358a00bfcd09773377504c52411535cc2466517d Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 15 Nov 2023 18:41:04 +0800 Subject: [PATCH 03/10] Add Workfile File --- .github/workflows/mark_file.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/mark_file.yml diff --git a/.github/workflows/mark_file.yml b/.github/workflows/mark_file.yml new file mode 100644 index 0000000000..59eca9deaa --- /dev/null +++ b/.github/workflows/mark_file.yml @@ -0,0 +1,28 @@ +name: mark_file + +on: + schedule: + - cron: '30 23 * * 5' + +jobs: + ci: + runs-on: ubuntu-latest + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + steps: + - uses: actions/checkout@v2 + + - name: Install poetry + uses: abatilo/actions-poetry@v2 + + - name: Execute Check Process + run: | + chmod +x .scripts/mark_file.sh + .scripts/mark_file.sh + shell: bash + + - uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: Weekly Update -- Marking files \ No newline at end of file From 212c2d79f0cab547c66dfed5c2ef75b9d8e49437 Mon Sep 17 00:00:00 2001 From: rockleona Date: Tue, 28 Nov 2023 22:37:43 +0800 Subject: [PATCH 04/10] Fix with Reviewer's Suggestion --- .../{mark_file.sh => summarize_progress.sh} | 3 +- .../dist/mark_file_20231114_223945.md | 0 .../{mark_file => summarize_progress}/main.py | 60 ++++++++++--------- 3 files changed, 33 insertions(+), 30 deletions(-) rename .scripts/{mark_file.sh => summarize_progress.sh} (76%) rename .scripts/{mark_file => summarize_progress}/dist/mark_file_20231114_223945.md (100%) rename .scripts/{mark_file => summarize_progress}/main.py (64%) diff --git a/.scripts/mark_file.sh b/.scripts/summarize_progress.sh similarity index 76% rename from .scripts/mark_file.sh rename to .scripts/summarize_progress.sh index 198ae48683..b715de1f32 100755 --- a/.scripts/mark_file.sh +++ b/.scripts/summarize_progress.sh @@ -8,6 +8,5 @@ source utils/install_poetry.sh poetry lock poetry install poetry run bash -c " - python mark_file/main.py - + python summarize_progress/main.py " diff --git a/.scripts/mark_file/dist/mark_file_20231114_223945.md b/.scripts/summarize_progress/dist/mark_file_20231114_223945.md similarity index 100% rename from .scripts/mark_file/dist/mark_file_20231114_223945.md rename to .scripts/summarize_progress/dist/mark_file_20231114_223945.md diff --git a/.scripts/mark_file/main.py b/.scripts/summarize_progress/main.py similarity index 64% rename from .scripts/mark_file/main.py rename to .scripts/summarize_progress/main.py index 6dee70d095..fe5cd2b232 100644 --- a/.scripts/mark_file/main.py +++ b/.scripts/summarize_progress/main.py @@ -15,7 +15,7 @@ def entry_check(pofile): else: lines_all = lines_tranlated + lines_untranlated progress = lines_tranlated / lines_all - progress = round(progress*100, 2) + progress = round(progress * 100, 2) result = f"Ongoing, {str(progress)} %" return result @@ -27,14 +27,14 @@ def get_github_issue(): url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={NUMBER_OF_ISSUES}" headers = { "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28" + "X-GitHub-Api-Version": "2022-11-28", } r = requests.get(url=url, headers=headers) result = r.json() result_list = [] for issue in result: - title = issue['title'].split(" ") + title_segments = issue["title"].split() if len(title) < 2: continue @@ -43,17 +43,13 @@ def get_github_issue(): if issue["assignee"] is None: continue - filename = title[1] - if filename[0] == "`": - filename = filename[1:] - if filename[-1] == "`": - filename = filename[:-1] + filename = title[1].strip("`") - filename = filename.split("/") - if len(filename) < 2: + filename_segments = filename.split("/") + if len(filename_segments) < 2: continue - if filename[1][-3:] != ".po": - filename[1] += ".po" + if filename_segments[1][-3:] != ".po": + filename_segments[1] += ".po" result_list.append([filename, issue["assignee"]["login"]]) @@ -61,9 +57,7 @@ def get_github_issue(): def format_line_file(filename, result): - tmp = f" - {filename}" - tmp = f"{tmp}{'-' * (40-len(tmp))}{result}\r" - return tmp + return f" - {filename.ljust(37, '-')}{result}\r\n" def format_line_directory(dirname): @@ -72,17 +66,28 @@ def format_line_directory(dirname): if __name__ == "__main__": - issue_list = get_github_issue() - directories = ["c-api", "distributing", "extending", "faq", "howto", "includes", - "installing", "library", "reference", "tutorial", "using", "whatsnew"] + directories = [ + "c-api", + "distributing", + "extending", + "faq", + "howto", + "includes", + "installing", + "library", + "reference", + "tutorial", + "using", + "whatsnew", + ] summary = {} for dir_name in directories: summary[dir_name] = {} - for root, dirs, files in os.walk(f"../{dir_name}"): + for root, _, files in os.walk(f"../{dir_name}"): for file in files: if file.endswith(".po"): filepath = os.path.join(root, file) @@ -90,12 +95,9 @@ def format_line_directory(dirname): result = entry_check(po) summary[dir_name][file] = result - for issue in issue_list: - title = issue[0] - assignee = issue[1] - + for (category, filename), assignee in issue_list: try: - summary[title[0]][title[1]] += f", 💻 {assignee}" + summary[category][filename] += f", 💻 {assignee}" except KeyError: pass @@ -105,7 +107,9 @@ def format_line_directory(dirname): for filename, result in filedict.items(): writeliner.append(format_line_file(filename, result)) - file = open( - f"mark_file/dist/mark_file_{datetime.datetime.today().strftime('%Y%m%d_%H%M%S')}.md", "w") - file.writelines(writeliner) - file.close() + timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") + with open( + f"summarize_progress/dist/summarize_progress_{timestamp}.md", + "w", + ) as file: + file.writelines(writeliner) From 862fb871e6bc0e929c0d3ba2270f4b9f1d64ebf4 Mon Sep 17 00:00:00 2001 From: rockleona Date: Tue, 28 Nov 2023 22:39:45 +0800 Subject: [PATCH 05/10] Fix GitHub Action Script and pyproject.toml --- .github/workflows/{mark_file.yml => summarize_progress.yml} | 5 +++-- .scripts/pyproject.toml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) rename .github/workflows/{mark_file.yml => summarize_progress.yml} (86%) diff --git a/.github/workflows/mark_file.yml b/.github/workflows/summarize_progress.yml similarity index 86% rename from .github/workflows/mark_file.yml rename to .github/workflows/summarize_progress.yml index 59eca9deaa..fc7d574e9d 100644 --- a/.github/workflows/mark_file.yml +++ b/.github/workflows/summarize_progress.yml @@ -1,4 +1,4 @@ -name: mark_file +name: summarize_progress on: schedule: @@ -25,4 +25,5 @@ jobs: - uses: stefanzweifel/git-auto-commit-action@v5 with: - commit_message: Weekly Update -- Marking files \ No newline at end of file + commit_message: Weekly Update -- Marking files + \ No newline at end of file diff --git a/.scripts/pyproject.toml b/.scripts/pyproject.toml index a0d8506526..8c9487037d 100644 --- a/.scripts/pyproject.toml +++ b/.scripts/pyproject.toml @@ -10,7 +10,7 @@ python = "^3.10" polib = "1.1.1" googletrans = "3.1.0a0" translate-toolkit = "3.8.1" -requests="2.31.0" +requests = "2.31.0" [build-system] requires = ["poetry-core"] From 3baa6fc7740ca2f83647fa4df1974e74c9abdb6f Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 29 Nov 2023 00:03:23 +0800 Subject: [PATCH 06/10] Change to glob for file finding, fix variable assign error --- .../dist/mark_file_20231114_223945.md | 1 - .../summarize_progress_20231129_000143.md | 485 ++++++++++++++++++ .scripts/summarize_progress/main.py | 56 +- 3 files changed, 523 insertions(+), 19 deletions(-) delete mode 100644 .scripts/summarize_progress/dist/mark_file_20231114_223945.md create mode 100644 .scripts/summarize_progress/dist/summarize_progress_20231129_000143.md diff --git a/.scripts/summarize_progress/dist/mark_file_20231114_223945.md b/.scripts/summarize_progress/dist/mark_file_20231114_223945.md deleted file mode 100644 index 752ce24a57..0000000000 --- a/.scripts/summarize_progress/dist/mark_file_20231114_223945.md +++ /dev/null @@ -1 +0,0 @@ -- c-api/ - objbuffer.po------------------------✅ - file.po-----------------------------✅ - apiabiversion.po--------------------✅ - iterator.po-------------------------Ongoing, 25.0 % - buffer.po---------------------------Ongoing, 14.91 % - frame.po----------------------------❌ - typeobj.po--------------------------Ongoing, 42.35 % - method.po---------------------------✅ - allocation.po-----------------------✅ - veryhigh.po-------------------------Ongoing, 3.51 % - exceptions.po-----------------------Ongoing, 59.78 % - stable.po---------------------------Ongoing, 83.72 % - module.po---------------------------Ongoing, 12.07 % - dict.po-----------------------------Ongoing, 22.92 % - structures.po-----------------------Ongoing, 30.86 % - arg.po------------------------------Ongoing, 47.59 % - call.po-----------------------------Ongoing, 98.96 % - long.po-----------------------------Ongoing, 13.85 % - codec.po----------------------------✅ - bytes.po----------------------------Ongoing, 51.61 % - init.po-----------------------------Ongoing, 25.42 % - utilities.po------------------------✅ - mapping.po--------------------------Ongoing, 11.11 % - typehints.po------------------------✅ - set.po------------------------------Ongoing, 17.86 % - datetime.po-------------------------Ongoing, 82.69 % - gcsupport.po------------------------Ongoing, 2.0 % - complex.po--------------------------✅ - sys.po------------------------------Ongoing, 10.53 % - intro.po----------------------------Ongoing, 98.43 % - function.po-------------------------Ongoing, 67.65 % - descriptor.po-----------------------✅ - abstract.po-------------------------✅ - iter.po-----------------------------✅ - import.po---------------------------Ongoing, 21.82 % - marshal.po--------------------------❌ - tuple.po----------------------------Ongoing, 7.5 % - init_config.po----------------------Ongoing, 12.87 % - none.po-----------------------------Ongoing, 57.14 % - capsule.po--------------------------Ongoing, 6.25 % - refcounting.po----------------------✅ - list.po-----------------------------✅ - coro.po-----------------------------✅ - objimpl.po--------------------------❌ - slice.po----------------------------Ongoing, 9.52 % - gen.po------------------------------✅ - bytearray.po------------------------✅ - index.po----------------------------✅ - weakref.po--------------------------Ongoing, 8.33 % - unicode.po--------------------------Ongoing, 13.8 % - object.po---------------------------Ongoing, 12.0 % - memory.po---------------------------Ongoing, 25.65 % - float.po----------------------------Ongoing, 8.57 % - bool.po-----------------------------Ongoing, 90.91 % - concrete.po-------------------------✅ - sequence.po-------------------------Ongoing, 10.0 % - reflection.po-----------------------Ongoing, 12.5 % - cell.po-----------------------------✅ - number.po---------------------------Ongoing, 12.5 % - perfmaps.po-------------------------❌ - conversion.po-----------------------Ongoing, 11.54 % - memoryview.po-----------------------Ongoing, 27.27 % - code.po-----------------------------Ongoing, 19.3 % - type.po-----------------------------Ongoing, 7.07 % - contextvars.po----------------------Ongoing, 6.67 % - distributing/ - index.po----------------------------✅ - extending/ - windows.po--------------------------❌ - extending.po------------------------Ongoing, 5.56 % - newtypes.po-------------------------Ongoing, 12.36 % - newtypes_tutorial.po----------------Ongoing, 0.82 % - index.po----------------------------✅ - embedding.po------------------------Ongoing, 4.44 % - building.po-------------------------Ongoing, 22.22 % - faq/ - windows.po--------------------------✅ - installed.po------------------------✅ - gui.po------------------------------✅ - extending.po------------------------✅ - general.po--------------------------✅ - library.po--------------------------✅ - index.po----------------------------✅ - programming.po----------------------Ongoing, 98.72 % - design.po---------------------------✅ - howto/ - functional.po-----------------------Ongoing, 7.25 % - cporting.po-------------------------Ongoing, 20.0 % - argparse.po-------------------------Ongoing, 57.61 %, 💻 sweslo17 - sockets.po--------------------------Ongoing, 98.28 % - enum.po-----------------------------❌ - annotations.po----------------------✅ - regex.po----------------------------Ongoing, 20.91 % - isolating-extensions.po-------------❌ - logging-cookbook.po-----------------Ongoing, 1.63 % - descriptor.po-----------------------Ongoing, 10.17 % - logging.po--------------------------Ongoing, 11.06 % - pyporting.po------------------------Ongoing, 13.83 % - curses.po---------------------------Ongoing, 17.14 % - urllib2.po--------------------------Ongoing, 16.67 % - ipaddress.po------------------------Ongoing, 10.42 % - instrumentation.po------------------✅ - index.po----------------------------✅ - unicode.po--------------------------Ongoing, 3.31 % - perf_profiling.po-------------------❌, 💻 mattwang44 - sorting.po--------------------------✅ - clinic.po---------------------------✅ - includes/ - wasm-notavail.po--------------------❌ - installing/ - index.po----------------------------✅ - library/ - symtable.po-------------------------✅ - quopri.po---------------------------✅ - winreg.po---------------------------Ongoing, 14.45 % - glob.po-----------------------------✅ - turtle.po---------------------------Ongoing, 21.25 % - threading.po------------------------Ongoing, 4.07 %, 💻 SivanYeh - platform.po-------------------------Ongoing, 94.92 % - pwd.po------------------------------✅ - zlib.po-----------------------------✅ - poplib.po---------------------------Ongoing, 20.75 % - concurrent.futures.po---------------Ongoing, 97.89 % - multiprocessing.shared_memory.po----Ongoing, 10.0 %, 💻 mattwang44 - calendar.po-------------------------Ongoing, 74.74 % - inspect.po--------------------------Ongoing, 17.63 % - pprint.po---------------------------Ongoing, 21.28 % - email.errors.po---------------------Ongoing, 4.17 % - urllib.request.po-------------------Ongoing, 29.43 % - telnetlib.po------------------------Ongoing, 17.65 % - crypto.po---------------------------✅ - xml.sax.utils.po--------------------Ongoing, 14.29 % - datatypes.po------------------------✅ - functional.po-----------------------Ongoing, 66.67 % - pickletools.po----------------------Ongoing, 23.53 %, 💻 mattwang44 - pipes.po----------------------------Ongoing, 25.0 % - site.po-----------------------------Ongoing, 31.48 % - plistlib.po-------------------------Ongoing, 11.63 % - importlib.po------------------------Ongoing, 13.44 % - unicodedata.po----------------------Ongoing, 21.88 % - secrets.po--------------------------✅ - tkinter.font.po---------------------Ongoing, 8.57 % - reprlib.po--------------------------Ongoing, 12.9 % - devmode.po--------------------------Ongoing, 10.2 % - fileformats.po----------------------Ongoing, 50.0 % - faulthandler.po---------------------Ongoing, 2.38 % - collections.po----------------------✅ - asyncio-exceptions.po---------------✅ - configparser.po---------------------Ongoing, 9.34 % - tk.po-------------------------------✅ - keyword.po--------------------------✅ - audit_events.po---------------------✅ - stat.po-----------------------------Ongoing, 2.47 % - py_compile.po-----------------------Ongoing, 26.67 % - email.po----------------------------Ongoing, 24.0 % - debug.po----------------------------✅ - email.contentmanager.po-------------Ongoing, 7.32 % - shlex.po----------------------------Ongoing, 5.41 % - msvcrt.po---------------------------Ongoing, 10.71 % - asyncio-stream.po-------------------Ongoing, 89.66 % - xmlrpc.client.po--------------------Ongoing, 23.0 % - language.po-------------------------❌ - numeric.po--------------------------Ongoing, 33.33 % - spwd.po-----------------------------Ongoing, 52.17 % - fractions.po------------------------Ongoing, 6.67 % - syslog.po---------------------------Ongoing, 29.03 % - sched.po----------------------------Ongoing, 20.83 % - text.po-----------------------------✅ - http.client.po----------------------Ongoing, 14.55 % - html.entities.po--------------------✅ - security_warnings.po----------------✅ - compileall.po-----------------------Ongoing, 13.56 % - http.po-----------------------------Ongoing, 98.35 % - csv.po------------------------------✅ - locale.po---------------------------Ongoing, 18.24 % - ast.po------------------------------Ongoing, 2.98 %, 💻 mattwang44 - html.parser.po----------------------✅ - mm.po-------------------------------✅ - mailbox.po--------------------------Ongoing, 8.87 % - tkinter.messagebox.po---------------Ongoing, 21.43 % - asyncio-policy.po-------------------Ongoing, 1.49 % - importlib.resources.po--------------Ongoing, 5.0 % - 2to3.po-----------------------------Ongoing, 32.23 % - asyncio-protocol.po-----------------Ongoing, 3.26 % - imaplib.po--------------------------Ongoing, 12.5 % - xml.dom.pulldom.po------------------Ongoing, 40.74 % - python.po---------------------------❌ - exceptions.po-----------------------Ongoing, 8.47 % - audioop.po--------------------------Ongoing, 12.0 % - pickle.po---------------------------Ongoing, 13.72 % - pty.po------------------------------Ongoing, 21.05 % - i18n.po-----------------------------Ongoing, 33.33 % - getpass.po--------------------------Ongoing, 91.67 % - logging.config.po-------------------Ongoing, 7.28 % - doctest.po--------------------------Ongoing, 6.01 % - argparse.po-------------------------Ongoing, 12.13 % - frameworks.po-----------------------Ongoing, 33.33 % - dataclasses.po----------------------Ongoing, 75.0 % - mmap.po-----------------------------Ongoing, 12.5 % - shelve.po---------------------------Ongoing, 24.32 % - curses.ascii.po---------------------Ongoing, 7.25 % - modules.po--------------------------Ongoing, 33.33 % - math.po-----------------------------Ongoing, 4.76 % - windows.po--------------------------✅ - statistics.po-----------------------Ongoing, 99.48 % - email.mime.po-----------------------Ongoing, 26.32 % - ensurepip.po------------------------Ongoing, 97.3 % - sunau.po----------------------------✅ - __future__.po-----------------------✅ - posix.po----------------------------✅ - xml.sax.reader.po-------------------Ongoing, 8.0 % - contextlib.po-----------------------Ongoing, 5.34 % - enum.po-----------------------------✅ - netdata.po--------------------------✅ - asyncio-sync.po---------------------Ongoing, 83.15 % - getopt.po---------------------------Ongoing, 10.53 % - select.po---------------------------Ongoing, 33.33 % - smtplib.po--------------------------Ongoing, 17.7 % - asyncio-runner.po-------------------Ongoing, 17.14 % - email.parser.po---------------------Ongoing, 4.26 % - string.po---------------------------Ongoing, 35.35 % - asyncio-extending.po----------------❌ - tarfile.po--------------------------Ongoing, 11.49 % - typing.po---------------------------Ongoing, 30.0 %, 💻 rockleona - stringprep.po-----------------------Ongoing, 4.0 % - graphlib.po-------------------------✅ - hmac.po-----------------------------✅ - msilib.po---------------------------Ongoing, 5.15 % - sqlite3.po--------------------------Ongoing, 15.79 % - http.cookiejar.po-------------------Ongoing, 7.79 % - timeit.po---------------------------✅ - pathlib.po--------------------------Ongoing, 48.19 %, 💻 mindihx - xml.sax.po--------------------------Ongoing, 18.75 % - sysconfig.po------------------------Ongoing, 40.44 % - _thread.po--------------------------Ongoing, 9.62 % - urllib.parse.po---------------------Ongoing, 18.12 % - array.po----------------------------✅ - ssl.po------------------------------Ongoing, 15.16 %, 💻 timmy0123 - termios.po--------------------------Ongoing, 25.0 % - asyncio-task.po---------------------Ongoing, 7.17 % - tkinter.po--------------------------Ongoing, 24.35 % - fcntl.po----------------------------Ongoing, 22.22 % - datetime.po-------------------------Ongoing, 29.81 % - socket.po---------------------------Ongoing, 22.4 %, 💻 weijay0804 - http.server.po----------------------Ongoing, 11.43 % - email.examples.po-------------------Ongoing, 8.33 % - json.po-----------------------------Ongoing, 25.34 % - tokenize.po-------------------------Ongoing, 11.63 % - sys_path_init.po--------------------❌ - xmlrpc.server.po--------------------Ongoing, 18.37 %, 💻 paultsaich - re.po-------------------------------Ongoing, 35.07 %, 💻 ascodeasice - email.charset.po--------------------Ongoing, 13.64 %, 💻 isabellechiu - __main__.po-------------------------Ongoing, 3.7 % - multiprocessing.po------------------Ongoing, 4.49 % - uuid.po-----------------------------✅, 💻 933yee - tkinter.tix.po----------------------Ongoing, 11.11 % - sys.po------------------------------Ongoing, 28.54 % - intro.po----------------------------Ongoing, 60.0 % - aifc.po-----------------------------Ongoing, 22.22 % - struct.po---------------------------Ongoing, 45.56 %, 💻 Cliying94 - mailcap.po--------------------------Ongoing, 6.67 % - ctypes.po---------------------------Ongoing, 14.35 % - runpy.po----------------------------Ongoing, 7.5 % - urllib.po---------------------------✅ - itertools.po------------------------Ongoing, 45.73 % - abc.po------------------------------✅ - os.path.po--------------------------✅ - grp.po------------------------------Ongoing, 41.38 % - asyncio-api-index.po----------------Ongoing, 97.0 % - email.utils.po----------------------Ongoing, 12.9 % - functions.po------------------------Ongoing, 67.25 %, 💻 StevenHsuYL - crypt.po----------------------------Ongoing, 34.29 % - pkgutil.po--------------------------Ongoing, 10.64 % - tempfile.po-------------------------✅ - queue.po----------------------------✅ - urllib.robotparser.po---------------✅ - superseded.po-----------------------✅ - zipfile.po--------------------------Ongoing, 9.9 % - shutil.po---------------------------Ongoing, 15.12 % - sndhdr.po---------------------------Ongoing, 67.57 % - copyreg.po--------------------------Ongoing, 41.67 % - errno.po----------------------------Ongoing, 0.75 % - logging.po--------------------------Ongoing, 20.69 % - binascii.po-------------------------Ongoing, 25.0 % - logging.handlers.po-----------------Ongoing, 33.46 % - time.po-----------------------------Ongoing, 32.55 % - filesys.po--------------------------✅ - lzma.po-----------------------------Ongoing, 11.21 % - readline.po-------------------------Ongoing, 2.08 % - dbm.po------------------------------Ongoing, 18.18 % - idle.po-----------------------------Ongoing, 6.92 % - archiving.po------------------------✅ - marshal.po--------------------------✅ - curses.po---------------------------Ongoing, 11.57 % - webbrowser.po-----------------------Ongoing, 55.84 %, 💻 griiid - asyncio-platforms.po----------------✅ - nntplib.po--------------------------Ongoing, 13.48 % - trace.po----------------------------Ongoing, 5.13 % - unittest.po-------------------------Ongoing, 27.78 % - ipaddress.po------------------------Ongoing, 1.35 % - asyncio-future.po-------------------✅ - gzip.po-----------------------------Ongoing, 31.15 % - binary.po---------------------------✅ - rlcompleter.po----------------------Ongoing, 16.67 % - zipapp.po---------------------------Ongoing, 8.82 % - bdb.po------------------------------Ongoing, 1.83 % - concurrent.po-----------------------✅ - importlib.metadata.po---------------Ongoing, 1.59 % - dis.po------------------------------Ongoing, 8.54 % - importlib.resources.abc.po----------Ongoing, 3.33 % - bz2.po------------------------------Ongoing, 4.17 % - xml.sax.handler.po------------------Ongoing, 5.83 % - zipimport.po------------------------Ongoing, 8.33 % - token.po----------------------------Ongoing, 1.52 % - unix.po-----------------------------✅ - textwrap.po-------------------------Ongoing, 8.33 % - base64.po---------------------------Ongoing, 15.0 %, 💻 Yang92047111 - xml.etree.elementtree.po------------Ongoing, 16.02 % - internet.po-------------------------✅ - tty.po------------------------------Ongoing, 72.73 % - tabnanny.po-------------------------✅ - email.message.po--------------------Ongoing, 2.91 % - cmd.po------------------------------Ongoing, 10.87 % - persistence.po----------------------❌ - email.encoders.po-------------------Ongoing, 13.33 % - cgitb.po----------------------------Ongoing, 50.0 % - email.policy.po---------------------Ongoing, 8.91 % - signal.po---------------------------Ongoing, 17.65 % - unittest.mock.po--------------------Ongoing, 35.66 %, 💻 ken71301 - tomllib.po--------------------------✅ - wsgiref.po--------------------------✅ - gc.po-------------------------------Ongoing, 98.25 % - index.po----------------------------✅ - gettext.po--------------------------Ongoing, 16.38 % - pyclbr.po---------------------------Ongoing, 8.0 % - netrc.po----------------------------✅ - functools.po------------------------Ongoing, 7.78 % - heapq.po----------------------------✅ - weakref.po--------------------------Ongoing, 4.71 % - ossaudiodev.po----------------------Ongoing, 20.41 % - cmath.po----------------------------Ongoing, 5.36 % - bisect.po---------------------------✅ - collections.abc.po------------------Ongoing, 54.47 % - urllib.error.po---------------------✅ - dialog.po---------------------------Ongoing, 7.02 % - wave.po-----------------------------Ongoing, 9.43 % - cgi.po------------------------------Ongoing, 17.43 % - email.compat32-message.po-----------Ongoing, 2.88 % - tracemalloc.po----------------------Ongoing, 15.97 % - hashlib.po--------------------------Ongoing, 18.52 %, 💻 mattwang44 - builtins.po-------------------------✅ - ipc.po------------------------------❌ - asyncio-dev.po----------------------✅ - zoneinfo.po-------------------------Ongoing, 6.67 % - winsound.po-------------------------Ongoing, 29.41 % - tkinter.ttk.po----------------------Ongoing, 3.18 % - xmlrpc.po---------------------------✅ - modulefinder.po---------------------Ongoing, 7.69 % - tkinter.scrolledtext.po-------------Ongoing, 14.29 % - traceback.po------------------------Ongoing, 12.22 % - asyncio-eventloop.po----------------Ongoing, 6.6 %, 💻 xchux - fnmatch.po--------------------------Ongoing, 51.43 % - email.iterators.po------------------Ongoing, 9.09 % - asyncio-queue.po--------------------✅ - codeop.po---------------------------Ongoing, 7.14 % - xml.dom.po--------------------------Ongoing, 29.91 % - asyncio.po--------------------------✅ - stdtypes.po-------------------------Ongoing, 33.55 % - filecmp.po--------------------------Ongoing, 2.5 % - curses.panel.po---------------------Ongoing, 4.35 % - profile.po--------------------------Ongoing, 23.57 % - imghdr.po---------------------------Ongoing, 53.66 % - subprocess.po-----------------------Ongoing, 14.83 % - asyncio-llapi-index.po--------------✅ - warnings.po-------------------------Ongoing, 20.0 % - cmdline.po--------------------------✅ - pyexpat.po--------------------------Ongoing, 5.93 % - concurrency.po----------------------✅ - tkinter.colorchooser.po-------------Ongoing, 33.33 % - io.po-------------------------------Ongoing, 25.19 %, 💻 cschan1828 - nis.po------------------------------Ongoing, 20.0 % - constants.po------------------------✅ - uu.po-------------------------------Ongoing, 46.67 % - codecs.po---------------------------Ongoing, 49.53 % - html.po-----------------------------✅ - email.headerregistry.po-------------Ongoing, 34.95 % - xml.po------------------------------✅ - resource.po-------------------------Ongoing, 36.52 % - difflib.po--------------------------Ongoing, 12.69 % - pydoc.po----------------------------Ongoing, 30.43 % - os.po-------------------------------Ongoing, 18.2 % - fileinput.po------------------------Ongoing, 4.65 % - code.po-----------------------------Ongoing, 6.45 % - operator.po-------------------------Ongoing, 98.89 % - undoc.po----------------------------Ongoing, 22.22 % - allos.po----------------------------✅ - socketserver.po---------------------Ongoing, 5.75 % - decimal.po--------------------------Ongoing, 2.37 %, 💻 0gien - copy.po-----------------------------✅ - sys.monitoring.po-------------------❌, 💻 mattwang44 - custominterp.po---------------------❌ - atexit.po---------------------------Ongoing, 10.53 % - selectors.po------------------------Ongoing, 8.93 % - venv.po-----------------------------Ongoing, 60.18 % - email.generator.po------------------Ongoing, 7.32 % - tkinter.dnd.po----------------------Ongoing, 10.0 % - colorsys.po-------------------------✅ - numbers.po--------------------------✅ - test.po-----------------------------Ongoing, 5.02 % - xml.dom.minidom.po------------------Ongoing, 13.73 % - asyncio-subprocess.po---------------Ongoing, 9.09 % - xdrlib.po---------------------------Ongoing, 10.71 % - mimetypes.po------------------------Ongoing, 18.0 % - linecache.po------------------------Ongoing, 35.71 % - development.po----------------------Ongoing, 33.33 % - types.po----------------------------Ongoing, 5.77 % - unittest.mock-examples.po-----------❌, 💻 ken71301 - pdb.po------------------------------Ongoing, 9.92 %, 💻 mattwang44 - distribution.po---------------------Ongoing, 50.0 % - optparse.po-------------------------Ongoing, 8.65 % - random.po---------------------------Ongoing, 89.42 % - ftplib.po---------------------------Ongoing, 98.55 % - chunk.po----------------------------Ongoing, 43.59 % - contextvars.po----------------------Ongoing, 4.35 % - email.header.po---------------------Ongoing, 7.89 % - http.cookies.po---------------------Ongoing, 26.79 % - markup.po---------------------------❌ - reference/ - executionmodel.po-------------------Ongoing, 31.63 % - introduction.po---------------------Ongoing, 35.48 % - lexical_analysis.po-----------------Ongoing, 46.73 % - toplevel_components.po--------------✅ - import.po---------------------------Ongoing, 13.68 % - simple_stmts.po---------------------Ongoing, 37.18 % - index.po----------------------------✅ - expressions.po----------------------Ongoing, 36.54 % - compound_stmts.po-------------------Ongoing, 26.19 % - datamodel.po------------------------Ongoing, 34.96 % - grammar.po--------------------------Ongoing, 33.33 % - tutorial/ - interpreter.po----------------------✅ - inputoutput.po----------------------✅ - interactive.po----------------------✅ - stdlib2.po--------------------------✅ - modules.po--------------------------✅ - errors.po---------------------------✅ - introduction.po---------------------✅, 💻 avatar220928 - stdlib.po---------------------------✅ - classes.po--------------------------✅ - datastructures.po-------------------✅ - appetite.po-------------------------✅ - controlflow.po----------------------✅ - whatnow.po--------------------------✅ - index.po----------------------------✅ - appendix.po-------------------------✅ - venv.po-----------------------------✅ - floatingpoint.po--------------------✅ - using/ - windows.po--------------------------Ongoing, 26.48 % - mac.po------------------------------✅ - unix.po-----------------------------✅ - configure.po------------------------Ongoing, 35.11 % - editors.po--------------------------Ongoing, 33.33 % - index.po----------------------------✅ - cmdline.po--------------------------Ongoing, 18.35 % - whatsnew/ - 2.4.po------------------------------Ongoing, 6.34 % - 3.5.po------------------------------Ongoing, 23.29 % - changelog.po------------------------✅ - 2.0.po------------------------------Ongoing, 6.59 % - 3.1.po------------------------------Ongoing, 35.71 % - 2.1.po------------------------------Ongoing, 12.23 % - 3.0.po------------------------------Ongoing, 17.56 % - 2.5.po------------------------------Ongoing, 12.63 % - 3.4.po------------------------------Ongoing, 20.35 % - 3.11.po-----------------------------Ongoing, 94.79 % - 3.10.po-----------------------------✅ - 3.9.po------------------------------Ongoing, 24.52 % - 3.12.po-----------------------------Ongoing, 43.82 %, 💻 mattwang44 - index.po----------------------------✅ - 3.8.po------------------------------Ongoing, 29.58 % - 2.2.po------------------------------Ongoing, 2.62 % - 3.3.po------------------------------Ongoing, 47.13 % - 2.6.po------------------------------Ongoing, 8.32 % - 3.7.po------------------------------Ongoing, 19.82 % - 2.7.po------------------------------Ongoing, 4.64 % - 3.6.po------------------------------Ongoing, 18.38 % - 2.3.po------------------------------Ongoing, 4.91 % - 3.2.po------------------------------Ongoing, 24.32 % \ No newline at end of file diff --git a/.scripts/summarize_progress/dist/summarize_progress_20231129_000143.md b/.scripts/summarize_progress/dist/summarize_progress_20231129_000143.md new file mode 100644 index 0000000000..20b9851f8c --- /dev/null +++ b/.scripts/summarize_progress/dist/summarize_progress_20231129_000143.md @@ -0,0 +1,485 @@ +- // - about.po-----------------------------✅ + - bugs.po------------------------------✅ + - contents.po--------------------------✅ + - copyright.po-------------------------✅ + - glossary.po--------------------------✅ + - license.po---------------------------✅ + - sphinx.po----------------------------✅ +- c-api/ - abstract.po--------------------------✅ + - allocation.po------------------------✅ + - apiabiversion.po---------------------✅ + - arg.po-------------------------------Ongoing, 47.59 % + - bool.po------------------------------Ongoing, 90.91 % + - buffer.po----------------------------Ongoing, 14.91 % + - bytearray.po-------------------------✅ + - bytes.po-----------------------------Ongoing, 51.61 % + - call.po------------------------------Ongoing, 98.96 % + - capsule.po---------------------------Ongoing, 6.25 % + - cell.po------------------------------✅ + - code.po------------------------------Ongoing, 19.3 % + - codec.po-----------------------------✅ + - complex.po---------------------------✅ + - concrete.po--------------------------✅ + - contextvars.po-----------------------Ongoing, 6.67 % + - conversion.po------------------------Ongoing, 11.54 % + - coro.po------------------------------✅ + - datetime.po--------------------------Ongoing, 82.69 % + - descriptor.po------------------------✅ + - dict.po------------------------------Ongoing, 22.92 % + - exceptions.po------------------------Ongoing, 59.78 % + - file.po------------------------------✅ + - float.po-----------------------------Ongoing, 8.57 % + - frame.po-----------------------------❌, 💻 xingularity + - function.po--------------------------Ongoing, 67.65 % + - gcsupport.po-------------------------Ongoing, 2.0 % + - gen.po-------------------------------✅ + - import.po----------------------------Ongoing, 21.82 % + - index.po-----------------------------✅ + - init.po------------------------------Ongoing, 25.42 % + - init_config.po-----------------------Ongoing, 12.87 % + - intro.po-----------------------------Ongoing, 98.43 % + - iter.po------------------------------✅ + - iterator.po--------------------------Ongoing, 25.0 % + - list.po------------------------------✅ + - long.po------------------------------Ongoing, 13.85 % + - mapping.po---------------------------Ongoing, 11.11 % + - marshal.po---------------------------❌ + - memory.po----------------------------Ongoing, 25.65 % + - memoryview.po------------------------Ongoing, 27.27 % + - method.po----------------------------✅ + - module.po----------------------------Ongoing, 12.07 % + - none.po------------------------------Ongoing, 57.14 % + - number.po----------------------------Ongoing, 12.5 % + - objbuffer.po-------------------------✅ + - object.po----------------------------Ongoing, 12.0 % + - objimpl.po---------------------------❌ + - perfmaps.po--------------------------❌ + - refcounting.po-----------------------✅ + - reflection.po------------------------Ongoing, 12.5 % + - sequence.po--------------------------Ongoing, 10.0 % + - set.po-------------------------------Ongoing, 17.86 % + - slice.po-----------------------------Ongoing, 9.52 % + - stable.po----------------------------Ongoing, 83.72 % + - structures.po------------------------Ongoing, 30.86 % + - sys.po-------------------------------Ongoing, 10.53 % + - tuple.po-----------------------------Ongoing, 7.5 % + - type.po------------------------------Ongoing, 7.07 % + - typehints.po-------------------------✅ + - typeobj.po---------------------------Ongoing, 42.35 % + - unicode.po---------------------------Ongoing, 13.8 % + - utilities.po-------------------------✅ + - veryhigh.po--------------------------Ongoing, 3.51 % + - weakref.po---------------------------Ongoing, 8.33 % +- distributing/ - index.po-----------------------------✅ +- extending/ - building.po--------------------------Ongoing, 22.22 % + - embedding.po-------------------------Ongoing, 4.44 % + - extending.po-------------------------Ongoing, 5.56 % + - index.po-----------------------------✅ + - newtypes.po--------------------------Ongoing, 12.36 % + - newtypes_tutorial.po-----------------Ongoing, 0.82 % + - windows.po---------------------------❌ +- faq/ - design.po----------------------------✅ + - extending.po-------------------------✅ + - general.po---------------------------✅ + - gui.po-------------------------------✅ + - index.po-----------------------------✅ + - installed.po-------------------------✅ + - library.po---------------------------✅ + - programming.po-----------------------Ongoing, 98.72 % + - windows.po---------------------------✅ +- howto/ - annotations.po-----------------------✅ + - argparse.po--------------------------Ongoing, 57.61 % + - clinic.po----------------------------✅ + - cporting.po--------------------------Ongoing, 20.0 % + - curses.po----------------------------Ongoing, 17.14 % + - descriptor.po------------------------Ongoing, 10.17 % + - enum.po------------------------------❌ + - functional.po------------------------Ongoing, 7.25 % + - index.po-----------------------------✅ + - instrumentation.po-------------------✅ + - ipaddress.po-------------------------Ongoing, 10.42 % + - isolating-extensions.po--------------❌ + - logging-cookbook.po------------------Ongoing, 1.63 % + - logging.po---------------------------Ongoing, 11.06 % + - perf_profiling.po--------------------❌, 💻 mattwang44 + - pyporting.po-------------------------Ongoing, 13.83 % + - regex.po-----------------------------Ongoing, 20.91 % + - sockets.po---------------------------Ongoing, 98.28 % + - sorting.po---------------------------✅ + - unicode.po---------------------------Ongoing, 3.31 % + - urllib2.po---------------------------Ongoing, 16.67 % +- includes/ - wasm-notavail.po---------------------❌ +- installing/ - index.po-----------------------------✅ +- library/ - 2to3.po------------------------------Ongoing, 32.23 % + - __future__.po------------------------✅ + - __main__.po--------------------------Ongoing, 3.7 % + - _thread.po---------------------------Ongoing, 9.62 % + - abc.po-------------------------------✅ + - aifc.po------------------------------Ongoing, 22.22 % + - allos.po-----------------------------✅ + - archiving.po-------------------------✅ + - argparse.po--------------------------Ongoing, 12.13 % + - array.po-----------------------------✅ + - ast.po-------------------------------Ongoing, 2.98 %, 💻 mattwang44 + - asyncio-api-index.po-----------------Ongoing, 97.0 % + - asyncio-dev.po-----------------------✅ + - asyncio-eventloop.po-----------------Ongoing, 6.6 %, 💻 xchux + - asyncio-exceptions.po----------------✅ + - asyncio-extending.po-----------------❌ + - asyncio-future.po--------------------✅ + - asyncio-llapi-index.po---------------✅ + - asyncio-platforms.po-----------------✅ + - asyncio-policy.po--------------------Ongoing, 1.49 % + - asyncio-protocol.po------------------Ongoing, 3.26 % + - asyncio-queue.po---------------------✅ + - asyncio-runner.po--------------------Ongoing, 17.14 % + - asyncio-stream.po--------------------Ongoing, 89.66 % + - asyncio-subprocess.po----------------Ongoing, 9.09 % + - asyncio-sync.po----------------------Ongoing, 83.15 % + - asyncio-task.po----------------------Ongoing, 7.17 % + - asyncio.po---------------------------✅ + - atexit.po----------------------------Ongoing, 10.53 % + - audioop.po---------------------------Ongoing, 12.0 % + - audit_events.po----------------------✅ + - base64.po----------------------------Ongoing, 15.0 %, 💻 Yang92047111 + - bdb.po-------------------------------Ongoing, 1.83 % + - binary.po----------------------------✅ + - binascii.po--------------------------Ongoing, 25.0 % + - bisect.po----------------------------✅ + - builtins.po--------------------------✅ + - bz2.po-------------------------------Ongoing, 4.17 % + - calendar.po--------------------------Ongoing, 74.74 % + - cgi.po-------------------------------Ongoing, 17.43 % + - cgitb.po-----------------------------Ongoing, 50.0 % + - chunk.po-----------------------------Ongoing, 43.59 % + - cmath.po-----------------------------Ongoing, 5.36 % + - cmd.po-------------------------------Ongoing, 10.87 % + - cmdline.po---------------------------✅ + - code.po------------------------------Ongoing, 6.45 % + - codecs.po----------------------------Ongoing, 49.53 % + - codeop.po----------------------------Ongoing, 7.14 % + - collections.abc.po-------------------Ongoing, 54.47 % + - collections.po-----------------------✅ + - colorsys.po--------------------------✅ + - compileall.po------------------------Ongoing, 13.56 % + - concurrency.po-----------------------✅ + - concurrent.futures.po----------------Ongoing, 97.89 % + - concurrent.po------------------------✅ + - configparser.po----------------------Ongoing, 9.34 % + - constants.po-------------------------✅ + - contextlib.po------------------------Ongoing, 5.34 % + - contextvars.po-----------------------Ongoing, 4.35 % + - copy.po------------------------------✅ + - copyreg.po---------------------------Ongoing, 41.67 % + - crypt.po-----------------------------Ongoing, 34.29 % + - crypto.po----------------------------✅ + - csv.po-------------------------------✅ + - ctypes.po----------------------------Ongoing, 14.35 % + - curses.ascii.po----------------------Ongoing, 7.25 % + - curses.panel.po----------------------Ongoing, 4.35 % + - curses.po----------------------------Ongoing, 11.57 % + - custominterp.po----------------------❌ + - dataclasses.po-----------------------Ongoing, 75.0 % + - datatypes.po-------------------------✅ + - datetime.po--------------------------Ongoing, 29.81 % + - dbm.po-------------------------------Ongoing, 18.18 % + - debug.po-----------------------------✅ + - decimal.po---------------------------Ongoing, 2.37 %, 💻 0gien + - development.po-----------------------Ongoing, 33.33 % + - devmode.po---------------------------Ongoing, 10.2 % + - dialog.po----------------------------Ongoing, 7.02 % + - difflib.po---------------------------Ongoing, 12.69 % + - dis.po-------------------------------Ongoing, 8.54 % + - distribution.po----------------------Ongoing, 50.0 % + - doctest.po---------------------------Ongoing, 6.01 % + - email.charset.po---------------------Ongoing, 13.64 %, 💻 isabellechiu + - email.compat32-message.po------------Ongoing, 2.88 % + - email.contentmanager.po--------------Ongoing, 7.32 % + - email.encoders.po--------------------Ongoing, 13.33 % + - email.errors.po----------------------Ongoing, 4.17 % + - email.examples.po--------------------Ongoing, 8.33 % + - email.generator.po-------------------Ongoing, 7.32 % + - email.header.po----------------------Ongoing, 7.89 % + - email.headerregistry.po--------------Ongoing, 34.95 % + - email.iterators.po-------------------Ongoing, 9.09 % + - email.message.po---------------------Ongoing, 2.91 % + - email.mime.po------------------------Ongoing, 26.32 % + - email.parser.po----------------------Ongoing, 4.26 % + - email.po-----------------------------Ongoing, 24.0 % + - email.policy.po----------------------Ongoing, 8.91 % + - email.utils.po-----------------------Ongoing, 12.9 % + - ensurepip.po-------------------------Ongoing, 97.3 % + - enum.po------------------------------✅ + - errno.po-----------------------------Ongoing, 0.75 % + - exceptions.po------------------------Ongoing, 8.47 % + - faulthandler.po----------------------Ongoing, 2.38 % + - fcntl.po-----------------------------Ongoing, 22.22 % + - filecmp.po---------------------------Ongoing, 2.5 % + - fileformats.po-----------------------Ongoing, 50.0 % + - fileinput.po-------------------------Ongoing, 4.65 % + - filesys.po---------------------------✅ + - fnmatch.po---------------------------Ongoing, 51.43 % + - fractions.po-------------------------Ongoing, 6.67 % + - frameworks.po------------------------Ongoing, 33.33 % + - ftplib.po----------------------------Ongoing, 98.55 % + - functional.po------------------------Ongoing, 66.67 % + - functions.po-------------------------Ongoing, 67.25 % + - functools.po-------------------------Ongoing, 7.78 % + - gc.po--------------------------------Ongoing, 98.25 % + - getopt.po----------------------------Ongoing, 10.53 % + - getpass.po---------------------------Ongoing, 91.67 % + - gettext.po---------------------------Ongoing, 16.38 % + - glob.po------------------------------✅ + - graphlib.po--------------------------✅ + - grp.po-------------------------------Ongoing, 41.38 % + - gzip.po------------------------------Ongoing, 31.15 % + - hashlib.po---------------------------Ongoing, 18.52 % + - heapq.po-----------------------------✅ + - hmac.po------------------------------✅ + - html.entities.po---------------------✅ + - html.parser.po-----------------------✅ + - html.po------------------------------✅ + - http.client.po-----------------------Ongoing, 14.55 % + - http.cookiejar.po--------------------Ongoing, 7.79 % + - http.cookies.po----------------------Ongoing, 26.79 % + - http.po------------------------------Ongoing, 98.35 % + - http.server.po-----------------------Ongoing, 11.43 % + - i18n.po------------------------------Ongoing, 33.33 % + - idle.po------------------------------Ongoing, 6.92 % + - imaplib.po---------------------------Ongoing, 12.5 % + - imghdr.po----------------------------Ongoing, 53.66 % + - importlib.metadata.po----------------Ongoing, 1.59 % + - importlib.po-------------------------Ongoing, 13.44 % + - importlib.resources.abc.po-----------Ongoing, 3.33 % + - importlib.resources.po---------------Ongoing, 5.0 % + - index.po-----------------------------✅ + - inspect.po---------------------------Ongoing, 17.63 % + - internet.po--------------------------✅ + - intro.po-----------------------------Ongoing, 60.0 % + - io.po--------------------------------Ongoing, 25.19 % + - ipaddress.po-------------------------Ongoing, 1.35 % + - ipc.po-------------------------------❌ + - itertools.po-------------------------Ongoing, 45.73 % + - json.po------------------------------Ongoing, 25.34 % + - keyword.po---------------------------✅ + - language.po--------------------------❌ + - linecache.po-------------------------Ongoing, 35.71 % + - locale.po----------------------------Ongoing, 18.24 % + - logging.config.po--------------------Ongoing, 7.28 % + - logging.handlers.po------------------Ongoing, 33.46 % + - logging.po---------------------------Ongoing, 20.69 % + - lzma.po------------------------------Ongoing, 11.21 % + - mailbox.po---------------------------Ongoing, 8.87 % + - mailcap.po---------------------------Ongoing, 6.67 % + - markup.po----------------------------❌ + - marshal.po---------------------------✅ + - math.po------------------------------Ongoing, 4.76 % + - mimetypes.po-------------------------Ongoing, 18.0 % + - mm.po--------------------------------✅ + - mmap.po------------------------------Ongoing, 12.5 % + - modulefinder.po----------------------Ongoing, 7.69 % + - modules.po---------------------------Ongoing, 33.33 % + - msilib.po----------------------------Ongoing, 5.15 % + - msvcrt.po----------------------------Ongoing, 10.71 % + - multiprocessing.po-------------------Ongoing, 4.49 % + - multiprocessing.shared_memory.po-----Ongoing, 10.0 %, 💻 mattwang44 + - netdata.po---------------------------✅ + - netrc.po-----------------------------✅ + - nis.po-------------------------------Ongoing, 20.0 % + - nntplib.po---------------------------Ongoing, 13.48 % + - numbers.po---------------------------✅ + - numeric.po---------------------------Ongoing, 33.33 % + - operator.po--------------------------Ongoing, 98.89 % + - optparse.po--------------------------Ongoing, 8.65 % + - os.path.po---------------------------✅ + - os.po--------------------------------Ongoing, 18.2 % + - ossaudiodev.po-----------------------Ongoing, 20.41 % + - pathlib.po---------------------------Ongoing, 48.19 %, 💻 mindihx + - pdb.po-------------------------------Ongoing, 9.92 % + - persistence.po-----------------------❌ + - pickle.po----------------------------Ongoing, 13.72 % + - pickletools.po-----------------------Ongoing, 23.53 %, 💻 mattwang44 + - pipes.po-----------------------------Ongoing, 25.0 % + - pkgutil.po---------------------------Ongoing, 10.64 % + - platform.po--------------------------Ongoing, 94.92 % + - plistlib.po--------------------------Ongoing, 11.63 % + - poplib.po----------------------------Ongoing, 20.75 % + - posix.po-----------------------------✅ + - pprint.po----------------------------Ongoing, 21.28 % + - profile.po---------------------------Ongoing, 23.57 % + - pty.po-------------------------------Ongoing, 21.05 % + - pwd.po-------------------------------✅ + - py_compile.po------------------------Ongoing, 26.67 % + - pyclbr.po----------------------------Ongoing, 8.0 % + - pydoc.po-----------------------------Ongoing, 30.43 % + - pyexpat.po---------------------------Ongoing, 5.93 % + - python.po----------------------------❌ + - queue.po-----------------------------✅ + - quopri.po----------------------------✅ + - random.po----------------------------Ongoing, 89.42 % + - re.po--------------------------------Ongoing, 35.07 %, 💻 ascodeasice + - readline.po--------------------------Ongoing, 2.08 % + - reprlib.po---------------------------Ongoing, 12.9 % + - resource.po--------------------------Ongoing, 36.52 % + - rlcompleter.po-----------------------Ongoing, 16.67 % + - runpy.po-----------------------------Ongoing, 7.5 % + - sched.po-----------------------------Ongoing, 20.83 % + - secrets.po---------------------------✅ + - security_warnings.po-----------------✅ + - select.po----------------------------Ongoing, 33.33 % + - selectors.po-------------------------Ongoing, 8.93 % + - shelve.po----------------------------Ongoing, 24.32 % + - shlex.po-----------------------------Ongoing, 5.41 % + - shutil.po----------------------------Ongoing, 15.12 % + - signal.po----------------------------Ongoing, 17.65 % + - site.po------------------------------Ongoing, 31.48 % + - smtplib.po---------------------------Ongoing, 17.7 % + - sndhdr.po----------------------------Ongoing, 67.57 % + - socket.po----------------------------Ongoing, 22.4 %, 💻 weijay0804 + - socketserver.po----------------------Ongoing, 5.75 % + - spwd.po------------------------------Ongoing, 52.17 % + - sqlite3.po---------------------------Ongoing, 15.79 % + - ssl.po-------------------------------Ongoing, 15.16 %, 💻 timmy0123 + - stat.po------------------------------Ongoing, 2.47 % + - statistics.po------------------------Ongoing, 99.48 % + - stdtypes.po--------------------------Ongoing, 33.55 % + - string.po----------------------------Ongoing, 35.35 % + - stringprep.po------------------------Ongoing, 4.0 % + - struct.po----------------------------Ongoing, 45.56 %, 💻 Cliying94 + - subprocess.po------------------------Ongoing, 14.83 % + - sunau.po-----------------------------✅ + - superseded.po------------------------✅ + - symtable.po--------------------------✅ + - sys.monitoring.po--------------------❌, 💻 mattwang44 + - sys.po-------------------------------Ongoing, 28.54 % + - sys_path_init.po---------------------❌ + - sysconfig.po-------------------------Ongoing, 40.44 % + - syslog.po----------------------------Ongoing, 29.03 % + - tabnanny.po--------------------------✅ + - tarfile.po---------------------------Ongoing, 11.49 % + - telnetlib.po-------------------------Ongoing, 17.65 % + - tempfile.po--------------------------✅ + - termios.po---------------------------Ongoing, 25.0 % + - test.po------------------------------Ongoing, 5.02 % + - text.po------------------------------✅ + - textwrap.po--------------------------Ongoing, 8.33 % + - threading.po-------------------------Ongoing, 4.07 %, 💻 SivanYeh + - time.po------------------------------Ongoing, 32.55 % + - timeit.po----------------------------✅ + - tk.po--------------------------------✅ + - tkinter.colorchooser.po--------------Ongoing, 33.33 % + - tkinter.dnd.po-----------------------Ongoing, 10.0 % + - tkinter.font.po----------------------Ongoing, 8.57 % + - tkinter.messagebox.po----------------Ongoing, 21.43 % + - tkinter.po---------------------------Ongoing, 24.35 % + - tkinter.scrolledtext.po--------------Ongoing, 14.29 % + - tkinter.tix.po-----------------------Ongoing, 11.11 % + - tkinter.ttk.po-----------------------Ongoing, 3.18 % + - token.po-----------------------------Ongoing, 1.52 % + - tokenize.po--------------------------Ongoing, 11.63 % + - tomllib.po---------------------------✅ + - trace.po-----------------------------Ongoing, 5.13 % + - traceback.po-------------------------Ongoing, 12.22 % + - tracemalloc.po-----------------------Ongoing, 15.97 % + - tty.po-------------------------------Ongoing, 72.73 % + - turtle.po----------------------------Ongoing, 21.25 % + - types.po-----------------------------Ongoing, 5.77 % + - typing.po----------------------------Ongoing, 30.0 % + - undoc.po-----------------------------Ongoing, 22.22 % + - unicodedata.po-----------------------Ongoing, 21.88 % + - unittest.mock-examples.po------------❌, 💻 ken71301 + - unittest.mock.po---------------------Ongoing, 35.66 %, 💻 ken71301 + - unittest.po--------------------------Ongoing, 27.78 % + - unix.po------------------------------✅ + - urllib.error.po----------------------✅ + - urllib.parse.po----------------------Ongoing, 18.12 % + - urllib.po----------------------------✅ + - urllib.request.po--------------------Ongoing, 29.43 % + - urllib.robotparser.po----------------✅ + - uu.po--------------------------------Ongoing, 46.67 % + - uuid.po------------------------------✅, 💻 933yee + - venv.po------------------------------Ongoing, 60.18 % + - warnings.po--------------------------Ongoing, 20.0 % + - wave.po------------------------------Ongoing, 9.43 % + - weakref.po---------------------------Ongoing, 4.71 % + - webbrowser.po------------------------Ongoing, 55.84 %, 💻 griiid + - windows.po---------------------------✅ + - winreg.po----------------------------Ongoing, 14.45 % + - winsound.po--------------------------Ongoing, 29.41 % + - wsgiref.po---------------------------✅ + - xdrlib.po----------------------------Ongoing, 10.71 % + - xml.dom.minidom.po-------------------Ongoing, 13.73 % + - xml.dom.po---------------------------Ongoing, 29.91 % + - xml.dom.pulldom.po-------------------Ongoing, 40.74 % + - xml.etree.elementtree.po-------------Ongoing, 16.02 % + - xml.po-------------------------------✅ + - xml.sax.handler.po-------------------Ongoing, 5.83 % + - xml.sax.po---------------------------Ongoing, 18.75 % + - xml.sax.reader.po--------------------Ongoing, 8.0 % + - xml.sax.utils.po---------------------Ongoing, 14.29 % + - xmlrpc.client.po---------------------Ongoing, 23.0 % + - xmlrpc.po----------------------------✅ + - xmlrpc.server.po---------------------Ongoing, 18.37 % + - zipapp.po----------------------------Ongoing, 8.82 % + - zipfile.po---------------------------Ongoing, 9.9 % + - zipimport.po-------------------------Ongoing, 8.33 % + - zlib.po------------------------------✅ + - zoneinfo.po--------------------------Ongoing, 6.67 % +- reference/ - compound_stmts.po--------------------Ongoing, 26.19 % + - datamodel.po-------------------------Ongoing, 34.96 % + - executionmodel.po--------------------Ongoing, 31.63 % + - expressions.po-----------------------Ongoing, 36.54 % + - grammar.po---------------------------Ongoing, 33.33 % + - import.po----------------------------Ongoing, 13.68 % + - index.po-----------------------------✅ + - introduction.po----------------------Ongoing, 35.48 % + - lexical_analysis.po------------------Ongoing, 46.73 % + - simple_stmts.po----------------------Ongoing, 37.18 % + - toplevel_components.po---------------✅ +- tutorial/ - appendix.po--------------------------✅ + - appetite.po--------------------------✅ + - classes.po---------------------------✅ + - controlflow.po-----------------------✅ + - datastructures.po--------------------✅ + - errors.po----------------------------✅ + - floatingpoint.po---------------------✅ + - index.po-----------------------------✅ + - inputoutput.po-----------------------✅ + - interactive.po-----------------------✅ + - interpreter.po-----------------------✅ + - introduction.po----------------------✅, 💻 avatar220928 + - modules.po---------------------------✅ + - stdlib.po----------------------------✅ + - stdlib2.po---------------------------✅ + - venv.po------------------------------✅ + - whatnow.po---------------------------✅ +- using/ - cmdline.po---------------------------Ongoing, 18.35 % + - configure.po-------------------------Ongoing, 35.11 % + - editors.po---------------------------Ongoing, 33.33 % + - index.po-----------------------------✅ + - mac.po-------------------------------✅ + - unix.po------------------------------✅ + - windows.po---------------------------Ongoing, 26.48 % +- whatsnew/ - 2.0.po-------------------------------Ongoing, 6.59 % + - 2.1.po-------------------------------Ongoing, 12.23 % + - 2.2.po-------------------------------Ongoing, 2.62 % + - 2.3.po-------------------------------Ongoing, 4.91 % + - 2.4.po-------------------------------Ongoing, 6.34 % + - 2.5.po-------------------------------Ongoing, 12.63 % + - 2.6.po-------------------------------Ongoing, 8.32 % + - 2.7.po-------------------------------Ongoing, 4.64 % + - 3.0.po-------------------------------Ongoing, 17.56 % + - 3.1.po-------------------------------Ongoing, 35.71 % + - 3.10.po------------------------------✅ + - 3.11.po------------------------------Ongoing, 94.79 % + - 3.12.po------------------------------Ongoing, 43.82 % + - 3.2.po-------------------------------Ongoing, 24.32 % + - 3.3.po-------------------------------Ongoing, 47.13 % + - 3.4.po-------------------------------Ongoing, 20.35 % + - 3.5.po-------------------------------Ongoing, 23.29 % + - 3.6.po-------------------------------Ongoing, 18.38 % + - 3.7.po-------------------------------Ongoing, 19.82 % + - 3.8.po-------------------------------Ongoing, 29.58 % + - 3.9.po-------------------------------Ongoing, 24.52 % + - changelog.po-------------------------✅ + - index.po-----------------------------✅ diff --git a/.scripts/summarize_progress/main.py b/.scripts/summarize_progress/main.py index fe5cd2b232..81957ee145 100644 --- a/.scripts/summarize_progress/main.py +++ b/.scripts/summarize_progress/main.py @@ -1,5 +1,6 @@ import polib import os +import glob import datetime import requests @@ -15,14 +16,26 @@ def entry_check(pofile): else: lines_all = lines_tranlated + lines_untranlated progress = lines_tranlated / lines_all - progress = round(progress * 100, 2) - result = f"Ongoing, {str(progress)} %" + progress_percentage = round(progress * 100, 2) + result = f"Ongoing, {str(progress_percentage)} %" return result -def get_github_issue(): - NUMBER_OF_ISSUES = 100 +def get_open_issues_count() -> int: + url = f"https://api.github.com/search/issues?q=repo:python/python-docs-zh-tw+type:issue+state:open" + headers = { + "Accept": "application/vnd.github+json", + "X-GitHub-Api-Version": "2022-11-28", + } + r = requests.get(url=url, headers=headers) + result = r.json() + + return result["total_count"] + + +def get_github_issues(): + NUMBER_OF_ISSUES = get_open_issues_count() url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={NUMBER_OF_ISSUES}" headers = { @@ -36,14 +49,14 @@ def get_github_issue(): for issue in result: title_segments = issue["title"].split() - if len(title) < 2: + if len(title_segments) < 2: continue - if title[0] != "翻譯" and title[0].lower() != "translate": + if title_segments[0] != "翻譯" and title_segments[0].lower() != "translate": continue if issue["assignee"] is None: continue - filename = title[1].strip("`") + filename = title_segments[1].strip("`") filename_segments = filename.split("/") if len(filename_segments) < 2: @@ -51,7 +64,7 @@ def get_github_issue(): if filename_segments[1][-3:] != ".po": filename_segments[1] += ".po" - result_list.append([filename, issue["assignee"]["login"]]) + result_list.append([filename_segments, issue["assignee"]["login"]]) return result_list @@ -66,7 +79,7 @@ def format_line_directory(dirname): if __name__ == "__main__": - issue_list = get_github_issue() + issue_list = get_github_issues() directories = [ "c-api", @@ -85,15 +98,22 @@ def format_line_directory(dirname): summary = {} - for dir_name in directories: - summary[dir_name] = {} - for root, _, files in os.walk(f"../{dir_name}"): - for file in files: - if file.endswith(".po"): - filepath = os.path.join(root, file) - po = polib.pofile(filepath) - result = entry_check(po) - summary[dir_name][file] = result + file_list = glob.glob("./../**/*.po", recursive=True) + file_list.sort() + + for filepath in file_list: + if len(filepath.split("/")) == 4: # in-dir files + _, _, dirname, filename = filepath.split("/") + else: # root dir files + _, _, filename = filepath.split("/") + dirname = "/" + + if dirname not in summary: + summary[dirname] = {} + + po = polib.pofile(filepath) + result = entry_check(po) + summary[dirname][filename] = result for (category, filename), assignee in issue_list: try: From d509e125566609a0f97b348d6ff7cf9c86dd4fc8 Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 29 Nov 2023 00:03:41 +0800 Subject: [PATCH 07/10] remove import os --- .scripts/summarize_progress/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/.scripts/summarize_progress/main.py b/.scripts/summarize_progress/main.py index 81957ee145..62b0fd512e 100644 --- a/.scripts/summarize_progress/main.py +++ b/.scripts/summarize_progress/main.py @@ -1,5 +1,4 @@ import polib -import os import glob import datetime import requests From 0ea058b9883d38fbc2873afbfb768534dc490ec5 Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 29 Nov 2023 00:18:39 +0800 Subject: [PATCH 08/10] Add Return Type Hint --- .scripts/summarize_progress/main.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.scripts/summarize_progress/main.py b/.scripts/summarize_progress/main.py index 62b0fd512e..fac3adc55d 100644 --- a/.scripts/summarize_progress/main.py +++ b/.scripts/summarize_progress/main.py @@ -4,7 +4,7 @@ import requests -def entry_check(pofile): +def entry_check(pofile) -> str: lines_tranlated = len(pofile.translated_entries()) lines_untranlated = len(pofile.untranslated_entries()) @@ -33,7 +33,7 @@ def get_open_issues_count() -> int: return result["total_count"] -def get_github_issues(): +def get_github_issues() -> list: NUMBER_OF_ISSUES = get_open_issues_count() url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={NUMBER_OF_ISSUES}" @@ -68,11 +68,11 @@ def get_github_issues(): return result_list -def format_line_file(filename, result): +def format_line_file(filename, result) -> str: return f" - {filename.ljust(37, '-')}{result}\r\n" -def format_line_directory(dirname): +def format_line_directory(dirname) -> str: tmp = f"- {dirname}/\r" return tmp From 53986f2e8b5c53cff69602478d27f3eb30df57cb Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 29 Nov 2023 01:00:47 +0800 Subject: [PATCH 09/10] Add regex --- ....md => summarize_progress_20231129_005702.md} | 16 ++++++++-------- .scripts/summarize_progress/main.py | 16 ++++++++++------ 2 files changed, 18 insertions(+), 14 deletions(-) rename .scripts/summarize_progress/dist/{summarize_progress_20231129_000143.md => summarize_progress_20231129_005702.md} (96%) diff --git a/.scripts/summarize_progress/dist/summarize_progress_20231129_000143.md b/.scripts/summarize_progress/dist/summarize_progress_20231129_005702.md similarity index 96% rename from .scripts/summarize_progress/dist/summarize_progress_20231129_000143.md rename to .scripts/summarize_progress/dist/summarize_progress_20231129_005702.md index 20b9851f8c..9c78b11e90 100644 --- a/.scripts/summarize_progress/dist/summarize_progress_20231129_000143.md +++ b/.scripts/summarize_progress/dist/summarize_progress_20231129_005702.md @@ -88,7 +88,7 @@ - programming.po-----------------------Ongoing, 98.72 % - windows.po---------------------------✅ - howto/ - annotations.po-----------------------✅ - - argparse.po--------------------------Ongoing, 57.61 % + - argparse.po--------------------------Ongoing, 57.61 %, 💻 sweslo17 - clinic.po----------------------------✅ - cporting.po--------------------------Ongoing, 20.0 % - curses.po----------------------------Ongoing, 17.14 % @@ -223,7 +223,7 @@ - frameworks.po------------------------Ongoing, 33.33 % - ftplib.po----------------------------Ongoing, 98.55 % - functional.po------------------------Ongoing, 66.67 % - - functions.po-------------------------Ongoing, 67.25 % + - functions.po-------------------------Ongoing, 67.25 %, 💻 StevenHsuYL - functools.po-------------------------Ongoing, 7.78 % - gc.po--------------------------------Ongoing, 98.25 % - getopt.po----------------------------Ongoing, 10.53 % @@ -233,7 +233,7 @@ - graphlib.po--------------------------✅ - grp.po-------------------------------Ongoing, 41.38 % - gzip.po------------------------------Ongoing, 31.15 % - - hashlib.po---------------------------Ongoing, 18.52 % + - hashlib.po---------------------------Ongoing, 18.52 %, 💻 mattwang44 - heapq.po-----------------------------✅ - hmac.po------------------------------✅ - html.entities.po---------------------✅ @@ -256,7 +256,7 @@ - inspect.po---------------------------Ongoing, 17.63 % - internet.po--------------------------✅ - intro.po-----------------------------Ongoing, 60.0 % - - io.po--------------------------------Ongoing, 25.19 % + - io.po--------------------------------Ongoing, 25.19 %, 💻 cschan1828 - ipaddress.po-------------------------Ongoing, 1.35 % - ipc.po-------------------------------❌ - itertools.po-------------------------Ongoing, 45.73 % @@ -295,7 +295,7 @@ - os.po--------------------------------Ongoing, 18.2 % - ossaudiodev.po-----------------------Ongoing, 20.41 % - pathlib.po---------------------------Ongoing, 48.19 %, 💻 mindihx - - pdb.po-------------------------------Ongoing, 9.92 % + - pdb.po-------------------------------Ongoing, 9.92 %, 💻 mattwang44 - persistence.po-----------------------❌ - pickle.po----------------------------Ongoing, 13.72 % - pickletools.po-----------------------Ongoing, 23.53 %, 💻 mattwang44 @@ -384,7 +384,7 @@ - tty.po-------------------------------Ongoing, 72.73 % - turtle.po----------------------------Ongoing, 21.25 % - types.po-----------------------------Ongoing, 5.77 % - - typing.po----------------------------Ongoing, 30.0 % + - typing.po----------------------------Ongoing, 30.0 %, 💻 rockleona - undoc.po-----------------------------Ongoing, 22.22 % - unicodedata.po-----------------------Ongoing, 21.88 % - unittest.mock-examples.po------------❌, 💻 ken71301 @@ -419,7 +419,7 @@ - xml.sax.utils.po---------------------Ongoing, 14.29 % - xmlrpc.client.po---------------------Ongoing, 23.0 % - xmlrpc.po----------------------------✅ - - xmlrpc.server.po---------------------Ongoing, 18.37 % + - xmlrpc.server.po---------------------Ongoing, 18.37 %, 💻 paultsaich - zipapp.po----------------------------Ongoing, 8.82 % - zipfile.po---------------------------Ongoing, 9.9 % - zipimport.po-------------------------Ongoing, 8.33 % @@ -472,7 +472,7 @@ - 3.1.po-------------------------------Ongoing, 35.71 % - 3.10.po------------------------------✅ - 3.11.po------------------------------Ongoing, 94.79 % - - 3.12.po------------------------------Ongoing, 43.82 % + - 3.12.po------------------------------Ongoing, 43.82 %, 💻 mattwang44 - 3.2.po-------------------------------Ongoing, 24.32 % - 3.3.po-------------------------------Ongoing, 47.13 % - 3.4.po-------------------------------Ongoing, 20.35 % diff --git a/.scripts/summarize_progress/main.py b/.scripts/summarize_progress/main.py index fac3adc55d..76e433e61d 100644 --- a/.scripts/summarize_progress/main.py +++ b/.scripts/summarize_progress/main.py @@ -1,3 +1,4 @@ +import re import polib import glob import datetime @@ -36,7 +37,7 @@ def get_open_issues_count() -> int: def get_github_issues() -> list: NUMBER_OF_ISSUES = get_open_issues_count() - url = f"https://api.github.com/repos/python/python-docs-zh-tw/issues?per_page={NUMBER_OF_ISSUES}" + url = f"https://api.github.com/search/issues?q=repo:python/python-docs-zh-tw+type:issue+state:open&per_page={NUMBER_OF_ISSUES}" headers = { "Accept": "application/vnd.github+json", "X-GitHub-Api-Version": "2022-11-28", @@ -45,7 +46,7 @@ def get_github_issues() -> list: result = r.json() result_list = [] - for issue in result: + for issue in result["items"]: title_segments = issue["title"].split() if len(title_segments) < 2: @@ -57,11 +58,14 @@ def get_github_issues() -> list: filename = title_segments[1].strip("`") - filename_segments = filename.split("/") - if len(filename_segments) < 2: - continue - if filename_segments[1][-3:] != ".po": + if re.fullmatch("[a-zA-z-]+/[a-zA-Z0-9._-]+.po", filename): + filename_segments = filename.split("/") + # print(filename_segments) + elif re.fullmatch("[a-zA-z-]+/[a-zA-Z0-9._-]+", filename): + filename_segments = filename.split("/") filename_segments[1] += ".po" + else: + continue result_list.append([filename_segments, issue["assignee"]["login"]]) From 5f8e5112e7399afe039f92b6100c79b834ec7bae Mon Sep 17 00:00:00 2001 From: rockleona Date: Wed, 29 Nov 2023 13:52:24 +0800 Subject: [PATCH 10/10] Update with Reviewer's Suggestion --- .github/workflows/summarize_progress.yml | 7 +- ...231129_005702.md => summarize_progress.md} | 39 ++++-- .scripts/summarize_progress/main.py | 114 +++++++++--------- 3 files changed, 86 insertions(+), 74 deletions(-) rename .scripts/summarize_progress/dist/{summarize_progress_20231129_005702.md => summarize_progress.md} (95%) diff --git a/.github/workflows/summarize_progress.yml b/.github/workflows/summarize_progress.yml index fc7d574e9d..32bbf5fd17 100644 --- a/.github/workflows/summarize_progress.yml +++ b/.github/workflows/summarize_progress.yml @@ -19,11 +19,10 @@ jobs: - name: Execute Check Process run: | - chmod +x .scripts/mark_file.sh - .scripts/mark_file.sh + chmod +x .scripts/summarize_progress.sh + .scripts/summarize_progress.sh shell: bash - uses: stefanzweifel/git-auto-commit-action@v5 with: - commit_message: Weekly Update -- Marking files - \ No newline at end of file + commit_message: Weekly Update -- Summarize Progress \ No newline at end of file diff --git a/.scripts/summarize_progress/dist/summarize_progress_20231129_005702.md b/.scripts/summarize_progress/dist/summarize_progress.md similarity index 95% rename from .scripts/summarize_progress/dist/summarize_progress_20231129_005702.md rename to .scripts/summarize_progress/dist/summarize_progress.md index 9c78b11e90..145d5cbe28 100644 --- a/.scripts/summarize_progress/dist/summarize_progress_20231129_005702.md +++ b/.scripts/summarize_progress/dist/summarize_progress.md @@ -1,11 +1,13 @@ -- // - about.po-----------------------------✅ +- // + - about.po-----------------------------✅ - bugs.po------------------------------✅ - contents.po--------------------------✅ - copyright.po-------------------------✅ - glossary.po--------------------------✅ - license.po---------------------------✅ - sphinx.po----------------------------✅ -- c-api/ - abstract.po--------------------------✅ +- c-api/ + - abstract.po--------------------------✅ - allocation.po------------------------✅ - apiabiversion.po---------------------✅ - arg.po-------------------------------Ongoing, 47.59 % @@ -70,15 +72,18 @@ - utilities.po-------------------------✅ - veryhigh.po--------------------------Ongoing, 3.51 % - weakref.po---------------------------Ongoing, 8.33 % -- distributing/ - index.po-----------------------------✅ -- extending/ - building.po--------------------------Ongoing, 22.22 % +- distributing/ + - index.po-----------------------------✅ +- extending/ + - building.po--------------------------Ongoing, 22.22 % - embedding.po-------------------------Ongoing, 4.44 % - extending.po-------------------------Ongoing, 5.56 % - index.po-----------------------------✅ - newtypes.po--------------------------Ongoing, 12.36 % - newtypes_tutorial.po-----------------Ongoing, 0.82 % - windows.po---------------------------❌ -- faq/ - design.po----------------------------✅ +- faq/ + - design.po----------------------------✅ - extending.po-------------------------✅ - general.po---------------------------✅ - gui.po-------------------------------✅ @@ -87,7 +92,8 @@ - library.po---------------------------✅ - programming.po-----------------------Ongoing, 98.72 % - windows.po---------------------------✅ -- howto/ - annotations.po-----------------------✅ +- howto/ + - annotations.po-----------------------✅ - argparse.po--------------------------Ongoing, 57.61 %, 💻 sweslo17 - clinic.po----------------------------✅ - cporting.po--------------------------Ongoing, 20.0 % @@ -108,9 +114,12 @@ - sorting.po---------------------------✅ - unicode.po---------------------------Ongoing, 3.31 % - urllib2.po---------------------------Ongoing, 16.67 % -- includes/ - wasm-notavail.po---------------------❌ -- installing/ - index.po-----------------------------✅ -- library/ - 2to3.po------------------------------Ongoing, 32.23 % +- includes/ + - wasm-notavail.po---------------------❌ +- installing/ + - index.po-----------------------------✅ +- library/ + - 2to3.po------------------------------Ongoing, 32.23 % - __future__.po------------------------✅ - __main__.po--------------------------Ongoing, 3.7 % - _thread.po---------------------------Ongoing, 9.62 % @@ -425,7 +434,8 @@ - zipimport.po-------------------------Ongoing, 8.33 % - zlib.po------------------------------✅ - zoneinfo.po--------------------------Ongoing, 6.67 % -- reference/ - compound_stmts.po--------------------Ongoing, 26.19 % +- reference/ + - compound_stmts.po--------------------Ongoing, 26.19 % - datamodel.po-------------------------Ongoing, 34.96 % - executionmodel.po--------------------Ongoing, 31.63 % - expressions.po-----------------------Ongoing, 36.54 % @@ -436,7 +446,8 @@ - lexical_analysis.po------------------Ongoing, 46.73 % - simple_stmts.po----------------------Ongoing, 37.18 % - toplevel_components.po---------------✅ -- tutorial/ - appendix.po--------------------------✅ +- tutorial/ + - appendix.po--------------------------✅ - appetite.po--------------------------✅ - classes.po---------------------------✅ - controlflow.po-----------------------✅ @@ -453,14 +464,16 @@ - stdlib2.po---------------------------✅ - venv.po------------------------------✅ - whatnow.po---------------------------✅ -- using/ - cmdline.po---------------------------Ongoing, 18.35 % +- using/ + - cmdline.po---------------------------Ongoing, 18.35 % - configure.po-------------------------Ongoing, 35.11 % - editors.po---------------------------Ongoing, 33.33 % - index.po-----------------------------✅ - mac.po-------------------------------✅ - unix.po------------------------------✅ - windows.po---------------------------Ongoing, 26.48 % -- whatsnew/ - 2.0.po-------------------------------Ongoing, 6.59 % +- whatsnew/ + - 2.0.po-------------------------------Ongoing, 6.59 % - 2.1.po-------------------------------Ongoing, 12.23 % - 2.2.po-------------------------------Ongoing, 2.62 % - 2.3.po-------------------------------Ongoing, 4.91 % diff --git a/.scripts/summarize_progress/main.py b/.scripts/summarize_progress/main.py index 76e433e61d..c51541d347 100644 --- a/.scripts/summarize_progress/main.py +++ b/.scripts/summarize_progress/main.py @@ -4,8 +4,14 @@ import datetime import requests +from pathlib import Path + + +def entry_check(pofile: polib.POFile) -> str: + ''' + Check the po file with how many entries are translated or not. + ''' -def entry_check(pofile) -> str: lines_tranlated = len(pofile.translated_entries()) lines_untranlated = len(pofile.untranslated_entries()) @@ -17,12 +23,16 @@ def entry_check(pofile) -> str: lines_all = lines_tranlated + lines_untranlated progress = lines_tranlated / lines_all progress_percentage = round(progress * 100, 2) - result = f"Ongoing, {str(progress_percentage)} %" + result = f"Ongoing, {progress_percentage} %" return result def get_open_issues_count() -> int: + ''' + Fetch GitHub API to get the number of OPEN ISSUES. + ''' + url = f"https://api.github.com/search/issues?q=repo:python/python-docs-zh-tw+type:issue+state:open" headers = { "Accept": "application/vnd.github+json", @@ -35,6 +45,16 @@ def get_open_issues_count() -> int: def get_github_issues() -> list: + ''' + Fetch GitHub API to collect the infomation of OPEN ISSUES, + including issue title and assignee. + + Steps: + 1. Fetch GitHub API and get open issue list + 2. Filter the issue if it have no assignee + 3. Filter the issue if it have no "Translate" in the title + 4. Filter the issue if it have no correct filepath in the title + ''' NUMBER_OF_ISSUES = get_open_issues_count() url = f"https://api.github.com/search/issues?q=repo:python/python-docs-zh-tw+type:issue+state:open&per_page={NUMBER_OF_ISSUES}" @@ -47,92 +67,72 @@ def get_github_issues() -> list: result_list = [] for issue in result["items"]: - title_segments = issue["title"].split() - - if len(title_segments) < 2: - continue - if title_segments[0] != "翻譯" and title_segments[0].lower() != "translate": - continue if issue["assignee"] is None: continue - filename = title_segments[1].strip("`") + title = issue["title"] + if "翻譯" not in title and "translate" not in title.lower(): + continue - if re.fullmatch("[a-zA-z-]+/[a-zA-Z0-9._-]+.po", filename): - filename_segments = filename.split("/") - # print(filename_segments) - elif re.fullmatch("[a-zA-z-]+/[a-zA-Z0-9._-]+", filename): - filename_segments = filename.split("/") - filename_segments[1] += ".po" - else: + match = re.search("(?P[^\s`][a-zA-z-]+)/(?P[a-zA-Z0-9._-]+(.po)?)", title) + if not match: continue + + dirname, filename = match.group('dirname', 'filename') + if not filename.endswith('.po'): + filename += '.po' - result_list.append([filename_segments, issue["assignee"]["login"]]) + result_list.append(((dirname, filename), issue["assignee"]["login"])) return result_list - -def format_line_file(filename, result) -> str: +def format_line_file(filename: str, result: str) -> str: return f" - {filename.ljust(37, '-')}{result}\r\n" -def format_line_directory(dirname) -> str: - tmp = f"- {dirname}/\r" - return tmp +def format_line_directory(dirname: str) -> str: + return f"- {dirname}/\r\n" if __name__ == "__main__": issue_list = get_github_issues() - directories = [ - "c-api", - "distributing", - "extending", - "faq", - "howto", - "includes", - "installing", - "library", - "reference", - "tutorial", - "using", - "whatsnew", - ] - + ''' + Search all the po file in the directory, + and record the translation progress of each files. + ''' + BASE_DIR = Path("../") summary = {} - - file_list = glob.glob("./../**/*.po", recursive=True) - file_list.sort() - - for filepath in file_list: - if len(filepath.split("/")) == 4: # in-dir files - _, _, dirname, filename = filepath.split("/") - else: # root dir files - _, _, filename = filepath.split("/") - dirname = "/" - - if dirname not in summary: - summary[dirname] = {} - + for filepath in glob.glob(str(BASE_DIR / "**/*.po"), recursive=True): + path = Path(filepath) + filename = path.name + dirname = path.parent.name if path.parent.name != BASE_DIR.name else '/' po = polib.pofile(filepath) - result = entry_check(po) - summary[dirname][filename] = result + summary.setdefault(dirname, {})[filename] = entry_check(po) + ''' + Unpack the open issue list, and add assignee after the progress + ''' for (category, filename), assignee in issue_list: try: summary[category][filename] += f", 💻 {assignee}" except KeyError: pass + ''' + Format the lines that will write into the markdown file, + also sort the directory name and file name. + ''' writeliner = [] - for dirname, filedict in summary.items(): + summary_sorted = dict(sorted(summary.items())) + for dirname, filedict in summary_sorted.items(): writeliner.append(format_line_directory(dirname)) - for filename, result in filedict.items(): + filedict_sorted = dict(sorted(filedict.items())) + for filename, result in filedict_sorted.items(): writeliner.append(format_line_file(filename, result)) - timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") with open( - f"summarize_progress/dist/summarize_progress_{timestamp}.md", + f"summarize_progress/dist/summarize_progress.md", "w", ) as file: file.writelines(writeliner)