最新消息:20210917 已从crifan.com换到crifan.org

【已解决】更新generate_md_from_summary支持git中文输出

Git crifan 299浏览 0评论
之前已经实现
【已解决】更新generate_md_from_summary:支持git模式
现在遇到问题:
 python ../../common/tools/generate_md_from_summary.py -e /Users/xxx/dev/crifan/gitbook/gitbook_template/books/android_app_security_crack/   
args.disable_update_existed_md=False
args.disable_random_time=False
mode=auto
entry=/Users/xxx/dev/crifan/gitbook/gitbook_template/books/android_app_security_crack/
isUpdateMdWhenExist=True
isRandomUpdateTime=True
randomRange=600
mode=git
fullGitCmd=cd /Users/xxx/dev/crifan/gitbook/gitbook_template/books/android_app_security_crack/; git status
isCheckCmdRunOk=True, cmdResult=位于分支 master
您的分支与上游分支 'origin/master' 一致。


尚未暂存以备提交的变更:
  (使用 "git add/rm <文件>..." 更新要提交的内容)
  (使用 "git restore <文件>..." 丢弃工作区的改动)
        修改:     README.md
        修改:     README_current.json
        修改:     book.json
        修改:     book_current.json
        修改:     src/README.md
        修改:     src/SUMMARY.md
        修改:     src/android_background/related_info/apk_file.md
        修改:     src/android_background/related_info/dex_file.md
        删除:     src/android_background/related_info/smali_file.md
        修改:     src/android_crack_tech/how_remove_shell/check_shell_provider.md
        修改:     src/android_crack_tool/app_to_dex/README.md
        修改:     src/android_crack_tool/app_to_dex/dexextractor.md
        修改:     src/android_crack_tool/app_to_dex/drizzledumper.md
        修改:     src/android_crack_tool/app_to_dex/fdex2.md
        删除:     src/android_crack_tool/decompiler/common_decompiler_compare.md
        修改:     src/android_crack_tool/decompiler/common_decompilers/dare.md
        修改:     src/android_crack_tool/decompiler/common_decompilers/fernflower.md
        修改:     src/android_crack_tool/decompiler/common_decompilers/gda.md
        修改:     src/android_crack_tool/decompiler/common_decompilers/jadx.md
        修改:     src/android_crack_tool/decompiler/common_decompilers/procyon/README.md
        修改:     src/android_crack_tool/dex_to_jar/dex2jar.md
        修改:     src/android_crack_tool/other_assistant_tool/android_debugger/README.md
        删除:     src/android_crack_tool/other_assistant_tool/android_debugger/andbug.md
        删除:     src/android_crack_tool/other_assistant_tool/android_debugger/android_opendebug.md
        删除:     src/android_crack_tool/other_assistant_tool/apk_analyzer.md
        删除:     src/android_crack_tool/other_assistant_tool/binary_editor/010editor.md
        删除:     src/android_crack_tool/other_assistant_tool/binary_editor/README.md
        删除:     src/android_crack_tool/other_assistant_tool/binary_editor/everedit.md
        删除:     src/android_crack_tool/other_assistant_tool/classshark.md
        删除:     src/android_crack_tool/other_assistant_tool/fino.md
        删除:     src/android_crack_tool/other_assistant_tool/introspy_android.md
        删除:     src/android_crack_tool/other_assistant_tool/redexer.md
        删除:     src/android_crack_tool/other_assistant_tool/smaliviewer.md
        修改:     src/android_crack_tool/other_crack_tool/apktool.md
        修改:     src/android_crack_tool/other_crack_tool/ida.md
        修改:     src/android_crack_tool/other_crack_tool/radare2.md
        删除:     src/android_crack_tool/other_crack_tool/smali_baksmali.md
        修改:     src/android_crack_tool/other_crack_tool/xml_crack/axmlprinter2.md
        修改:     src/android_crack_tool/other_integrated_tool/README.md
        修改:     src/android_crack_tool/other_integrated_tool/bytecode_viewer.md
        删除:     src/android_crack_tool/other_related_tool/android_hook_framework/cydia_substrate.md
        修改:     src/android_safety_tech/encrypt_overview/harden_method/common_harden_method.md
        修改:     src/appendix/reference.md


