Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

465 class document uploader #470

Closed
wants to merge 12 commits into from
Closed

Conversation

MarinaProsche
Copy link
Collaborator

Создан абстрактный класс для двух форматов, md и docx, класс MdUpload модифицирован так, чтобы по возможности сохранить большинство существующих проверок.
Добавлена возможность конвертации в формат pdf.
Список доступных проверок в файле md_uploader.py

@github-actions github-actions bot added the has conflicts if new merge has conflicts label Nov 17, 2023
@github-actions github-actions bot removed the has conflicts if new merge has conflicts label Nov 17, 2023
Copy link
Collaborator

@HadronCollider HadronCollider left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По формату (или вернее по содержанию) MD-файлов, которые мы предполагаем парсить - см. ниже

requirements.txt Outdated
@@ -27,4 +27,5 @@ pdfplumber==0.6.1
pytest~=7.1.2
filetype==1.2.0
language-tool-python==2.7.1
md2pdf
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Закрепите версию

@@ -1,42 +1,206 @@
'''Available checks for md-file:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Самое основное - мы пока хотим парсить md-файлы, содержащие не ВКР (писать в нём дипломы, наверно, уже какое-то извращение), а некоторый текст, оформленный по стилю (https://docs.github.com/ru/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)

Если конкретные примеры - то это md-файлы отсюда - https://github.com/moevm/scientific_writing-2023/tree/main/0382_Gudov_NR - студенты 4го курса выполняют задания, мы хотим парсить их решения и проверять в рамках нашей системы

Поэтому предлагаю сильно упростить класс избавив его от нагрузки, созданной ВКР (титульные листы, задания, введение, приложения и прочий ужас, стилей аналогичных DOCX соответственно тоже нет) - важно распарсить так, чтобы сохранить исходные разделы/подразделы/текст, и плюсом ссылки/таблицы

  • раздел с литературой держать отдельно будет полезно*

app/server.py Outdated
Comment on lines 39 to 42

# сохраняем те форматы, в которых НЕ НУЖНО проверять MIME:
NOT_MIME_TYPE = {'md'}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Чтобы не добавлять логику по обходу непроверяемых форматов - добавьте MIME-тип для md+файла (это просто текстовый файл, поэтому тип text/plain)

Почему проверять тип всё-таки стоит - никто не запретит "злоумышленнику" переименовать какой-то другой формат в md - загрузить его и сломать наш парсер (а может и систему) - проверив тип, и увидев, что это не просто text/plain можем развернуть его со словами "жулик, уходи"

@github-actions github-actions bot added the has conflicts if new merge has conflicts label Mar 16, 2024
@HadronCollider
Copy link
Collaborator

Наработки вмержены в #471

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has conflicts if new merge has conflicts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants