Skip to content

Commit

Permalink
add zip auto unzip
Browse files Browse the repository at this point in the history
  • Loading branch information
LoRexxar committed Jun 16, 2022
1 parent bd3ba14 commit 89377aa
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
1 change: 1 addition & 0 deletions core/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ def start(target, formatter, output, special_rules, a_sid=None, language=None, t

# target directory
try:
logger.info('[CLI] Target Mode: {}'.format(target_mode))
target_directory = pa.target_directory(target_mode)
logger.info('[CLI] Target : {d}'.format(d=target_directory))

Expand Down
3 changes: 2 additions & 1 deletion docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,4 +299,5 @@
- 修复了几个PHP的语法支持问题
- 修复了组件扫描中关于pom.xml静态扫描的几个语法解析错误
- 修改了组件数据储存格式
- 从这个版本后不再做小版本的更新,只做bug修复维护,后续会有一个直接更新到3.0的大版本更新
- 从这个版本后不再做小版本的更新,只做bug修复维护,后续会有一个直接更新到3.0的大版本更新

16 changes: 15 additions & 1 deletion utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@
import sys
import time
import ast
import zipfile

from Kunlun_M.settings import RULES_PATH, PROJECT_DIRECTORY

from utils.log import logger, logger_console
from utils.file import check_filepath, get_line
from utils.file import check_filepath, get_line, un_zip

TARGET_MODE_GIT = 'git'
TARGET_MODE_FILE = 'file'
Expand Down Expand Up @@ -162,6 +163,19 @@ def target_directory(self, target_mode):
target_directory = self.target
elif target_mode == TARGET_MODE_FILE:
target_directory = self.target

# 检查目标是否为zip
if os.path.splitext(target_directory)[-1] == '.zip':
try:
logger.info("[CLI] Target {} is zip, try to unzip.".format(target_directory))
target_directory = un_zip(target_directory)

except zipfile.BadZipFile:
logger.warning("[CLI] file {} not zip".format(target_directory))

except OSError:
logger.warning("[CLI] file {} unzip error".format(target_directory))

return target_directory
else:
logger.critical('[PARSE-ARGS] exception target mode ({mode})'.format(mode=target_mode))
Expand Down

0 comments on commit 89377aa

Please sign in to comment.