mirror of
https://github.com/zmister2016/MrDoc.git
synced 2025-04-24 20:51:17 +08:00
适配django4.2
This commit is contained in:
parent
14a54a6f96
commit
df6eccfac3
@ -138,6 +138,7 @@ else:
|
||||
}
|
||||
}
|
||||
|
||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Generated by Django 4.2.16 on 2024-10-17 13:11
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app_admin', '0008_useroptions'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='emaiverificationcode',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='registercode',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='useroptions',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
]
|
@ -0,0 +1,23 @@
|
||||
# Generated by Django 4.2.16 on 2024-10-17 13:11
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app_api', '0003_appusertoken'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='appusertoken',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='usertoken',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
]
|
@ -0,0 +1,88 @@
|
||||
# Generated by Django 4.2.16 on 2024-10-17 13:11
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app_doc', '0040_auto_20220311_1600'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='attachment',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='doc',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='dochistory',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='docshare',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='doctag',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='doctemp',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='image',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='imagegroup',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mycollect',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='project',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='projectcollaborator',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='projectreport',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='projectreportfile',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='projecttoc',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tag',
|
||||
name='id',
|
||||
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
|
||||
),
|
||||
]
|
@ -9,8 +9,7 @@ from selenium.webdriver.chrome.options import Options
|
||||
from selenium.common.exceptions import TimeoutException
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support.expected_conditions import staleness_of
|
||||
from webdriver_manager.chrome import ChromeDriverManager
|
||||
from webdriver_manager.utils import ChromeType
|
||||
from webdriver_manager.chrome import ChromeDriverManager,ChromeType
|
||||
from django.conf import settings
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
import sys
|
||||
@ -66,7 +65,10 @@ def __get_pdf_from_html(path: str, timeout: int, install_driver: bool, print_opt
|
||||
|
||||
# 使用指定的chromedriver
|
||||
if settings.CHROMIUM_DRIVER_PATH is not None:
|
||||
driver = webdriver.Chrome(executable_path=settings.CHROMIUM_DRIVER_PATH,options=webdriver_options)
|
||||
from selenium.webdriver.chrome.service import Service
|
||||
# 创建 Service 对象
|
||||
service = Service(executable_path=settings.CHROMIUM_DRIVER_PATH)
|
||||
driver = webdriver.Chrome(service=service, options=webdriver_options)
|
||||
# 使用默认的chromedriver
|
||||
else:
|
||||
driver = webdriver.Chrome(options=webdriver_options)
|
||||
@ -74,7 +76,8 @@ def __get_pdf_from_html(path: str, timeout: int, install_driver: bool, print_opt
|
||||
driver.get(path)
|
||||
|
||||
try:
|
||||
WebDriverWait(driver, timeout).until(staleness_of(driver.find_element_by_tag_name('html')))
|
||||
from selenium.webdriver.common.by import By
|
||||
WebDriverWait(driver, timeout).until(staleness_of(driver.find_element(By.TAG_NAME, 'html')))
|
||||
except TimeoutException:
|
||||
calculated_print_options = {
|
||||
'landscape': False,
|
||||
|
@ -40,7 +40,6 @@ def validate_title(title):
|
||||
return new_title
|
||||
|
||||
# 导出MD文件压缩包
|
||||
@logger.catch()
|
||||
class ReportMD():
|
||||
def __init__(self,project_id):
|
||||
# 查询文集信息
|
||||
@ -240,7 +239,6 @@ class ReportMdBatch():
|
||||
|
||||
|
||||
# 导出EPUB
|
||||
@logger.catch()
|
||||
class ReportEPUB():
|
||||
def __init__(self,project_id):
|
||||
self.project = Project.objects.get(id=project_id)
|
||||
@ -674,7 +672,6 @@ class ReportEPUB():
|
||||
|
||||
|
||||
# 导出PDF
|
||||
@logger.catch()
|
||||
class ReportPDF():
|
||||
def __init__(self,project_id,user_id):
|
||||
# 查询文集信息
|
||||
@ -997,18 +994,3 @@ class ReportDocx():
|
||||
with open(temp_file_path, 'a+', encoding='utf-8') as htmlfile:
|
||||
htmlfile.write(self.doc_str + self.content_str + "</body></html>")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# app = ReportMD(
|
||||
# project_id=7
|
||||
# )
|
||||
# app.work()
|
||||
|
||||
# app = ReportEPUB(project_id=20)
|
||||
# app.work()
|
||||
|
||||
app = ReportPDF(project_id=20)
|
||||
app.work()
|
||||
|
||||
# app = ReportDocx(project_id=20)
|
||||
# app.work()
|
@ -1,18 +1,20 @@
|
||||
django==2.2.*
|
||||
beautifulsoup4==4.8.2
|
||||
django==4.2.*
|
||||
beautifulsoup4==4.12.3
|
||||
lxml
|
||||
pillow>=7.1.0,<10.0
|
||||
loguru==0.4.1
|
||||
importlib-metadata==4.7.1
|
||||
djangorestframework==3.11.2
|
||||
requests==2.24.0
|
||||
pillow>=10.1
|
||||
loguru==0.7.2
|
||||
importlib-metadata==8.5.0
|
||||
djangorestframework==3.15.2
|
||||
requests==2.32.3
|
||||
whoosh==2.7.4
|
||||
django-haystack==3.1.1
|
||||
Markdown==3.3.3
|
||||
django-haystack==3.3.0
|
||||
Markdown==3.7
|
||||
jieba==0.42.1
|
||||
mammoth==1.4.13
|
||||
markdownify==0.6.0
|
||||
selenium==3.141.0
|
||||
webdriver_manager==3.3.0
|
||||
PyYAML==6.0.1
|
||||
django-cors-headers>=3.10.0
|
||||
mammoth==1.8.0
|
||||
markdownify==0.13.1
|
||||
selenium==4.25.0
|
||||
webdriver_manager==4.0.2
|
||||
PyYAML==6.0.2
|
||||
qiniu==7.14.0
|
||||
mysqlclient
|
||||
django-cors-headers==4.4.0
|
Loading…
x
Reference in New Issue
Block a user