From 8699b75a2cf916d0ab9618ba34b8878fafadaa1d Mon Sep 17 00:00:00 2001
From: codeboss <2422523675@qq.com>
Date: Mon, 29 Jul 2024 22:19:48 +0800
Subject: [PATCH] update
---
.idea/workspace.xml | 5 +++++
.../__pycache__/CompareViews.cpython-312.pyc | Bin 0 -> 10321 bytes
manage/NovelManage.py | 10 ++++++++--
manage/wnss.bat | 9 +++++++--
parse/StoryMap.py | 1 +
parse/__pycache__/StoryMap.cpython-312.pyc | Bin 7969 -> 8005 bytes
6 files changed, 21 insertions(+), 4 deletions(-)
create mode 100644 frame/__pycache__/CompareViews.cpython-312.pyc
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e08416a..9ff407a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,6 +7,8 @@
+
+
@@ -197,4 +199,7 @@
+
+
+
\ No newline at end of file
diff --git a/frame/__pycache__/CompareViews.cpython-312.pyc b/frame/__pycache__/CompareViews.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4fcd5baece8ae934a868bacb63b9d13aa7a74fdd
GIT binary patch
literal 10321
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
literal 0
HcmV?d00001
diff --git a/manage/NovelManage.py b/manage/NovelManage.py
index 9e3fcaa..3656688 100644
--- a/manage/NovelManage.py
+++ b/manage/NovelManage.py
@@ -3,10 +3,12 @@ import subprocess as xsub
import sys
import time
from typing import List
+from PyQt5.QtWidgets import QApplication
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from parse.StoryMap import XAST_ParseTool, storyline_list2map
from parse.StorylineCmp import CmpTool
from manage.MileStone import base_store_path, current_store_path
+from frame.CompareViews import CompareWindow
def git_save(target_dir: str):
@@ -41,7 +43,7 @@ def nsc_compile(target_dir: str):
if __name__ == "__main__":
- print(sys.argv)
+ app = QApplication(sys.argv)
cmd_line = ":".join(sys.argv[1:])
#wnss:-cmp
@@ -51,8 +53,12 @@ if __name__ == "__main__":
ast_old = XAST_ParseTool(base_store_path)
ast_new = XAST_ParseTool(current_store_path)
map_old = storyline_list2map(ast_old.story_list)
+ ast_old.storylines_plait(map_old)
map_new = storyline_list2map(ast_new.story_list)
+ ast_new.storylines_plait(map_new)
cmp_tool = CmpTool()
all_changed = cmp_tool.graph_compare(map_new, map_old)
- print(all_changed)
\ No newline at end of file
+ present_view = CompareWindow(map_new, all_changed, None)
+ present_view.show()
+ app.exec()
\ No newline at end of file
diff --git a/manage/wnss.bat b/manage/wnss.bat
index 5a7081c..bdb1c23 100644
--- a/manage/wnss.bat
+++ b/manage/wnss.bat
@@ -6,5 +6,10 @@ for %%i in (%0) do (
set "ScriptName=NovelManage.py"
set ScriptPath=%FolderPath%%ScriptName%
-@echo on
-python %ScriptPath% wnss -cmp
\ No newline at end of file
+set args_opt=wnss%1
+
+if %args_opt% == wnss-cmp (
+python %ScriptPath% wnss -cmp
+) else (
+echo ¶Ô±È»ùÏߣº wnss -cmp
+)
\ No newline at end of file
diff --git a/parse/StoryMap.py b/parse/StoryMap.py
index c8cfefb..d9ed95c 100644
--- a/parse/StoryMap.py
+++ b/parse/StoryMap.py
@@ -32,6 +32,7 @@ class StoryMap:
self.story_name = name
self.sort_index = 0
self.empty_head = FragmentSlice()
+ self.empty_head.set_to_memory("<空节点>")
self.slice_list: List[FragmentSlice] = [self.empty_head]
pass
diff --git a/parse/__pycache__/StoryMap.cpython-312.pyc b/parse/__pycache__/StoryMap.cpython-312.pyc
index c7824f1175106aa0bc04860f0fa10bb0bd5dd3ac..84dda602e5ad8a91b2e05388a2767a6edc766cd0 100644
GIT binary patch
delta 1729
zcmZ`)TWB0r7@jjbGdp{kOp<1^mvpz=nrNrhTr`aa(=`oEtE5@MNGz$zvgw|U6ZYoW
ziFPFrsi~wQXgq@Hi?LYIkc!lOD2fO^h~NdH77X*yAc)ns1PjHy==slVf(j1oH|Kok
z|Id8?<($2o_%fk=qiJ4&J-@#De)i=>EsWk=yywA5Q8+1NqeAtaO?8}NU%SsvlyfjuZTY@pGx;5a=nxb}tI+(bnbhOXDAO{}}CDkZ!1vb=6N`
zJ!yz1h@S@KBW)ozCHnyGVz46cbrJ+Z-2sI@EB7eiNL2cvJb}El#S>PS81a@ci|8_n
z(348HIPIZ7hxgFG>OAyYe`szB%?c@*8S$qg7_KA%sWUzXeYaLV{q2?Wx6Xf(FcjNc
zwu+>ZDx~w6jf=!enS~5K$0gWa%(7WYJ%iI3E|OW~%(FO^Gs~7y%L9~pHxFz~LPCom
zywETL`wpi|?J2gSX{AySYPs(XceGXYzouW*e^T4NSKHpn-%z{PJG-yz*YvfH{srk(
zo#(3B;jTlEbi#&v0PX{*188JmyK=Zd8epWPOC?;$?8xb2+^!rtt6p-l7h!o@Zspr)
z%))RvMFjD-D{ES1=*T!P+6#=P7C%+4-01gerx6VXGoQM;fWVVog55)<@_7FYPT
zA^NqpT#Kh#tdo%n`VEN;&{;jw3|_W>3R}l4i0JPaIvtW^SHri1H9wZ6SMdunqC`gwYK6Cc%s*W`t5c%=9
zWrDMqkRf`psl|61%z4s==|@e644yh2$a)60uYk{4Bj#kzEKD&OaEJ(0l8jO@a2N%v
z?SXbALB8l0;b!_=^DpQ$Jrj&{o&lq$0r(fVYB<;gl0haI?5M77_g-)xPo^E9o529x
z2)^woPtun{Gw5;pXQ(5>KMw)2b6+TC@IRVkAUy5Z4^=-7yV0>;_zWB^!%cR(i|hvG
zbVm~yK^GXR6Bv0&tJwS2*(*XZz)uX@x^wJA^uLgNb!nAfVu!7(+iO@%*PwFP4*@ejiagiCi
z8VyIFFYQKthkz-+8Sc-gOQb??MvwAT89Ln`i_i6grD9b|ti*&z!h-;Hww@*I{%L;#
z8fMhQ&l82QP6#|mE|MR<3M~9Pgl)AiU(C$paDvRSRk+H_PchhZA%r%B*qRXA5Lzkw
ha|pNHRsu+S{ju8ud)?^_p{6Z?!JQtu6}y+W*WYPfZGQj&
delta 1844
zcmZ`)U1(cX96#sg-Xu+O)21fvlC)_ot>ad=u5;a}&dw^`7;Cda=U4X;(&nVzEx8Hj
z-j<~ZRjj%Ph1N50!-pXZKbS8g4-*;a%bsL7(T8%K^g$2?KCEmo98>)N&+Y0I4CHst
z`Jeyy$GO*rKN;4))AbO6-!~t9R&rMKB)zz@bot5YL-
z3l-!HpR10U_R95GQXRGCDu&`VjaF(-Jy$Iz6HHyZ-q?d5+mGwQTGaNCLDlZ1^a^LP{(rM1+f}i548Qb%k0UvUfI+!F({gw}>>h@K68ta%7RwD*SS4@4q}m!B(Js!;_pz&<
zshy3L)^0_YW;D)9jPo(^Z9E-*4K>ID8@AYKXVRQ5o7OCNhOtU}
z{1q{jcv5E4O^D@0qOq8WQyA{EZGRp@oeL2MB)8dY#xbjwtK!KB@MEapID#}RF>XEpv22>`3;fq%)WSctd35|Fm5_dD7z_Yuri(
z=*TmuOipWnZ}u(U4Abj7d|%{*7(p-4F(gIT_c$rB(p|(ejq)+
oki;4pxa&_)efi*B0?WM}?KHkl0PgLYptNb7Oo)!IUKIoW8@jBDZ2$lO