From c4dd7b1ce89342b0d762032a744fb79369ced24d Mon Sep 17 00:00:00 2001 From: EillesWan Date: Wed, 2 Feb 2022 22:51:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=AD=A3=E5=9C=A8=E8=A2=AB?= =?UTF-8?q?=E9=87=8D=E6=9E=84=EF=BC=8C=E8=AF=B7=E4=B8=8D=E8=A6=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=A6=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=8C=E8=AF=B7=E6=8E=A8=E9=80=81=E8=87=B3?= =?UTF-8?q?OldUI=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Musicreater.New.py | 69 ++++++++++ Musicreater.py | 3 +- README_en.md | 2 +- msctLib/__init__.py | 0 msctLib/data.py | 134 +++++++++++++++++++ {msctspt => msctLib}/settings.py | 34 ++--- msctspt/__pycache__/funcOpera.cpython-38.pyc | Bin 5952 -> 10610 bytes msctspt/transfer.py | 47 ++++--- options/__init__.py | 0 resources/myWords.txt | 2 +- 10 files changed, 254 insertions(+), 37 deletions(-) create mode 100644 Musicreater.New.py create mode 100644 msctLib/__init__.py create mode 100644 msctLib/data.py rename {msctspt => msctLib}/settings.py (93%) create mode 100644 options/__init__.py diff --git a/Musicreater.New.py b/Musicreater.New.py new file mode 100644 index 0000000..76b22de --- /dev/null +++ b/Musicreater.New.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- + + +# W-YI 金羿 +# QQ 2647547478 +# 音·创 开发交流群 861684859 +# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com +# 版权所有 Team-Ryoun 金羿 +# 若需转载或借鉴 请附作者 + + +""" + Copyright 2022 Eilles Wan (金羿) + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" + +# 代码写的并非十分的漂亮,还请大佬多多包涵;本软件源代码依照Apache软件协议公开 + + +# 下面为正文 + + + +from msctspt.bugReporter import version + +__ver__ = f'{version.version[1]} {version.version[0]}' +__author__ = '金羿Eilles' + + +import tkinter +import tkinter.simpledialog as sdialog +import tkinter.filedialog as fdialog + + + +from msctLib.settings import settings + + + + + + + + +def __main__(): + + pass + + + + + + + + + +if __name__ == '__main__': + __main__() \ No newline at end of file diff --git a/Musicreater.py b/Musicreater.py index d3dc43c..fe0b2b4 100644 --- a/Musicreater.py +++ b/Musicreater.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -# ! python3 # W-YI 金羿 @@ -61,7 +60,7 @@ from msctspt.threadOpera import NewThread from nmcsup.vers import VER __version__ = VER[1] + VER[0] -__author__ = 'W-YI (金羿)' +__author__ = '金羿Eilles & 诸葛亮与八卦阵bgArray' dire = "" begp = "" endp = "" diff --git a/README_en.md b/README_en.md index af1de93..73c34b9 100644 --- a/README_en.md +++ b/README_en.md @@ -89,7 +89,7 @@ Musicreater - > function (package) - > the following four new functions 3. Thank *Charlie_Ping “查理平”* for bdx convert funtion. 4. Thank *CMA_2401PT* for BDXWorkShop as the .bdx structure's operation guide. 5. Thank *Miracle Plume “神羽”* \ for the Miracle Plume Bedrock Edition Audio Resource Pack -6. Thank *Arthur Morgan* for his/her biggest support for Musicreater +6. Thank *Arthur Morgan* for his/her biggest support for the debugging of Musicreater 7. Thanks for a lot of groupmates who support me and help me to test the program. 8. If you have give me some help but u haven't been in the list, please contact me. diff --git a/msctLib/__init__.py b/msctLib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/msctLib/data.py b/msctLib/data.py new file mode 100644 index 0000000..4290dce --- /dev/null +++ b/msctLib/data.py @@ -0,0 +1,134 @@ +# -*- coding:utf-8 -*- + + +import pickle +import json +from typing import Any, Iterable + + + + +class pickleIO: + + def __init__(self,fileName:str,data: Any = None) -> None: + '''简单的pickle操作功能''' + self.file = fileName + if data: + self._data = data + else: + with open (self.file, 'rb') as f: + self._data = pickle.load(f) + + def __call__(self, *args: Any, **kwds: Any) -> Any: + return self.data + + def write(self): + '''将数据写入pickle''' + with open (self.file, 'wb') as f: + pickle.dump(self._data, f) + + + def load(self) -> Any: + '''从文件读取数据''' + with open (self.file, 'rb') as f: + self._data = pickle.load(f) + return self.data + + @property + def data(self): + '''返回数据值''' + if self._data is None: + raise ValueError('无可用值载入或值为None') + else: + return self._data + + + +class jsonIO: + + def __init__(self,fileName:str,data: Any = None) -> None: + '''简单的json操作功能''' + self.file = fileName + if data: + self._data = data + else: + with open (self.file, 'r', encoding='utf-8') as f: + self._data = json.load(f) + + def __call__(self, *args: Any, **kwds: Any) -> Any: + return self.data + + def write(self): + '''将数据写入json''' + with open (self.file, 'w', encoding='utf-8') as f: + json.dump(self._data, f) + + + def load(self) -> Any: + '''从文件读取数据''' + with open (self.file, 'r', encoding='utf-8') as f: + self._data = json.load(f) + return self.data + + @property + def data(self): + '''返回数据值''' + return self._data + + +class uniteIO: + + def __init__(self,fileName:str,fileType,data: Any = None) -> None: + '''简单的文件数据IO操作功能''' + self.filename = fileName + if not fileType is None: + self._type = fileType + else: + try: + with open (self.filename, 'r', encoding='utf-8') as f: + self._type = json + except: + with open (self.file, 'rb') as f: + self._type = pickle + + if self._type == json: + with open (self.filename, 'r', encoding='utf-8') as f: + self._rfile = f + with open (self.filename, 'w', encoding='utf-8') as f: + self._wfile = f + elif self._type == pickle: + with open (self.file, 'rb') as f: + self._rfile = f + with open (self.file, 'wb') as f: + self._wfile = f + + if not data is None: + self._data = data + else: + self._data = self._type.load(self._rfile) + + + def __call__(self, *args: Any, **kwds: Any) -> Any: + return self.data + + def write(self): + '''将数据写入文件''' + self._type.dump(self._data, self._wfile) + + + def load(self) -> Any: + '''从文件读取数据''' + self._data = self._type.load(self._rfile) + return self.data + + @property + def data(self): + '''返回数据值''' + return self._data + + +if __name__ == '__main__': + from sys import argv + + if argv[1]: + input(pickle(argv[1]).data) \ No newline at end of file diff --git a/msctspt/settings.py b/msctLib/settings.py similarity index 93% rename from msctspt/settings.py rename to msctLib/settings.py index e758f09..59f6adf 100644 --- a/msctspt/settings.py +++ b/msctLib/settings.py @@ -1,18 +1,18 @@ -# -*- coding:utf-8 -*- - - - - -settings = { - 'language' : 'zh-CN', - 'theme' : { - '' : '', - }, -} - -class msctSetting: - def __init__(self,**settings) -> None: - pass - - def __call__(self, **kwds): +# -*- coding:utf-8 -*- + + + + +settings = { + 'language' : 'zh-CN', + 'theme' : { + '' : '', + }, +} + +class msctSetting: + def __init__(self,**settings) -> None: + pass + + def __call__(self, **kwds): pass \ No newline at end of file diff --git a/msctspt/__pycache__/funcOpera.cpython-38.pyc b/msctspt/__pycache__/funcOpera.cpython-38.pyc index 4e3e7ffc7094496c5aa6c3241e26099fbe6d5755..c131e41abfd48ace311bfddef0091b59042160a1 100644 GIT binary patch literal 10610 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 delta 1079 zcmZWnU1%It6rOYEXJ=-2XE*zk%}G;G@3y>X|5^;9TaL^L^*s z@18j`f1UV#%9xKvbpfv%o?CIot{HnSo<&9lQ=mY}64=BfAkbb*v_vYc6Dm_>RW>D> z*;PVRMMbt0s;vXnX?RsKL$nWh6uCiTm{n;%?V*WPFf}?rlQe~qPSbNjanPN_1OK?$ zzVl`0?Hk$cYrnEIVSSXWh%JGN{lW^g2!%z`ei5E0k)5iO+n-$Ne0`N~iNm1ryW)uq zVZHy~!S?e7$g~%vO@Ms6M@a%K@v+bdJl=jH^c#TBbJ~E+Qg}W;qz%K(f z!K~Ab3ZqX|Y|9g~CEe?>E?8C9v9ga@FVs;znD={z3S8&bsx@q^8B+$CTEI#G?oXKAC2wB?TfLAkSAp)OS;QHh}pAl zVz@cX_$NoclcQtL=Pysq^ube``(tWV{sjBXzslbeE?b zR;f2xj<3ZJ7jkHBs?~;VSL(EBDoqFbZ2F2_xv*r_SsK$moZ)}RhhMTWZXQAqNCYHY z0ro-)4uA>AU;v{$t_R>bFhE82I--tCg)A}^MiCWYkD^1B1U~;=3O<8RaTxFBUA{SX z4pRKVLPnG}WPWKV9r~q3&Ia+%V}#jf9^^_W6vIAgG=0f+Ym^1u`>I`8v}lbr*$m(6O2=wqSM1l%Ea6jVKXKU;_^5!UlKvW!~N(k(O zX&j{r3ON=ium`dlPJRIsY?iN2