未跟踪的文件:
  (使用 "git add <文件>..." 以包含要提交的内容)
        src/android_background/related_info/android_vm/
        src/android_background/related_info/smali.md
        src/android_crack_tool/app_to_dex/dexhunter.md
        src/android_crack_tool/app_to_dex/fart.md
        src/android_crack_tool/decompiler/decompiler_cmp/
        src/android_crack_tool/other_assistant_tool/apk_analysis/
        src/android_crack_tool/other_assistant_tool/binary_edit/
        src/android_crack_tool/other_assistant_tool/dynamic_debug/
        src/android_crack_tool/other_related_tool/android_hook_framework/cydia_substrate/
        src/assets/img/add_shell_tencent_txappentry.jpg
        src/assets/img/jadx_bin_gui.png
        src/assets/img/jvm_vs_dvm_compile.png
        src/assets/img/jvm_vs_dvm_flow.png


修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
untrackedFileDictList=[]
toUpdatFileDictList=[]
toUpdateItemCount=0
Total to update item count: 0
明显是:
不支持。
看来是:git输出的是中文。而不支持。
去加上支持。
common/tools/generate_md_from_summary.py
改动代码:
# for debug
# entry = "/Users/xxx/dev/crifan/gitbook/gitbook_template/books/linux_usage_dev_summary/src/SUMMARY.md"
# entry = "/Users/xxx/dev/crifan/gitbook/gitbook_template/books/android_app_security_crack/"
entry = "/Users/xxx/dev/crifan/gitbook/gitbook_template/books/web_automation_tool_playwright"


        (4)中文输出
            您的分支与上游分支 'origin/master' 一致。


            尚未暂存以备提交的变更:
            (使用 "git add/rm <文件>..." 更新要提交的内容)
            (使用 "git restore <文件>..." 丢弃工作区的改动)
                    修改:     README.md
                    修改:     README_current.json
                    修改:     book.json
                    修改:     book_current.json
                    修改:     src/README.md
                    修改:     src/SUMMARY.md
                    修改:     src/android_background/related_info/apk_file.md
...
                    修改:     src/android_safety_tech/encrypt_overview/harden_method/common_harden_method.md
                    修改:     src/appendix/reference.md


            未跟踪的文件:
            (使用 "git add <文件>..." 以包含要提交的内容)
                    src/android_background/related_info/android_vm/
                    src/android_background/related_info/smali.md
