add password from pos
Showing
6 changed files
with
51 additions
and
15 deletions
| ... | @@ -1165,7 +1165,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -1165,7 +1165,7 @@ class Command(BaseCommand, LoggerMixin): |
| 1165 | extract_path = os.path.join(doc_data_path, 'extract_content') | 1165 | extract_path = os.path.join(doc_data_path, 'extract_content') |
| 1166 | os.makedirs(extract_path, exist_ok=True) | 1166 | os.makedirs(extract_path, exist_ok=True) |
| 1167 | try: | 1167 | try: |
| 1168 | pwd_list = get_pwd_list_from_str(zip_doc.document_name) | 1168 | pwd_list = get_pwd_list_from_str(zip_doc.document_name, zip_doc.password) |
| 1169 | is_success = extract_zip_or_rar(zip_path, extract_path, pwd_list) | 1169 | is_success = extract_zip_or_rar(zip_path, extract_path, pwd_list) |
| 1170 | except Exception as e: | 1170 | except Exception as e: |
| 1171 | is_success = False | 1171 | is_success = False |
| ... | @@ -1281,7 +1281,8 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -1281,7 +1281,8 @@ class Command(BaseCommand, LoggerMixin): |
| 1281 | img_save_path = os.path.join(doc_data_path, 'img') | 1281 | img_save_path = os.path.join(doc_data_path, 'img') |
| 1282 | pdf_path = os.path.join(doc_data_path, '{0}.pdf'.format(doc.id)) | 1282 | pdf_path = os.path.join(doc_data_path, '{0}.pdf'.format(doc.id)) |
| 1283 | 1283 | ||
| 1284 | pdf_handler = PDFHandler(pdf_path, img_save_path, doc.document_name) | 1284 | pwd_list = get_pwd_list_from_str(doc.document_name, doc.password) |
| 1285 | pdf_handler = PDFHandler(pdf_path, img_save_path, doc.document_name, pwd_list=pwd_list) | ||
| 1285 | 1286 | ||
| 1286 | if classify_1_str == '0': | 1287 | if classify_1_str == '0': |
| 1287 | try: | 1288 | try: | ... | ... |
| ... | @@ -64,6 +64,7 @@ class HILDoc(models.Model): | ... | @@ -64,6 +64,7 @@ class HILDoc(models.Model): |
| 64 | 64 | ||
| 65 | page_count = models.IntegerField(null=True, verbose_name='文件page数目') | 65 | page_count = models.IntegerField(null=True, verbose_name='文件page数目') |
| 66 | metadata = models.TextField(null=True, verbose_name="电子PDF专属,PDF信息") | 66 | metadata = models.TextField(null=True, verbose_name="电子PDF专属,PDF信息") |
| 67 | password = models.CharField(null=True, max_length=64, verbose_name="文件密码") | ||
| 67 | 68 | ||
| 68 | class Meta: | 69 | class Meta: |
| 69 | managed = False | 70 | managed = False |
| ... | @@ -106,6 +107,7 @@ class AFCDoc(models.Model): | ... | @@ -106,6 +107,7 @@ class AFCDoc(models.Model): |
| 106 | 107 | ||
| 107 | page_count = models.IntegerField(null=True, verbose_name='文件page数目') | 108 | page_count = models.IntegerField(null=True, verbose_name='文件page数目') |
| 108 | metadata = models.TextField(null=True, verbose_name="电子PDF专属,PDF信息") | 109 | metadata = models.TextField(null=True, verbose_name="电子PDF专属,PDF信息") |
| 110 | password = models.CharField(null=True, max_length=64, verbose_name="文件密码") | ||
| 109 | 111 | ||
| 110 | class Meta: | 112 | class Meta: |
| 111 | managed = False | 113 | managed = False | ... | ... |
| ... | @@ -563,6 +563,7 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -563,6 +563,7 @@ class UploadDocView(GenericView, DocHandler): |
| 563 | document_scheme = document.get('documentScheme') | 563 | document_scheme = document.get('documentScheme') |
| 564 | data_source = document.get('dataSource') | 564 | data_source = document.get('dataSource') |
| 565 | document_name = document.get('documentName', '') | 565 | document_name = document.get('documentName', '') |
| 566 | pwd = document.get('password', '') | ||
| 566 | 567 | ||
| 567 | data_source = self.fix_data_source(data_source) | 568 | data_source = self.fix_data_source(data_source) |
| 568 | document_scheme = self.fix_scheme(document_scheme) | 569 | document_scheme = self.fix_scheme(document_scheme) |
| ... | @@ -581,6 +582,7 @@ class UploadDocView(GenericView, DocHandler): | ... | @@ -581,6 +582,7 @@ class UploadDocView(GenericView, DocHandler): |
| 581 | document_scheme=document_scheme, | 582 | document_scheme=document_scheme, |
| 582 | data_source=data_source, | 583 | data_source=data_source, |
| 583 | upload_finish_time=document.get('uploadFinishTime'), | 584 | upload_finish_time=document.get('uploadFinishTime'), |
| 585 | password=pwd if isinstance(pwd, str) and len(pwd) > 0 else None, | ||
| 584 | ) | 586 | ) |
| 585 | 587 | ||
| 586 | # 3. 选择队列进入 | 588 | # 3. 选择队列进入 | ... | ... |
| ... | @@ -25,12 +25,18 @@ def write_zip_file(dir_name, zipfile_path): | ... | @@ -25,12 +25,18 @@ def write_zip_file(dir_name, zipfile_path): |
| 25 | z.write(src_file_path, file_target_path) | 25 | z.write(src_file_path, file_target_path) |
| 26 | 26 | ||
| 27 | 27 | ||
| 28 | def get_pwd_list_from_str(doc_name): | 28 | def get_pwd_list_from_str(doc_name, doc_password): |
| 29 | all_password = [] | ||
| 30 | if isinstance(doc_password, str) and len(doc_password) > 0: | ||
| 31 | all_password.append(doc_password) | ||
| 32 | |||
| 29 | try: | 33 | try: |
| 30 | pwd_list = re.findall(r'\d{6}', doc_name) | 34 | pwd_list_from_doc_name = re.findall(r'\d{6}', doc_name) |
| 31 | return pwd_list | ||
| 32 | except Exception as e: | 35 | except Exception as e: |
| 33 | return [] | 36 | pwd_list_from_doc_name = [] |
| 37 | |||
| 38 | all_password.extend(pwd_list_from_doc_name) | ||
| 39 | return all_password | ||
| 34 | 40 | ||
| 35 | 41 | ||
| 36 | def extract_zip_or_rar(file_path, extract_path, pwd_list=[]): | 42 | def extract_zip_or_rar(file_path, extract_path, pwd_list=[]): | ... | ... |
src/common/tools/mssql_script22.py
0 → 100644
| 1 | import pyodbc | ||
| 2 | |||
| 3 | hil_sql = """ | ||
| 4 | ALTER TABLE hil_doc ADD password nvarchar(64); | ||
| 5 | """ | ||
| 6 | |||
| 7 | afc_sql = """ | ||
| 8 | ALTER TABLE afc_doc ADD password nvarchar(64); | ||
| 9 | """ | ||
| 10 | |||
| 11 | hil_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True) | ||
| 12 | |||
| 13 | hil_cursor = hil_cnxn.cursor() | ||
| 14 | hil_cursor.execute(hil_sql) | ||
| 15 | |||
| 16 | hil_cursor.close() | ||
| 17 | hil_cnxn.close() | ||
| 18 | |||
| 19 | afc_cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};', autocommit=True) | ||
| 20 | |||
| 21 | afc_cursor = afc_cnxn.cursor() | ||
| 22 | afc_cursor.execute(afc_sql) | ||
| 23 | |||
| 24 | afc_cursor.close() | ||
| 25 | afc_cnxn.close() |
| ... | @@ -51,7 +51,7 @@ class PDFHandler: | ... | @@ -51,7 +51,7 @@ class PDFHandler: |
| 51 | 51 | ||
| 52 | def __init__(self, path, img_dir_path, document_name=None, pwd_list=[]): | 52 | def __init__(self, path, img_dir_path, document_name=None, pwd_list=[]): |
| 53 | self.path = path | 53 | self.path = path |
| 54 | self.pwd_list = self.get_pwd_list(document_name, pwd_list) | 54 | self.pwd_list = pwd_list |
| 55 | self.img_dir_path = img_dir_path | 55 | self.img_dir_path = img_dir_path |
| 56 | self.img_path_list = [] | 56 | self.img_path_list = [] |
| 57 | self.img_count = 0 | 57 | self.img_count = 0 |
| ... | @@ -80,14 +80,14 @@ class PDFHandler: | ... | @@ -80,14 +80,14 @@ class PDFHandler: |
| 80 | self.title_idx = None | 80 | self.title_idx = None |
| 81 | self.date_pattern = re.compile(r'^\d+ \d{4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$') | 81 | self.date_pattern = re.compile(r'^\d+ \d{4}(-)(1[0-2]|0?[1-9])\1(0?[1-9]|[1-2]\d|30|31)$') |
| 82 | 82 | ||
| 83 | @staticmethod | 83 | # @staticmethod |
| 84 | def get_pwd_list(doc_name, pwd_list): | 84 | # def get_pwd_list(doc_name, pwd_list): |
| 85 | try: | 85 | # try: |
| 86 | pwd_list_from_doc_name = re.findall(r'\d{6}', doc_name) | 86 | # pwd_list_from_doc_name = re.findall(r'\d{6}', doc_name) |
| 87 | pwd_list_from_doc_name.extend(pwd_list) | 87 | # pwd_list_from_doc_name.extend(pwd_list) |
| 88 | return pwd_list_from_doc_name | 88 | # return pwd_list_from_doc_name |
| 89 | except Exception as e: | 89 | # except Exception as e: |
| 90 | return pwd_list | 90 | # return pwd_list |
| 91 | 91 | ||
| 92 | def get_suffix(self, file_name): | 92 | def get_suffix(self, file_name): |
| 93 | if file_name is None: | 93 | if file_name is None: | ... | ... |
-
Please register or sign in to post a comment