a89b45ad by 周伟奇

add password from pos

1 parent 262ede9d
...@@ -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=[]):
......
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:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!