Kaynağa Gözat

env -> context

Nattiden 2 yıl önce
ebeveyn
işleme
10d27c2245

+ 4 - 1
.gitignore

@@ -7,4 +7,7 @@ private.*
 __pycache__
 .DS_Store
 Log
-private.*
+private.*
+output/
+Private/
+output.xaml

+ 3 - 3
Project/modules/CheckDomainSafety.py

@@ -2,8 +2,8 @@ from homepagebuilder.interfaces import config
 from homepagebuilder.interfaces.Events import on, ResultOverride
 
 @on('page.generate.start')
-def script(_page,env):
-    if env.get('setter'):
-        if mod_domain := env.get('setter').override.get('domain'):
+def script(_page,context):
+    if context.setter:
+        if mod_domain := context.setter.override.get('domain'):
             if mod_domain not in config('safe_domains',['news.bugjump.net']):
                 raise ResultOverride('')

+ 3 - 3
Project/modules/GetLink.py

@@ -24,14 +24,14 @@ def gen_official_link(vid:str):
 @script('GetLink')
 def get_link(link_type,link_key=None,**kwargs):
     card = kwargs['card']
-    env = kwargs['env']
+    context = kwargs['context']
     name:str = card['version-id']
     if card.get('not_finished') == 'true' and link_type != 'Official':
         return ''
-    data = env['data'][f'{link_type}Link']
+    data = context.data[f'{link_type}Link']
     if link_key:
         return data[link_key]
-    name = format_code(name,card,env)
+    name = format_code(name,card,context)
     if link_type == 'Official' and name not in data:
         return gen_official_link(name)
     result = data.get(name)

+ 2 - 2
Project/modules/VersionCategory.py

@@ -6,9 +6,9 @@ FULL_VERSIONS = MANIFSET.get('versions')
 ID_LIST = [version.get('id') for version in FULL_VERSIONS]
 
 @script('VersionCategory')
-def version_category(cat_name,env,**_):
+def version_category(cat_name,context,**_):
     cards = list(filter(lambda card:isinstance(card.get('cats'),list)
-           and cat_name in card.get('cats'), env.get('Project').get_all_card()))
+           and cat_name in card.get('cats'), context.project.get_all_card()))
     cardrefs = [card['card_id'] for card in cards]
     cardrefs.sort(key=lambda ver:ID_LIST.index(ver.split(':')[1]))
     return str.join(';',cardrefs)

+ 12 - 13
Project/modules/VersionLists.py

@@ -1,4 +1,3 @@
-from homepagebuilder.core.project import Project
 from homepagebuilder.interfaces import require,script,format_code
 
 mcv = require('MinecraftVersions') # 需求前置 MinecraftVersions
@@ -7,31 +6,31 @@ FULL_VERSIONS = MANIFSET.get('versions')
 ID_LIST = [version.get('id') for version in FULL_VERSIONS]
 
 @script('VersionArchiveList')
-def version_achive_list(cat_name,env,card,**_):
-    components = env.get('components')
-    cat_name = format_code(code = cat_name,data=card,env=env)
+def version_achive_list(cat_name,context,card,**_):
+    components = context.components
+    cat_name = format_code(code = cat_name,data=card,context=context)
     cards = list(filter(lambda card:isinstance(card.get('cats'),list)
-           and cat_name in card.get('cats'), env.get('project').get_all_card()))
+           and cat_name in card.get('cats'), context.get('project').get_all_card()))
     code = '<StackPanel Margin="8,2,8,15">'
     cards.sort(key=lambda card:ID_LIST.index(format_code(card['version-id'],
-                                                         data=card,env=env)))
+                                                         data=card,context=context)))
     if len(cards) > 0 and cards[0]['version-type-id'] not in ['Release','April-Fools']:
-        code += components['VersionLinks/Future'].toxaml(card={},env=env)
+        code += components['VersionLinks/Future'].toxaml(card={},context=context)
     for vercard in cards:
         if vercard.get('lack'):
-            code += components['VersionLinks/Lack'].toxaml(card=vercard,env=env)
+            code += components['VersionLinks/Lack'].toxaml(card=vercard,context=context)
         else:
-            code += components['VersionLinks/Common'].toxaml(card=vercard,env=env)
+            code += components['VersionLinks/Common'].toxaml(card=vercard,context=context)
     code += '</StackPanel>'
     return code
 
 @script('VersionLatestList')
-def version_latest_list(env,**_):
-    proj = env.get('project')
-    components = env.get('components')
+def version_latest_list(context,**_):
+    proj = context.get('project')
+    components = context.get('components')
     code = ''
     for version_type in ['release','snapshot']:
         if latest_version := mcv.get_latest(version_type):
             vercard = proj.base_library.get_card(latest_version,False)
-            code += components['VersionLinks/Latest'].toxaml(card=vercard,env=env)
+            code += components['VersionLinks/Latest'].toxaml(card=vercard,context=context)
     return code