{"id":28568420,"url":"https://github.com/DasyDong/norepeat","last_synced_at":"2025-06-10T16:12:02.885Z","repository":{"id":57446702,"uuid":"234117578","full_name":"DasyDong/norepeat","owner":"DasyDong","description":"The norepeat package contains some magical function, tools   ","archived":false,"fork":false,"pushed_at":"2020-04-17T12:34:55.000Z","size":457,"stargazers_count":90,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-19T14:52:56.229Z","etag":null,"topics":["less","packages","pypi","python2","python3","scripts","toc","tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DasyDong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-15T16:00:17.000Z","updated_at":"2025-01-16T10:23:36.000Z","dependencies_parsed_at":"2022-09-26T18:40:32.939Z","dependency_job_id":null,"html_url":"https://github.com/DasyDong/norepeat","commit_stats":null,"previous_names":["dasydong/python-norepeat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasyDong%2Fnorepeat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasyDong%2Fnorepeat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasyDong%2Fnorepeat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasyDong%2Fnorepeat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DasyDong","download_url":"https://codeload.github.com/DasyDong/norepeat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DasyDong%2Fnorepeat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259106733,"owners_count":22805941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["less","packages","pypi","python2","python3","scripts","toc","tools"],"created_at":"2025-06-10T16:12:00.903Z","updated_at":"2025-06-10T16:12:02.874Z","avatar_url":"https://github.com/DasyDong.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [norepeat](#norepeat)\n    - [Installation](#installation)\n    - [norepeat package (DEBUG)](#norepeat-package-debug)\n    - [DOC](#doc)\n        - [1.Count a project sum of codes number](#1count-a-project-sum-of-codes-number)\n        - [2.Generate markdown menu automatically](#2generate-markdown-menu-automatically)\n        - [3.Merge all dirs files to a same directory named 'merge'](#3merge-all-dirs-files-to-a-same-directory-named-merge)\n        - [4.Split files to a new directory for same type](#4split-files-to-a-new-directory-for-same-type)\n        - [5.Rename multiple file names](#5rename-multiple-file-names)\n        - [6.Download http image](#6download-http-image)\n        - [7.Compare dirs files](#7compare-dirs-files)\n        - [8.Spell check](#8spell-check)\n# norepeat\n\nThe [norepeat](https://pypi.org/project/norepeat/1.0.0/) package contains some magical function, it's my personal tools collection...\n\n## Installation\n\nYou can install the Real Python Feed Reader from [PyPI](https://pypi.org/project/norepeat/):\n\n```\npip install norepeat\n```\nThe norepeat is supported on Python 3 and above.\n\n\n## norepeat package (DEBUG)\nhttps://pypi.org/project/norepeat/1.0.0/\n\nTEST:\n* python3 setup.py sdist bdist_wheel\n* python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n* pip install -i https://test.pypi.org/simple/ norepeat==1.0.0\n\n* python -u __main__.py -h -a \u003e a.txt\n\nPROD:\n\n* python3 setup.py sdist bdist_wheel\n\n* twine upload dist/*\n\n\n## DOC\n\n### 1.Count a project sum of codes number\n```\nnorepeat count_code_nums -h\n```\n```\nusage: count_code_nums [-h] [-p PATH] [-t TYPE]\n\n    Count summary codes lines/统计代码行数\n    Eg:\n        norepeat count_code_nums -p=project -t=py\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  file/directory path\n  -t TYPE, --type TYPE  file type\n```\n### 2.Generate markdown menu automatically\n```\nnorepeat gen_markdown_menu -h\n```\n```\nusage: gen_markdown_menu [-h] [-n NAME] [-p PREFIX]\n\n    Generate markdown Menu(TOC(Table of Content)) automatically 生成Markdown TOC目录结构， 对###三层可以增加自动序号\n    Eg:\n        norepeat gen_markdown_menu -n=sample.md\n        OR\n\n    then you will get a sample_back.md with contents\n    sample_back.md is new generated file including menu\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -n NAME, --name NAME  file name\n  -p PREFIX, --prefix PREFIX\n                        auto generate num prefix for menu\n```\n### 3.Merge all dirs files to a same directory named 'merge'\n```\nnorepeat merge_dir -h\n```\n```\nusage: merge_dir [-h] [-p PATH]\n\n    Merge all dirs files to a same directory named 'merge'\n    合并迭代所有目录文件夹， 将全部文件合并到merge文件夹下\n    Eg:\n        norepeat split_dir -p=test\n        before:\n            dir\n                txt\n                    txt2\n                        c.txt\n                    a.txt\n                    b.txt\n                png\n                    a.png\n                    b.png\n        after:\n            dir\n                merge\n                    a.txt\n                    b.txt\n                    c.txt\n                    a.png\n                    b.png\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  dir path\n```\n### 4.Split files to a new directory for same type\n```\nnorepeat split_dir -h\n```\n```\nusage: split_dir [-h] [-p PATH] [-r REMOVE]\n\n    Split files to a new directory for same type 根据文件类型分离目录下文件到不同文件夹\n    Eg:\n        norepeat split_dir -p=test\n        before:\n            dir\n                a.txt\n                b.txt\n                a.png\n                b.png\n        after:\n            dir\n                txt\n                    a.txt\n                    b.txt\n                png\n                    a.png\n                    b.png\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  dir path\n  -r REMOVE, --remove REMOVE\n                        if remove src files, default is No\n```\n### 5.Rename multiple file names\n```\nnorepeat rename_file -h\n```\n```\nusage: rename_file [-h] [-d DIR_PATH] [-p PREFIX] [-s SUFFIX] [-r REMOVE]\n                   [-i ID]\n\n    Rename multiple file names 批量重命名\n    Eg:\n        norepeat rename_file -d=test -p=test -s=end -r=true -i=true\n        before:\n            dir\n                a.txt\n                b.txt\n        after:\n            dir\n                testaend1.txt\n                testbend1.txt\n\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -d DIR_PATH, --dir_path DIR_PATH\n                        directory path\n  -p PREFIX, --prefix PREFIX\n                        new file name prefix\n  -s SUFFIX, --suffix SUFFIX\n                        new file name suffix\n  -r REMOVE, --remove REMOVE\n                        new file name with removing src name\n  -i ID, --id ID        new file name need id\n```\n\n### 6.Download http image\n```\nnorepeat download_img -h\n```\n\n```\nusage: download_img [-h] [-u URL] [-n NAME]\n\n    Download image to current directory 下载网络图片到本地目录\n    Eg:\n        norepeat download_img -u=https://test.png -n=test.png\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -u URL, --url URL     img url\n  -n NAME, --name NAME  image name\n```\n\n### 7.Compare dirs files\n```\nnorepeat diff_file -h\n```\n\n```\nusage: diff_file [-h] [-p1 PATH1] [-p2 PATH2] [-d1 DIR_PATH1] [-d2 DIR_PATH2]\n\n    Compare two files\n    对比两个文件差异\n    Eg:\n        norepeat diff_file -p1=a.md -p2=b.md\n    Compare all files that have same name in two dirs including recursive subdirs\n    对比迭代所有文件夹下重名文件内容差异(可以跨文件目录搜索文件， 打包输出到一个result文件)\n    Eg:\n        norepeat diff_file -d1=python-norepeat/norepeat/ -d2=python-norepeat/test/\n\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p1 PATH1, --path1 PATH1\n                        file path\n  -p2 PATH2, --path2 PATH2\n                        file path\n  -d1 DIR_PATH1, --dir_path1 DIR_PATH1\n                        dir path\n  -d2 DIR_PATH2, --dir_path2 DIR_PATH2\n                        dir path\n\n```\n\nresult:\n\n![](./pics/diffhtml.jpg)\n\n### 8.Spell check\n\n```\nnorepeat spell_check -h\n```\n\n```\nusage: spell_check [-h] [-p PATH]\n\n    It's used to check en-US word typo in project\n    spell-check用来检查项目中英文单词拼写问题\n    Eg:\n        norepeat spell_check -p=test\n    output:\n        spell_check_ignore.txt : ignore checking words\n        spell_check_wrong.txt : wrong spell words\n\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -p PATH, --path PATH  directory path\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDasyDong%2Fnorepeat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDasyDong%2Fnorepeat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDasyDong%2Fnorepeat/lists"}