修改 parser 结构,着手重构 parser.py

This commit is contained in:
EstrellaXD
2022-06-02 20:20:19 +08:00
parent 0590d30494
commit 1cf752d7e6
5 changed files with 59 additions and 7 deletions

View File

@@ -21,7 +21,6 @@ if __name__ == "__main__":
args = parse()
if args.debug:
from const_dev import DEV_SETTINGS
settings.init(DEV_SETTINGS)
else:
settings.init()

View File

@@ -1,7 +1,7 @@
import os
import const
class Settings(dict):
def __getattr__(self, item):
return self.get(item)
@@ -22,7 +22,6 @@ class Settings(dict):
val = conv_func(val)
return val
def _settings_from_env(self):
"""Loads settings from env."""
return {

View File

@@ -7,7 +7,7 @@ from tomlkit import item
from conf import settings
from downloader.exceptions import ConflictError
from exceptions import ConflictError
logger = logging.getLogger(__name__)

View File

@@ -11,4 +11,5 @@ def setup_logger():
encoding="utf-8",
)
setup_logger()

View File

@@ -1,4 +1,57 @@
import re
from conf import settings
from utils import json_config
import requests
from log import logger
class Parser:
def parse(filename):
# TODO 番剧名称识别
pass
# TODO 番剧名称识别
def __init__(self, info):
self.raw_name = info
self.name = None
self.season = None
self.episode = None
self.group = None
self.dpi = None
self.language = None
try:
self.rules = requests.get(settings.rule_url).json()
except Exception as e:
logger.exception(e)
json_config.save(settings.rule_path, self.rules)
def parser_type_1(self):
self.name = "name"
self.season = "S01"
self.episode = 1
self.dpi = "1080p"
self.language = "CHT"
def parser_type_2(self):
self.name = "name"
def method(self, method):
if method == 1:
self.parser_type_1()
elif method == 2:
self.parser_type_2()
elif method == 3:
def split_info(self):
break_flag = False
for rule in self.rules:
for group in rule["group"]:
if re.search(group, self.raw_name):
self.method(rule["type"])
self.group = group
break_flag = True
break
if break_flag:
break