oi_cli2.utils package#

Subpackages#

Submodules#

oi_cli2.utils.FileUtil module#

class oi_cli2.utils.FileUtil.FileUtil[source]#

Bases: object

static copy(source_path: str, dest_path: str)[source]#
static read(out_path: str) str[source]#
static write(out_path: str, data: str)[source]#

oi_cli2.utils.HtmlTag module#

class oi_cli2.utils.HtmlTag.HtmlTag(http_util: HttpUtil)[source]#

Bases: HtmlTagAbstract

update_tag(tag, oj_prefix: str, update_style=None)[source]#
Parameters:
  • tag – 一个顶级tag,从这个tag递归遍历所有子tag,寻找需要修改url的节点

  • oj_prefix – 原oj的静态文件前缀

  • update_style – 不为空的话,递归修改内联style

Returns:

成功返回原tag,失败返回None

oi_cli2.utils.HttpUtil module#

class oi_cli2.utils.HttpUtil.HttpUtil(headers=None, logger=None)[source]#

Bases: object

static abs_url(remote_path, oj_prefix)[source]#
Parameters:
  • remote_path – 原本的文件路径,可能是相对路径也可能是http或https开始的路径

  • oj_prefix – oj的static文件前缀

Returns:

文件名,原本的补全之后的路径

property cookies#
get(url, allow_redirects: bool = True)[source]#
property headers#
post(url, data=None, allow_redirects: bool = True)[source]#

oi_cli2.utils.HttpUtilCookiesHelper module#

class oi_cli2.utils.HttpUtilCookiesHelper.HttpUtilCookiesHelper[source]#

Bases: object

oi_cli2.utils.Logger module#

oi_cli2.utils.Logger.getLogger(logger_path)[source]#

oi_cli2.utils.OJUtil module#

oi_cli2.utils.Provider2 module#

oi_cli2.utils.Provider2.gen_account_manager(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_cfg(p: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_http_util(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_json_db(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_json_db_cookies(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_logger(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#
oi_cli2.utils.Provider2.gen_template_manager(o: ~oi_cli2.utils.Singleton.Singleton.<locals>.wrapper)[source]#

oi_cli2.utils.Singleton module#

oi_cli2.utils.Singleton.Singleton(cls)[source]#

oi_cli2.utils.account module#

class oi_cli2.utils.account.AccountManager(db: ~oi_cli2.utils.db.JsonFileDB, cipher: ~oi_cli2.utils.enc.AESCipher, logger=<module 'logging' from '/opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/logging/__init__.py'>)[source]#

Bases: object

delete(platform: str, account: str) bool[source]#
get_account(platform: str, account: str) Optional[Account][source]#
get_default_account(platform: str) Account[source]#
get_list() List[Account][source]#
modify(platform: str, account: str, password=None, default=None) bool[source]#
new(platform, account, password, default=False) bool[source]#
set_default(index: int)[source]#

oi_cli2.utils.analyze module#

class oi_cli2.utils.analyze.AnalyzeManager(db: JsonFileDB)[source]#

Bases: object

add_analyze(platform, submit_lang, template_alias, class_path)[source]#
delete_analyze(index)[source]#
get_list() List[Analyze][source]#
modify_class_path(index: int, value: str)[source]#
modify_submit_lang(index: int, value: str)[source]#
modify_template_alias(index: int, value: str)[source]#
set_default(index: int)[source]#

oi_cli2.utils.async2sync module#

oi_cli2.utils.configFolder module#

class oi_cli2.utils.configFolder.ConfigFolder(folder_name: str)[source]#

Bases: object

get_config_file_path(file_path: str)[source]#
get_file_path(file_path: str)[source]#
get_root_folder()[source]#

oi_cli2.utils.db module#

class oi_cli2.utils.db.JsonFileDB(file_path: str, logger: Logger)[source]#

Bases: object

file_path: str#
load(col_name: str) Optional[Any][source]#
save(col_name: str, obj: Any) bool[source]#

oi_cli2.utils.diffTool module#

oi_cli2.utils.diffTool.diff_result_fn(std_in_file: str, std_out_file: str, user_out_file: str) None[source]#

oi_cli2.utils.enc module#

class oi_cli2.utils.enc.AESCipher(key: str)[source]#

Bases: object

decrypt(data: str) str[source]#
encrypt(data: str) str[source]#

oi_cli2.utils.start_terminal module#

oi_cli2.utils.start_terminal.start_terminal(folder: str)[source]#

oi_cli2.utils.template module#

class oi_cli2.utils.template.TemplateManager(db: JsonFileDB, platform: str = '')[source]#

Bases: object

add_template(platform, alias, path, compilation, execute, uplang) None[source]#
alias_exist(temps: List[Template], platform: str, alias: str)[source]#
delete_template(platform: str, name: str) bool[source]#
find_alias(temps: List[Template], platform: str, alias: str) int[source]#
get_default() Optional[Template][source]#
get_list() List[Template][source]#
get_platform_default(platform: str) Optional[Template][source]#
get_template_by_alias(alias: str) Optional[Template][source]#
get_template_by_name(platform: str, name: str) Optional[Template][source]#
modify_alias(index: int, value: str)[source]#
modify_clean(index: int, value: str)[source]#
modify_compilation(index: int, value: str)[source]#
modify_execute(index: int, value: str)[source]#
modify_path(index: int, value: str)[source]#
set_default(index: int)[source]#
set_temps_default(temps: List[Template], index: int)[source]#
update_template(platform, alias: str, newalias: str, path: str, compilation: str, execute: str, uplang: str, default: bool)[source]#

oi_cli2.utils.utc2local module#

oi_cli2.utils.utc2local.moscow_to_utc(dt: datetime) datetime[source]#
oi_cli2.utils.utc2local.utc_to_local(utc_datetime: datetime) datetime[source]#

oi_cli2.utils.wsTool module#

Module contents#