1 Star 2 Fork 1

bgArrayOrganization / PythonMusescoreXMLProcessor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
scoreClass.py 3.88 KB
一键复制 编辑 原始数据 按行查看 历史
bgArray 提交于 2022-04-03 20:42 . 存档
from xml.etree.ElementTree import *
class Musescore:
def __init__(self, type1=""):
if type1 == "":
self.type = "Load"
else:
self.type = type1
self.file = ""
self.tree = ""
self.xmlRoot = ""
self.head = []
self.body = []
self.data = [self.head, self.body]
self.musescoreV = ""
self.musescore_programVersion = ""
self.musescore_programRevision = ""
self.musescore_scoreTag = []
self.musescore_scoreLayerTag = {}
self.musescore_scoreCurrentLayer = 0
self.musescore_scoreDivision = 480
self.musescore_scoreStyle = []
self.musescore_scorePageWidth = 33.1098
self.musescore_scorePageHeight = 46.8098
self.musescore_scorePagePrintableWidth = 31.9264
self.musescore_scorePageEvenLeftMargin = 0.592913
self.musescore_scoreEnableVerticalSpread = 1
self.musescore_scoreSpatium = 1.75
self.musescore_scoreShowInvisible = 1
self.musescore_scoreShowUnprintable = 1
self.musescore_scoreShowFrames = 1
self.musescore_scoreShowMargins = 0
self.arranger = [{'name': 'arranger'}, None]
self.composer = [{'name': 'composer'}, None]
self.copyright = [{'name': 'copyright'}, None]
self.creationDate = [{'name': 'creationDate'}, None]
self.lyricist = [{'name': 'lyricist'}, None]
self.movementNumber = [{'name': 'movementNumber'}, None]
self.movementTitle = [{'name': 'movementTitle'}, None]
self.platform = [{'name': 'platform'}, None]
self.poet = [{'name': 'poet'}, None]
self.source = [{'name': 'source'}, None]
self.translator = [{'name': 'translator'}, None]
self.workNumber = [{'name': 'workNumber'}, None]
self.workTitle = [{'name': 'workTitle'}, None]
self.originalFormat = [{'name': 'originalFormat'}, None]
def load(self, file):
if file == "":
raise FileNotFoundError
else:
try:
self.tree = ElementTree(file=self.file)
except ParseError:
try:
self.tree = ElementTree(file='./resources/测试精华(这是标题)1.mscx')
except FileNotFoundError:
raise ParseError("老板你这xml有问题啊")
tree = ElementTree(file='./resources/测试精华(这是标题)1.mscx')
self.xmlRoot = tree.getroot()
# print(self.xmlRoot)
# self.musescoreV = self.xmlRoot.attrib
# print(type(self.xmlRoot.attrib))
orderPass = False
partMode = False
for ele in tree.iter():
print(ele.tag, ele.attrib, ele.text)
if ele.tag == "programVersion":
self.musescore_programVersion = ele.text
if ele.tag == "programRevision":
self.musescore_programRevision = ele.text
if ele.tag == "score":
self.musescore_scoreTag = []
if ele.tag == "Order":
orderPass = True
if orderPass:
if ele.tag == "name" or ele.tag == "family" or ele.tag == "instrument" or ele.tag == "section" or \
ele.tag == "unsorted":
pass
else:
print(ele.tag)
if ele.tag == "Part":
orderPass = False
part = []
partMode = True
if partMode:
if ele.tag == "Staff":
part.append([ele.attrib])
print(part)
if ele.tag == "Staff":
pass
# def check(self):
# print()
# if __name__ == '__main__':
# score = Score()
# score.load('./resources/测试精华(这是标题)1.mscx')
Python
1
https://gitee.com/bg-array-organization/python-musescore-xmlprocessor.git
git@gitee.com:bg-array-organization/python-musescore-xmlprocessor.git
bg-array-organization
python-musescore-xmlprocessor
PythonMusescoreXMLProcessor
master

搜索帮助