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