mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-14 11:09:25 +08:00
add: extract prefix assets to single file
This commit is contained in:
@@ -189,6 +189,56 @@ class ModuleExtractor:
|
||||
f.write(text + '\n')
|
||||
|
||||
|
||||
class ModuleExtractor(ModuleExtractor):
|
||||
@property
|
||||
def expression(self):
|
||||
exp = []
|
||||
prefix_assets = {}
|
||||
for file in os.listdir(self.folder):
|
||||
if file[0].isdigit():
|
||||
continue
|
||||
maybe_prefix = file.split("_", 1)[0]
|
||||
if maybe_prefix.islower():
|
||||
if maybe_prefix not in prefix_assets:
|
||||
prefix_assets[maybe_prefix] = list()
|
||||
prefix_assets[maybe_prefix].append(ImageExtractor(module=self.name, file=file).expression)
|
||||
continue
|
||||
if file.startswith('TEMPLATE_'):
|
||||
exp.append(TemplateExtractor(module=self.name, file=file).expression)
|
||||
continue
|
||||
# if file.startswith('OCR_'):
|
||||
# exp.append(OcrExtractor(module=self.name, file=file, config=self.config).expression)
|
||||
# continue
|
||||
if self.is_base_image(file):
|
||||
exp.append(ImageExtractor(module=self.name, file=file).expression)
|
||||
continue
|
||||
|
||||
exp.sort()
|
||||
for _, v in prefix_assets.items():
|
||||
v.sort()
|
||||
|
||||
logger.info('Module: %s(%s)' % (self.name, len(exp)))
|
||||
exp = IMPORT_EXP + exp
|
||||
for prefix_name in prefix_assets.keys():
|
||||
prefix_assets[prefix_name] = IMPORT_EXP + prefix_assets[prefix_name]
|
||||
return exp, prefix_assets
|
||||
|
||||
def write_to_file(self, file, text):
|
||||
with open(file, 'w', newline='') as f:
|
||||
for line in text:
|
||||
f.write(line + '\n')
|
||||
|
||||
def write(self):
|
||||
folder = os.path.join(MODULE_FOLDER, self.name)
|
||||
if not os.path.exists(folder):
|
||||
os.mkdir(folder)
|
||||
text, prefix_assets = self.expression
|
||||
|
||||
self.write_to_file(os.path.join(folder, BUTTON_FILE), text)
|
||||
for prefix, content in prefix_assets.items():
|
||||
self.write_to_file(os.path.join(folder, f"{prefix}_{BUTTON_FILE}"), content)
|
||||
|
||||
|
||||
def worker(module):
|
||||
me = ModuleExtractor(name=module)
|
||||
me.write()
|
||||
|
||||
Reference in New Issue
Block a user