Kaynağa Gözat

using builder interfaces

Nattiden 2 yıl önce
ebeveyn
işleme
7efc000b54

+ 3 - 1
Resources/Scripts/GetLink.py → Modules/GetLink.py

@@ -1,4 +1,5 @@
 import re
+from Interfaces import script
 
 SNAPSHOT_PATTERN = re.compile(r'^[0-9]{2}[w|W][0-9]{2}[A-Fa-f]$')
 PRE_RELEASE_PATTERN = re.compile(r'^.*-pre[0-9]+$')
@@ -19,7 +20,8 @@ def gen_official_link(vid:str):
         return f'https://minecraft.net/article/minecraft-java-edition-{vid.replace(".","-")}'
     return ''
 
-def script(link_type,link_key=None,**kwargs):
+@script('GetLink')
+def get_link(link_type,link_key=None,**kwargs):
     card = kwargs['card']
     res = kwargs['res']
     name:str = card['version-id']

+ 26 - 0
Modules/MainPageVersions.py

@@ -0,0 +1,26 @@
+from Interfaces import script,require,Logger
+
+mcv = require('MinecraftVersions') # 需求前置 MinecraftVersions
+latest_version = mcv.get_latest()
+latest_type = mcv.get_version_type(latest_version)
+logger = Logger('MainPageVersions')
+
+@script('MainPageVersions')
+def mainPageVersion(page_area,**_):
+    '''脚本体'''
+    if page_area == 'new':
+        result = f"{latest_version} | latest = true | s = false"
+        if latest_type == 'snapshot':
+            iversion = latest_version
+            index = 1
+            while True: # 循环添加该周发布的所有版本
+                if (mcv.get_version_type(iversion) != 'snapshot') or (iversion[5] == 'a'):
+                    break
+                index += 1
+                iversion = mcv.get_latest('snapshot',index)
+                result += f';{iversion} | s = false'
+        return result
+    else:
+        if latest_type == 'release':
+            return ''
+        return f"{mcv.get_latest('release')} | latest = true"

+ 1 - 1
Resources/Scripts/MinecraftVersions.py → Modules/MinecraftVersions.py

@@ -1,4 +1,4 @@
-from Core.logger import Logger
+from Interfaces import Logger
 import requests
 import json
 import re

+ 3 - 0
Resources/Scripts/SeparatorContent.py → Modules/SeparatorContent.py

@@ -1,3 +1,6 @@
+from Interfaces import script
+
+@script('SeparatorContent')
 def script(card,**_):
     content = card['content']
     return '  '.join(list(content))

+ 8 - 0
Modules/ServerJar.py

@@ -0,0 +1,8 @@
+from Interfaces import invoke,require,script
+
+mcv = require('MinecraftVersions') # 需求前置 MinecraftVersions
+get_server_jar = mcv.get_server_jar()
+
+@script('ServerJar')
+def script(card,**_):
+    return get_server_jar(card['version-id'])

+ 5 - 5
Resources/Scripts/VersionAchiveList.py → Modules/VersionAchiveList.py

@@ -1,13 +1,13 @@
 from Core.project import Project
-from Core.module_manager import invoke_module, until_loaded
-from Core.code_formatter import format_code
+from Interfaces import require,script,format_code
 
-until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
-MANIFSET = invoke_module('MinecraftVersions','get_manifset')()
+mcv = require('MinecraftVersions') # 需求前置 MinecraftVersions
+MANIFSET = mcv.get_manifset()
 FULL_VERSIONS = MANIFSET.get('versions')
 ID_LIST = [version.get('id') for version in FULL_VERSIONS]
 
-def script(cat_name,proj:Project,card,**_):
+@script('VersionAchiveList')
+def version_achive_list(cat_name,proj:Project,card,**_):
     cat_name = format_code(code = cat_name,card=card,project=proj)
     cards = list(filter(lambda card:isinstance(card.get('cats'),list)
            and cat_name in card.get('cats'), proj.get_all_card()))

+ 5 - 4
Resources/Scripts/VersionCategory.py → Modules/VersionCategory.py

@@ -1,12 +1,13 @@
 from Core.project import Project
-from Core.module_manager import invoke_module, until_loaded
+from Interfaces import script,require
 
-until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
-MANIFSET = invoke_module('MinecraftVersions','get_manifset')()
+mcv = require('MinecraftVersions') # 需求前置 MinecraftVersions
+MANIFSET = mcv.get_manifset()
 FULL_VERSIONS = MANIFSET.get('versions')
 ID_LIST = [version.get('id') for version in FULL_VERSIONS]
 
-def script(cat_name,proj:Project,**_):
+@script('VersionCategory')
+def version_category(cat_name,proj:Project,**_):
     cards = list(filter(lambda card:isinstance(card.get('cats'),list)
            and cat_name in card.get('cats'), proj.get_all_card()))
     cardrefs = [card['card_id'] for card in cards]

+ 0 - 30
Resources/Scripts/MainPageVersions.py

@@ -1,30 +0,0 @@
-from Core.module_manager import invoke_module, until_loaded
-from Core.logger import Logger
-
-until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
-get_latest = invoke_module('MinecraftVersions','get_latest')
-get_type = invoke_module('MinecraftVersions','get_version_type')
-
-latest_version = get_latest()
-latest_type = get_type(latest_version)
-
-logger = Logger('MainPageVersions')
-
-def script(page_area,**_):
-    '''脚本体'''
-    if page_area == 'new':
-        result = f"{latest_version} | latest = true | s = false"
-        if latest_type == 'snapshot':
-            iversion = latest_version
-            index = 1
-            while True: # 循环添加该周发布的所有版本
-                if (get_type(iversion) != 'snapshot') or (iversion[5] == 'a'):
-                    break
-                index += 1
-                iversion = get_latest('snapshot',index)
-                result += f';{iversion} | s = false'
-        return result
-    else:
-        if latest_type == 'release':
-            return ''
-        return f"{get_latest('release')} | latest = true"

+ 0 - 7
Resources/Scripts/ServerJar.py

@@ -1,7 +0,0 @@
-from Core. module_manager import invoke_module, until_loaded
-
-until_loaded('MinecraftVersions') # 需求前置 MinecraftVersions
-get_server_jar = invoke_module('MinecraftVersions','get_server_jar')
-
-def script(card,**_):
-    return get_server_jar(card['version-id'])