Skip to content

Commit ae1f290

Browse files
Merge branch 'dev' into 751_decimal_places_limit
2 parents 5a9f252 + 7938207 commit ae1f290

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+287
-146
lines changed

Dockerfile

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20-alpine as frontend_build
1+
FROM node:20-alpine AS frontend_build
22

33
WORKDIR /app
44
ADD package.json webpack.config.js ./
@@ -7,10 +7,11 @@ RUN npm install && npm install webpack
77
ADD ./assets ./assets
88
RUN npm run build
99

10-
FROM dvivanov/dis-base:v0.4
10+
FROM dvivanov/dis-base:v0.5
1111

1212
LABEL project='dis'
13-
LABEL version='0.4'
13+
LABEL version='0.5'
14+
ENV PYTHONPATH="${PYTHONPATH}:/usr/src/project/app"
1415

1516
WORKDIR /usr/src/project
1617

@@ -19,6 +20,4 @@ ADD ./db_versioning ./db_versioning/
1920
ADD ./app ./app/
2021
COPY --from=frontend_build /app/src ./src/
2122

22-
ENV PYTHONPATH "${PYTHONPATH}:/usr/src/project/app"
23-
24-
CMD ./scripts/local_start.sh
23+
CMD ["./scripts/local_start.sh"]

Dockerfile_base

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
FROM python:3.10-slim-bullseye
1+
FROM python:3.12-slim-bullseye
22

33
LABEL project='dis'
4-
LABEL version='0.4-base'
4+
LABEL version='0.5-base'
55

6-
ENV LANG en_US.UTF-8
6+
ENV LANG=en_US.UTF-8
77
ENV TZ=Europe/Moscow
88

99
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
10-
11-
RUN apt update && apt install -y libreoffice-writer libreoffice-impress default-jre
10+
RUN apt update && apt install -y g++ gcc libreoffice-writer libreoffice-impress default-jre
1211

1312
ADD requirements.txt .
1413
RUN python3 -m pip install -r requirements.txt --no-cache-dir

app/db/clear_users.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44

55
logger = logging.getLogger('root_logger')
66

7-
client.drop_database('dis-db')
8-
logger.info("Вся информация очищена!")
7+
8+
def drop_database():
9+
client.drop_database('pres-parser-db')

app/main/check_packs/base_criterion_pack.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import logging
2+
import traceback
23
from .utils import init_criterions
34

45
logger = logging.getLogger('root_logger')
56

67
PRIORITY_CHECK_FAILED_MSG = "<b>Данный критерий является обязательным для прохождения.<br>Результат всей проверки обнулен, но вы можете ознакомиться с результатами каждого критерия.</b><br>"
7-
UNEXPECTED_CHECK_FAIL_MSG = "<b>Во время проверки произошла ошибка, попробуйте позже или обратитесь к администратору системы.<b>"
8+
UNEXPECTED_CHECK_FAIL_MSG = "<b>Во время проверки произошла ошибка: проверьте соответствия оформления файла шаблона (в том числе разделов и уровней заголовков), попробуйте позже или обратитесь к администратору системы.<b>"
89

910
class BaseCriterionPack:
1011

@@ -26,8 +27,10 @@ def check(self):
2627
try:
2728
criterion_check_result = criterion.check()
2829
except Exception as e:
29-
err_msg = f'{criterion.id}: oшибка во время проверки: {e}'
30+
trace_msg = traceback.format_exc()
31+
err_msg = f'{criterion.id}: oшибка во время проверки: {e} ({trace_msg[len(trace_msg)//2:]})'
3032
logger.error(err_msg)
33+
logger.error(trace_msg)
3134
criterion_check_result = {'score': 0, 'verdict': [UNEXPECTED_CHECK_FAIL_MSG, f"Информация об ошибке для администратора: {err_msg}"]}
3235
if criterion.priority and not criterion_check_result['score']:
3336
failed_priority_check = True
@@ -72,5 +75,5 @@ def get_proportion(result):
7275
score = 0.
7376
for check in result:
7477
score += float(check['score'])
75-
return score, len(result)
78+
return round(score, 2), len(result)
7679

app/main/checks/base_check.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import pymorphy2
1+
import pymorphy3
22

3-
morph = pymorphy2.MorphAnalyzer()
3+
morph = pymorphy3.MorphAnalyzer()
44

55

66
def answer(mod, *args):

app/main/checks/presentation_checks/find_theme_in_pres.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import nltk
88
from nltk.tokenize import word_tokenize, sent_tokenize
99
from nltk.corpus import stopwords
10-
from pymorphy2 import MorphAnalyzer
10+
from pymorphy3 import MorphAnalyzer
1111

1212

1313
MORPH_ANALYZER = MorphAnalyzer()

app/main/checks/report_checks/banned_words_in_literature.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ class BannedWordsInLiteratureCheck(BaseReportCriterion):
88
description = 'Запрещено упоминание слова "wikipedia"'
99
id = 'banned_words_in_literature'
1010

11-
def __init__(self, file_info, banned_words=["wikipedia"]):
11+
def __init__(self, file_info, banned_words=None):
1212
super().__init__(file_info)
13+
self.banned_words = ["habr", "medium", "stackoverflow", "sky.pro", "geeksforgeeks", "wikipedia"]
14+
if banned_words:
15+
self.banned_words += banned_words
16+
self.banned_words = [morph.normal_forms(word)[0] for word in self.banned_words]
1317
self.headers_page = 1
1418
self.literature_header = []
15-
self.banned_words = [morph.normal_forms(word)[0] for word in banned_words]
1619
self.name_pattern = r'список[ \t]*(использованных|использованной|)[ \t]*(источников|литературы)'
1720

1821
def late_init_vkr(self):

app/main/checks/report_checks/find_theme_in_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import string
77
from nltk.tokenize import word_tokenize, sent_tokenize
88
from nltk.corpus import stopwords
9-
from pymorphy2 import MorphAnalyzer
9+
from pymorphy3 import MorphAnalyzer
1010

1111

1212
MORPH_ANALYZER = MorphAnalyzer()

app/main/checks/report_checks/sw_keywords_check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from nltk.tokenize import word_tokenize
55
from nltk.corpus import stopwords
6-
from pymorphy2 import MorphAnalyzer
6+
from pymorphy3 import MorphAnalyzer
77
from ..base_check import BaseReportCriterion, answer
88

99

app/main/reports/md_uploader/md_uploader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ def build_chapter_tree(self, chapters):
176176
while len(stack) > level:
177177
stack.pop()
178178

179-
parent = stack[-1]
179+
parent = stack[-1] if stack else []
180180
new_chapter = {
181181
'name': chapter['name'],
182182
'text': chapter['text'],

0 commit comments

Comments
 (0)