...
                    src/assets/img/jvm_vs_dvm_flow.png


            修改尚未加入提交(使用 "git add" 和/或 "git commit -a")


        (5)中文输出:新git仓库
             git status
            位于分支 master


            尚无提交


            未跟踪的文件:
            (使用 "git add <文件>..." 以包含要提交的内容)
                    .gitignore
                    Makefile
                    README.md
                    README_current.json
                    book.json
                    book_current.json
                    node_modules
                    src/


            提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
        """

        discardChangeStrEn = "to discard changes in working directory\)"
        discardChangeStrZhcn = "丢弃工作区的改动)"
        untrackFileStrEn = "Untracked files"
        untrackFileStrZhcn = "未跟踪的文件"
        addCommitStrEn = "no changes added to commit"
        addCommitStrZhcn = "修改尚未加入提交"
        # foundNotStagedStr = re.search("to discard changes in working directory\)\s+(?P<notStagedStr>.+?)\s+((Untracked files:)|(no changes added to commit))", cmdResult, flags=re.S)
        # notStagePatternStr = "((%s)|(%s))\)\s+(?P<notStagedStr>.+?)\s+((((%s)|(%s)):)|(((%s)|(%s))))" % (discardChangeStrEn, discardChangeStrZhcn, untrackFileStrEn, untrackFileStrZhcn, addCommitStrEn, addCommitStrZhcn)
        notStagePatternStr = "((%s)|(%s))\s+(?P<notStagedStr>.+?)\s+((((%s)|(%s)):)|(((%s)|(%s))))" % (discardChangeStrEn, discardChangeStrZhcn, untrackFileStrEn, untrackFileStrZhcn, addCommitStrEn, addCommitStrZhcn)
        print("notStagePatternStr=%s" % notStagePatternStr)
        foundNotStagedStr = re.search(notStagePatternStr, cmdResult, flags=re.S)

            for eachNotStageStr in notStagedLineList:
                modifyStrEn = "modified:"
                modifyStrZhcn = "修改:"
                deletedStrEn = "deleted:"
                deletedStrZhcn = "删除:"
                # foundFile = re.search("\t(?P<action>(modified)|(deleted)):\s+(?P<filePath>\S+)$", eachNotStageStr)
                actionFilePatternStr = "\t?(?P<action>(((%s)|(%s)))|(((%s)|(%s))))\s+(?P<filePath>\S+)$" % (modifyStrEn, modifyStrZhcn, deletedStrEn, deletedStrZhcn)
                print("actionFilePatternStr=%s" % actionFilePatternStr)
                foundFile = re.search(actionFilePatternStr, eachNotStageStr)


        includeCommitedStrEn = "to include in what will be committed\)"
        includeCommitedStrZhcn = "以包含要提交的内容)"
        commitEmptyStrEn = "nothing added to commit but untracked files present"
        commitEmptyStrZhcn = "提交为空,但是存在尚未跟踪的文件"
        # foundUntrackedStr = re.search("to include in what will be committed\)\s+(?P<untrackedStr>.+?)\s+no changes added to commit", cmdResult, flags=re.S)
        untrackedPatternStr = "((%s)|(%s))\s+(?P<untrackedStr>.+?)\s+((%s)|(%s)|(%s)|(%s))" % (includeCommitedStrEn, includeCommitedStrZhcn, addCommitStrEn, addCommitStrZhcn, commitEmptyStrEn , commitEmptyStrZhcn)
        print("untrackedPatternStr=%s" % untrackedPatternStr)
        foundUntrackedStr = re.search(untrackedPatternStr, cmdResult, flags=re.S)


                # foundUntrackedFile = re.search("\t?(?P<untrackedFile>src/.+)$", eachUntrackedLine)
                foundUntrackedFile = re.search("\t?(?P<untrackedFile>src/.*)$", eachUntrackedLine)


                                # "action": "added",
                                "action": "added:",


            # isModified = curAction == "modified"
            # isAdded = curAction == "added"
            # isDeleted = curAction == "deleted"
            isModified = (curAction == "modified:") or (curAction == "修改:")
            isAdded = (curAction == "added:") or (curAction == "新增:")
            isDeleted = (curAction == "deleted") or (curAction == "删除:")
即可支持:
已提交过的git的,有改动的文件
未提交过的,新的git仓库的文件
另外,顺带再去支持:
输入 . 表示当前目录
调试
 python ../../common/tools/generate_md_from_summary.py -e .
代码:
entry = os.path.abspath(entry)
print("entry=%s" % entry)
可以输出:
entry=/Users/xxx/dev/crifan/gitbook/gitbook_template/books/web_automation_tool_playwright
-》自动就支持了。

最新代码详见:
gitbook_template/generate_md_from_summary.py at master · crifan/gitbook_template (github.com)
https://github.com/crifan/gitbook_template/blob/master/common/tools/generate_md_from_summary.py

转载请注明:在路上 » 【已解决】更新generate_md_from_summary支持git中文输出

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
87 queries in 0.137 seconds, using 21.68MB memory