ensure_ascii false

This commit is contained in:
ElonJunior 2024-06-06 15:35:51 +08:00
parent 2acf1348e2
commit 354ba9e22e
2 changed files with 32 additions and 15 deletions

View File

@ -71,7 +71,7 @@ jobs:
env: env:
NO_SKIP: true NO_SKIP: true
run: | run: |
mkdir -p ./sing-rule/karing mkdir -p ./sing-rule/recommend
python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/ python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/
- name: Git push assets to "sing-rule" branch - name: Git push assets to "sing-rule" branch

View File

@ -2,9 +2,10 @@
- outbound: - outbound:
- direct_out 直连 - direct_out [direct] 直连
- block_out 屏蔽 - block_out [block] 屏蔽
- selector_out 当前选择[default] - selector_out [currentSelected] 当前选择(default)
- [selector] 自动选择
- default - default
- geoip/[area].srs - geoip/[area].srs
@ -30,6 +31,15 @@ def debug_log(msg: str):
pass pass
# diy change for karing
OPT_CFG_JSON_DIR = 'recommend'
OPT_OUTBOUND_CHG_MAP = {
'direct_out': 'direct',
'block_out': 'block',
'selector_out': 'currentSelected',
}
# rule-set
OPT_RULESET_GROUPS = {} OPT_RULESET_GROUPS = {}
OPT_RULESET_GROUPS['default'] = { OPT_RULESET_GROUPS['default'] = {
'🛑 Adblock': { '🛑 Adblock': {
@ -226,12 +236,15 @@ OPT_RULESET_GROUPS['ir']['☁️ parspack'] = {
def maker_for_area(area: str, config: dict, root_path: str) -> bool: def maker_for_area(area: str, config: dict, root_path: str) -> bool:
# config dir/file # config dir/file
cfg_dir = os.path.join(root_path, 'karing') cfg_dir = os.path.join(root_path, OPT_CFG_JSON_DIR)
if not os.path.exists(cfg_dir): if not os.path.exists(cfg_dir):
os.mkdir(cfg_dir) os.mkdir(cfg_dir)
debug_log(f"mkdir {cfg_dir}") debug_log(f"mkdir {cfg_dir}")
cfg_file = os.path.join(cfg_dir, f"{area}.json") files = {
'rule_set': os.path.join(cfg_dir, f"{area}-set.json"),
'rules': os.path.join(cfg_dir, f"{area}.json"),
}
# for each group # for each group
route_dict = {'rules': {}, 'rule_set': {}} route_dict = {'rules': {}, 'rule_set': {}}
@ -253,17 +266,18 @@ def maker_for_area(area: str, config: dict, root_path: str) -> bool:
# END for # END for
ret = 0
for fk, file in files.items():
# convert to list # convert to list
route_dict['rule_set'] = list(route_dict['rule_set'].values()) route_list = list(route_dict[fk].values())
route_dict['rules'] = list(route_dict['rules'].values())
json_string = json.dumps({'route': route_dict}) json_string = json.dumps({fk: route_list}, indent=4, ensure_ascii=False)
with open(cfg_file, "w") as json_file: with open(file, "w") as json_file:
json_file.write(json_string) json_file.write(json_string)
debug_log(f"wirte to {cfg_file}") debug_log(f"wirte to {file}")
return True ret += 1
return False return True if ret == len(files) else False
def maker_one_rule(name: str, group: dict) -> dict: def maker_one_rule(name: str, group: dict) -> dict:
@ -315,6 +329,9 @@ def maker_one_row(gval: any) -> dict:
else: else:
raise ValueError(f"ERR: type:{vtype} gval:{gval}") raise ValueError(f"ERR: type:{vtype} gval:{gval}")
## chg for karing
gval['outbound'] = OPT_OUTBOUND_CHG_MAP[gval['outbound']]
return gval return gval