Giter Club home page Giter Club logo

maxim1770 / app Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 6.06 MB

http://pravoslavie16v.ru Сайт Православие в Рукописях! Выдержки из Рукописей до 1597 года! Православный календарь, Библия на каждый день, Жития Святых, Поучения, ЛЛС!

Home Page: http://pravoslavie16v.ru

Python 83.61% Mako 0.03% JavaScript 1.22% HTML 0.16% Vue 14.69% Makefile 0.03% Shell 0.04% Dockerfile 0.21%
docker-compose fastapi postgresql redis sqlalchemy vue3 vuetify3 yandex-cloud

app's Introduction

app's People

Contributors

maxim1770 avatar

Watchers

 avatar

app's Issues

refactor crud

Писать семантику
Там где не нужно .scalar_one_or_none()
писать .scalar(), если значение None по бизнес логике не должно быть
ну а если и будет, то .scalar() вызовет исключение

Так же возможно заменить сравнение с foo_id в filter_by, заменив его на foo (всю модель)

Думать при добавление нового кода, т.к это потом нужно поддерживать
Это больше я про routers api, ну и про некоторые crud .scalars() функции (которые потом нигде возможно не используются)

docs saint Добавлять связи между Святыми учителя/ученика в схемы (бд)

Добавлять связи учителя в схемы (бд)

Так как в рукописях, обычно пишется, что напр:

  • Святой Апостол Марк был ученик Святого Апостола Петра
  • Святой священномученика Климента, епископа римскаго, ученика св. апостола Петра
  • Так же иногда пишется про учеников Великих Святых
  • Ученик Сергия Радонежского
  • Ученик Пахомия Великого

Про добавления родственных связей (по плоте), еще не знаю.

  • Обычно о них и так будет написано в имени Святого/Святого
  • тогда, если углубляться, то нужно будет добавлять людей которые возможно не являлись Святыми, а это не знаю правильно ли, и делать это страшно.
  • По сравнения с кол. Святых, данные о родстве есть не у многих, поэтому если и делать, то просто статьей на сайте, или выдержкой из рукописи об этом*, и не добавлять поля/колонки об этом в бд.

Родословные делал Герман Стерлигов, есть на сайте олдп:

  • Родословие «простого плотника» Иосифа обручника и родословие пресвятой Богородицы девы Марии - потомков многих царей и многих святых
  • Родословие Рюриковичей и Романовых

docs books common (хранение данных в бд)

Хранение данных

Все хранить в бд

  • Делать бэкапы бд
  • Получать всегда свежую инфо (без рассинхронов) из бд, так как она может изменятся/редактироватся мной же через api например
  • Так же добавлять данные через скрипты, парсеры, но после добавления данных в бд, в .json or .py данные не хранить

Минусы
Минус наверное, что мы не можем с нуля (с нового создания бд), заполнить бд всеми данными, которые у нас есть на сайте
(Я так планировал изначально, и делал так с movable_date (что все можно заполнить с 0), но даже там зачало будут парсится достаточно долго, а плюс еще данные о Святых, Рукописях, Иконах, ...)

Не такой уж и минус наверное
Т.к миграции можно делать с alembic, + если миграция у нас не получилась (хотя это странно т.к их можно делать и вручную все прописывая), то создать бд с 0 можно будет с прошлого бэкапа бд.

+++ Много данных (напр. содержание рукописи), что парсить я не буду наверное в большинстве случаев, и их добавлять через api нужно будет, и соответственно в бд эти данные всегда будут, а в .json or .py их не будет, т.к данные добавляются по умолчанию только в бд.
+++ Если переживаешь за данные, то можно сделать в любой момент бэкап и все данные будут сохранены.

db design (saint/holiday/dates/...)

Написать/Дописать/Переписать models/schemas/crud/api для saint/holiday/dates/...

Писать +- как в docs/db.drawio

Праздники

Про Кондак обема общий

  • den-pamjati-mamant-kesarijskij-kappadokijskij-i-feodot-kesarijskij-kappadokijskij и den-pamjati-ioann-postnik
    • в f-37-170
  • den-pamjati-timofej и den-pamjati-anastasij-persjanin
    • в f-37-170
  • den-pamjati-kliment-rimskij и den-pamjati-petr-i-aleksandrijskij
    • в f-304i-364

Про БАГ Переходящий Праздник записан в бд, как не переходящий

  • den-pamjati-tihon-sokolovskij-i-vasilij-sokolovskij-i-nikon-sokolovskij

Про БАГ общий День Памяти нужно разделить на два дня Памяти

  • ``

Про больше Святых чем упомянуто в Рукописи в бд

  • ТРУДНЫЙ СЛУЧАЙ den-pamjati-kliment-ankirskij-mnogostradalnyj-i-agafangel-rimljanin

    • в prolog_sentyabr_fevral_3 см 01.23.2
  • ТАКОЙ ЖЕ ТРУДНЫЙ СЛУЧАЙ den-pamjati-pamfil-kesarijskij-palestinskij-i-valent-kesarijskij-palestinskij-i-pavel-kesarijskij-palestinskij-i-porfirij-kesarijskij-palestinskij

  • den-pamjati-simeon-stolpnik-antiokhijskij-i-marfa-kappadokijskaja

  • den-pamjati-mamant-kesarijskij-kappadokijskij-i-feodot-kesarijskij-kappadokijskij

  • den-pamjati-anfim-nikomidijskij-i-feofil-nikomidijskij-i-dorofej-nikomidijskij-i-mardonij-nikomidijskij-i-migdonij-nikomidijskij

  • den-pamjati-varvara-iliopolskaja-i-iulianija-iliopolskaja

  • den-pamjati-evsevij-finikijskij-i-prisk-kesarijskij-palestinskij

  • den-pamjati-karp-berijskij-makedonskij-i-alfej-kapernaumskij

  • den-pamjati-sila-korinfskij-i-siluan-solunskij-fessalonikijskij-i-kriskent-galatijskij-i-epenet-karfagenskij-i-andronik-pannonijskij

FIXME

  • den-pamjati-kosma-maiumskij

    • (добавил в day 10.14 в f-37-170)
    • !В Рукописи День Памяти 14 (В БД ТОЖЕ ДОЛЖЕН БЫТЬ ИМЕННО 14, КАК В РУКОПИСИ)
    • А в бд пока что day = 10.12 ИСПРАВИТЬ НА 10.14
  • den-pamjati-anastasija-rimljanynja и den-pamjati-drugoj-anastasija-rimljanynja

    • Разобраться
    • В prolog_sentyabr_fevral_3 это два разных Пролога
    • А в f-37-170 есть только одно Упоминание
    • А на азбука тоже только одно Упоминание нашел, 1 saint.slug на два дня 10-29 и 10-30

Про то что некоторые Праздники в Рукописях в разные дни, возможно это связано с Великими и Средними Праздниками

  • den-pamjati-grigorij-akragantijskij
    • в f-34-170 11.23
    • а в prolog_sentyabr_fevral_3 11.24
  • den-pamjati-marfa-antiohijskaja
    • в f-34-170 07-04
    • а в prolog_sentyabr_fevral_3 07-05

Из рукописи f-304i-718

  • 09-12/ 09-13 den-pamjati-iulian-galatijskij и den-pamjati-drugoj-iulian-galatijskij
    • В этой Рукописи Праздник 09-12 den-pamjati-iulian-galatijskij
    • А в Рукописи prolog-sentyabr-fevral-3 09-13 den-pamjati-drugoj-iulian-galatijskij
    • Вроде как по тексту речь об одном Празднике (но я могу ошибаться)
    • РАЗОБРАТСЬЯ
  • 09-13 den-pamjati-makrovij-novodunskij-i-gordian-novodunskij и den-pamjati-ilija-tomskij-kjustendzhijskij-i-zotik-tomskij-kjustendzhijskij-i-lukian-tomskij-kjustendzhijskij-i-valerian-tomskij-kjustendzhijskij
    • Объединить два Праздника в один
  • 09-17 den-pamjati-pelij-egipetskij-i-nil-egipetskij-i-zinon-zinovij-tirskij-sidonskij-i-patermufij-tirskij-i-ilija-tirskij
    • В бд как я понял Праздники объединенные
    • А в Рукописях как я понял, записано как разные Праздники 6 и 10, возможно еще и другие
  • 09-21 den-pamjati-iona
    • В этой Рукописи Праздник 09-21, а в бд и в prolog-sentyabr-fevral-3 09-22
  • 10-29 den-pamjati-anastasija-rimljanynja
    • В этой Рукописи Праздник 10-29, а в бд и в prolog-sentyabr-fevral-3 10-30
    • В azbyka есть Праздник и в 10-29, и в 10-30

Общее

  • 03-10 den-pamjati-galina-korinfskaja-i-feodora-korinfskaja
    • https://azbyka.ru/days/2032-03-23
    • Не полностью собрался День Памяти Святых Мучеников и Мучениц иже в Коринфе
    • Добавить других Мучеников и Мучениц в Праздник
  • 01-30 den-pamjati-nikita-pecherskij-novgorodskij-zatvornik
    • А в бд 01-31 Изменить дату на 01-30 в бд**
    • Так же разобраться когда Праздник 'Обре́тение мощей'
    • obretenie-moschej-nikita-pecherskij-novgorodskij-zatvornik

Переходящие Праздники

  • FIXME den-pamjati-drugoj-shio-simeon-mgvimskij

    • Добавлено как day, а как я понял нужно movable_day
    • Так же с den-pamjati-drugoj-feodor-tiron, но feodor-tiron вроде как уже добавлен с movable_day
  • Сб 5 Великого Поста - Похвала Богородицы

    • не понятно пока как создать, ну вроде как нужно так же как Праздник в holiday
    • f_37_170 л. 194 (файла) - есть полный Текст Службы (Акафисто)
  • Неделя 7-я по Пасхе, святых отцов I Вселенского Собора.

    • так же не понятно как создавать
    • не понятно Собор ли это Святым или это Праздник Святым Вселенского Собора
    • Потому что Собор есть и одному Иоанну Предтече, поэтому не факт, что если Святых много, то это считается как Собор
    • Смотреть и брать всю информацию из Рукописей
    • Может быть стоит записать с holiday_catagory = День Памяти
    • И к holiday уже добавлять Всех Святых 1 Вселенского Собора
    • но это не точно
    • сделал такой вывод потому что в Рукописи f_37_170 л. 186 (файла) написано:
    • 'Неделя 7 по Пасце память совершаем Святых Отец 318, иже в Никеи Перваго Собора'

Cоборы

  • Возможно стоит или добавить Святого Иосифа обрученика в Собор Пресвятой Богородицы

    • или отдельно сделать день памяти, потому что в некоторых Рукописях написано про него 26 декабря
    • Про Иакова и Царя Давида не видел, чтобы было написано в этот день
    • Может быть в другой день и написано, я не смотрел особо
    • Как я понял день памяти Святого Иосифа обрученика Иакова и Царя Давида в другой общий день, его и добавить в бд
  • Добавил день памяти 'Святых младенцев, ище Христа ради избиеных, от Ирода в Вифлееме 14 тысяч'

    • не как собор, а как день памяти - возможно неверно
  • Сейчас Соборы должны создаваться create_all_cathedrals_saints после Великих Праздников create_all_great_holidays

    • потому что сейчас, если создавать раньше, то не будет задано имя у Пресвятой Богородицы, т.к мы его задаем только в create_all_great_holidays
    • возможно задавать его и в create_all_cathedrals_saints так же в SaintCreate(name='...', slug='...')
    • или создавать всех Святых отдельно и раньше, чтобы при создании holidays Святые точно были

Общее

  • 06-08 den-pamjati-feodor-stratilat Нужно изменить holiday_title на perenesenie_moschej = 'Перенесение мощей'
    • в рукописи так же написал den-pamjati-feodor-stratilat, чтобы связать данные, а потом уже изменять Holiday & HolidayCategory
  • den-pamjati-sergij-radonezhskij переименовать 'всея России чудотворца' в 'всея Руси чудотворца'
    • а лучше всего как будет написано в Рукописях о Святом
  • 07-16 den-pamjati-afinogen-pidahfojskij не в тот день записано, нужно записать в 07-17
  • 08-05 Пред svjatoe-preobrazhenie-gospoda-boga-i-spasa-nashego-isusa-hrista Поучение
    • Не знаю правильно ли, возможно стоит делать для дней Пред Празднования и После Празднования отдельные holidays
    • тем более если есть целые Поучения на именно на день 'Поучения Пред Праздником'
  • 08-27 Прп. Пи́мена двое подходящих Святых
  • 09-13 Баг: Праздник один, а записи две:
    • den-pamjati-ilija-tomskij-kjustendzhijskij-i-zotik-tomskij-kjustendzhijskij-i-lukian-tomskij-kjustendzhijskij-i-valerian-tomskij-kjustendzhijskij
    • den-pamjati-makrovij-novodunskij-i-gordian-novodunskij
    • Нужно объединить все в один Праздник т.к. в Рукописях это один Праздник (вроде как), и Пролог так же был общий
  • 10-14 Баг: den-pamjati-silvan-gazskij Только один Святой, а второй Святой Мученик не добавлен 'Луки'
    • Но возможно это и два разны Праздника, не знаю точно
  • 11.20 Баг: den-pamjati-isaakij-isakij-persidskij-i-ipatij-persidskij-i-azat-gadiabskij-persidskij-i-sasonij-guzitskij-persidskij-i-fekla-persidskaja-deva-i-anna-selevkijskaja-persidskaja
    • В бд Праздник один
    • А в Рукописях разделено на много Слов о Святых
  • 11-28 den-pamjati-stefan-novyj
    • В Прологе написано 'и с ним Петра и Андрея'
    • Поэтому возможно стоит добавить в Праздник этих Святых
  • 12-19 den-pamjati-polievkt-kesarijskij-kappadokijskij-i-timofej-mavritanskij
    • В бд записано как один Праздник
    • А в Рукописях как два Праздника
    • И про связь Праздников в Прологе не нашел слов
    • Скорее всего разделить на два Праздника
  • 12-22 Ничего не понятно
    • den-pamjati-anastasija-uzoreshitelnica
    • den-pamjati-hrisogon-rimljanin-i-feodotija-nikejskaja-i-evod-nikejskij-i-evtihian-illirijskij
    • Разбить Праздник как в Рукописи, скорее всего, или не знаю как
    • Как я понял в Прологе 12-22.1-4 Связаны с этими Праздниками
  • 01-03.3 Разобраться
  • 01-26 perenesenie-moschej-feodor-studit
    • В Прологе написано, что еще Перенесения Мощей еще одного Святого Брата его Исифа Епископа Селунскаго
    • Возможно добавить Святого в Праздник, будет saints_holiday
  • 02-08 den-pamjati-zaharija-serpovidec
    • В Прологе написано, что это Пророк от 70, разобраться с этим
  • 02-11 den-pamjati-vlasij-sevastijskij
    • Изменить Название Праздника, добавив 'и с ним 7 жен'
  • 02-27 den-pamjati-prokopij-dekapolit
    • Добавить в Праздник, 'Преподобного Отца нашего Исповедника Василия'
    • Насчет 'Святого Марка Богослова' не знаю, возможно это отдельный Праздник, ДЕЛАТЬ ВЫВОДЫ ВСЕ ИЗ РУКОПИСЕЙ (ДРУГИХ И ЭТОЙ)
  • 03-28 Баг: den-pamjati-matrona-solunskaja-fessalonikijskaja
    • В бд записано как 03-27, Исправить на 03-28, и добавить в Пролог 03-28.2
  • 03-29 den-pamjati-mark-arefusijskij-i-kirill-iliopolskij
    • Разобраться, в бд это один Праздник, а в Прологе это два отдельных Слова
    • Делать как в Рукописях!
  • 04-02 Баг: den-pamjati-nikita-midikijskij
    • В бд записано как 04-03, Исправить на 04-02, и добавить в Пролог 04-02.3
  • 04-06 den-pamjati-ieremij-rimskij-i-arhilij-rimskij
    • Разобраться, в бд это один Праздник, а в Прологе это два отдельных Слова
    • Делать как в Рукописях!
  • 05-24 den-pamjati-serapion-egiptjanin-galatijskij-i-kallinik-galatijskij-i-feodor-galatijskij-i-favst-galatijskij
    • Разобраться, в бд это один Праздник, а в Прологе это два отдельных Слова 05-24.2-3
    • Делать как в Рукописях!
  • 06-01 den-pamjati-iustin-filosof-i-iustin-rimskij-i-hariton-rimskij-i-harita-rimskaja-i-evelpist-rimskij-i-ieraks-rimskij-i-peon-rimskij-i-valerian-rimskij-muchenik
    • Разобраться, в бд это один Праздник, а в Прологе это два отдельных Слова 05-24.2-3
    • Делать как в Рукописях!
  • 06-09 Баг: den-pamjati-aleksandr-krodamnskij-i-antonina-krodamnskaja
    • В бд записано как 06-10, Исправить на 06-09, и добавить в Пролог 06-09.1
    • В Рукописи f-304i-364 так же 06-09 этот Святой Праздник

Из рукописи psaltyr-s-vossledovaniem-1

  • 10.25 den-pamjati-markian-konstantinopolskij-chtec-i-martirij-konstantinopolskij
    • В бд только двое Святых, а в Рукописи указано три
  • 12.14 Так же разобраться с кол. Святых в Праздники
  • 12.26 sobor-presvjatoj-bogoroditsy
    • В Рукописи в Празднике так же упоминается 'и Святаго Иосифа Обрученика'
  • 07-28 den-pamjati-nikanor-i-timon-bostrijskij-i-parmen
    • В бд добавить в этот Праздник Святого Апостола Прохора
  • 08-03 den-pamjati-dalmat-dalmatskij-konstantinopolskij-i-favst-dalmatskij
    • В бд добавить в этот Праздник Святого Исаа́кия

Из рукописи f-37-170

  • 10-29 den-pamjati-avramij-rostovskij
    • Кондак den-pamjati-avramij-rostovskij
    • Не указан глас в Рукописи, возможно взять из других Рукописей
  • 11-29 den-pamjati-akakij-sinajskij
    • В бд добавить в этот Праздник Святого 'Висариона'
  • 12.01 den-pamjati-filaret-milostivyj
    • Добавил в Рукопись в этот день (12.01) этот Праздник (den-pamjati-filaret-milostivyj), хотя в Рукописи написан он второго числа
    • Сделал так, потому что в других Рукописях (двух) этот Праздник (den-pamjati-filaret-milostivyj) 1 числа
  • 01-30 den-pamjati-ippolit-ostinskij-i-kensorin-rimskij-i-savin-rimskij-i-hrisija-rimskaja
    • Во многих Рукописях написано именно 'Папы Римскаго', а не 'Епископа'
    • Так что заменить в бд на 'Папа Римский'
  • 03-04 / 05
    • den-pamjati-gerasim-iordanskij
    • den-pamjati-konon-mandonskij-pamfilijskij-gradar
    • Разобраться, в некоторых Рукописях 04 / 05, а в некоторых 05 / 04 (т.е. порядок Дней Памяти)
  • 03-05 obretenie-moschej-feodor-rostislavich-chernyj-smolenskij-jaroslavskij-i-david-jaroslavskij-i-konstantin-jaroslavskij
    • В Рукописи написано, 'Перенесение ...', а не 'Обретение ...'
    • Исправить в бд как в Рукописи
  • 03-30 den-pamjati-iona-moskovskij-i-vseja-rusi
    • В рукописи День Памяти 03-30
    • А в бд 03-31, исправить на 03-30 в бд
  • 04-09 den-pamjati-evpsihij-kesarijskij-kappadokijskij
    • Ничего в бд нет про 'Помплия', а в Рукописи написано
    • Разобраться и добавить в бд, как в Рукописи написано
  • 04-17 den-pamjati-zosima-soloveckij
  • 07-08 den-pamjati-prokopij-ustjuzhskij
    • В Рукописи в Празднике еще один Святой 'и Иоанна'
    • Сделать в бд, как в Рукописи
  • 08-24 den-pamjati-evtihij-uchenik-ap-ioanna-bogoslova
    • В бд не указано, что это Апостол
    • Добавить как минимум в title & saint.name

Из рукописи f-304i-364

  • 10-27 den-pamjati-nestor-solunskij-fessalonikijskij
    • Разобраться с другими Святыми Мучениками/цами в этот день
  • 28 день сделать
  • 11-22 den-pamjati-mihail-jaroslavich-tverskoj
    • Добавить в бд, что это Святой Мученик 'Страстотерпец'
  • 11-26 den-pamjati-drugoj-georgij-pobedonosec
    • Добавить в этот Праздник или в этот День, так же Праздник 'Чюдо Святаго Великомученика Георгиа, како избавил девицю дцерь цареву от лютаго змиа'
  • 12-13 den-pamjati-evstratij-sevastijskij-i-avksentij-sevastijskij-i-evgenij-sevastijskij-i-mardarij-sevastijskij-i-orest-sevastijskij
    • Два разных Тропаря с одинаковым гласом в один Праздник
    • Подумать как их различать в бд, чтобы на front это не вывелось как один и тот же Тропарь
    • 12-21 den-pamjati-petr-moskovskij - такая же ситуация
  • 06-09 den-pamjati-kirill-belozerskij
    • Неправильная дата в бд
    • В Рукописи написана дата, ее добавить в бд

л. 164 (pdf) - лист без нумерации, но с текстом (скорее всего нужно добавить в not_num.._pages)


Сделать так же в holiday_title dignity и face_sanctity с большой буквы


Первый раз когда не нет face_sanctity_id https://azbyka.ru/days/sv-kallisfenija-efesskaja

  • т.к. это всего одни раз было, то добавил это как исключен в SaintDataUpdateFactory
  • не знаю какой тут добавить потом face_sanctity
  • **Мученица не подходит, т.к. она не была Мученицей (вроде как), *читать Житие

Отдельно добавить один Праздник Гео́ргия Победоносца (не получилось собрать т.к. den_pamjati и den-pamjati-drugoj в slug уже есть)

docs books Добавлять инфо о почерке рукописи

По 10 бальной шкале
На сайте это можно выводить как 5 ручек (или 5 пёрышек или ... )
И заполнять соответствующие кол.
Напр:
если 8 из 10 то это 4 пёрышка
если 9 из 10 то это 4,5 пёрышка

В самом коде это можно сделать как int с ограничениями
или как IntEnum с полями one, two, ...

Я думаю что важна информация о качестве/понятности/читаемости почерка т.к напр на сайте две рукописи одного текста напр Жития Святого
и сортируя по умолчанию по качеству поверка, первая предложения рукопись для чтения будет с лучшим почерком
Конечно это может быть не главная характеристика, тогда сортировка в первую очередь по другому: дате or надежности рукописи or ...

Числовой тип хранить в бд скорее всего
т.к он самый удобный для представления на фронте в другие виды

Не знаю разделять ли качество самого почерка и красоту рукописи в целом (выделения красным заголовков и абзацев, содержание, нумерация, структурированность)

Если сказать что критерии качества почерка - это читаемость текста, то красные выделения помогают читать текст лучше (как я думаю)
И вполне можно это все объединять под одной метрикой качества почерка - 10 бальной шкалой

Про содержание здесь не идет речи, только про качества почерка

И качество почерка нам скорее важно когда один текст содержания, но разные рукописи, и тут мы выбираем уже рукописи с лучшим почерком (ну или если есть более важные критерий, то по ним конечно(дата, надежность, доверие, ...))

refactor(data): убрать файл data/index.html и создать функцию, которая этот файл создает

Так как не нужно, хранить в .git файлы, которые можно сгенерировать.
К тому же он много весить 600+ кб, и так же хранить его в .git не нужно

Создать функцию, для парсинга и сохранения этого файла, запускать ее только в том случае, если такой файл отсутствует в data/index.html
Ситуация, что файл отсутствует вполне возможно, если загружать проект с github

Так же изменить имя index.html на более подходящее

fix парсинга Праздников Святым

Баги

Заметки

  • Национальность
    Данные о национальности указаны не много где: 26 в бд, 65 на сайт c (saint-href)
    Не много данных, поэтому наверное создавать поле для этого не стоит, А МОЖЕТ И СТОИТ

  • 'переходящее' даты
    Так же данны немного, на все сайт c (saint-href) всего 11, в бд 6
    Но в бд было бы больше, если бы не баг с holiday.slug уже был задан
    Некоторые переходящие Праздники не помечены:

  • Может быть данных о переходящих датах и больше:
    Неделя 5-я Великого поста. Прп. Марии Египетской.
    2024-04-21
    Тут так же переходящая, но это мы не учли в 11, т.к нет слова 'переходящее'

  • '.' - никогда не берется в full_title т.к записана не в тегах <a>
    Пишется после окончания группы <p>
    И что интересно после Первого Праздника дня - первый праздник самый главный и большой в этот день
    Возможно иногда логические группы праздников разделяются и ';' в одном <p>
    Но скорее всего просто обозначение конца каждого full_title, часто (707 в бд) ';' попадает в full_title, и ее потом нужно убирать для holiday_title
    Точку с конца full_title нельзя удалять т.к это окончание сокращения dignity or face_sanctity
    БАГ: НО ЕСТЬ ИСКЛЮЧЕНИЕ мч. Илиодо́ра Магидского (Памфилийского) (ок. 273).; И В БД: 'мч. Илиодо́ра Магидского (Памфилийского) .' ИСПРАВИТЬ ВРУЧНУЮ ЧЕРЕЗ Update

  • Интересная ситуация
    Преставление (662), перенесение мощей прп. Максима Исповедника;
    Прп. Максима Исповедника (662);
    Подробнее читать житие на сайте, по поиску 'пе­ре­не­се­ние'

Изменить фонд у Рукописи https://lib-fond.ru/lib-rgb/256/f-256-472#image-6 на Ф.256 в fund_title

Изменить как-то в https://kp.rusneb.ru/item/material/elizavetgradskoe-evangelie-licevoe

  • дату 1596 на
    • Конец XVI – начало XVII в.
    • или более точную (возможно неверную) взятую с сайта neb в описании - 1595–1606
  • Так же изменить фонд Ф.7 на Ф.178.1 (или на Ф.178/1) или не знаю на что, т.к. Рукопись не могу найти в ргб
  • Сделать (скорее всего) как написано Ф.178.1 №9500 - все данные под это, но по ссылки будут недействительные в ргб

Проектирование бд

Город

Добавить в бд схему - город, и возможно место (Монастыря или скриптория (скорее для рукописей))

Плюсы

Данные о городе много где есть:

  • Икона
  • Святой
  • Рукопись
  • Книга, где написана
  • ...

+ Большой плюс

Например про парсинге икон, там есть иногда есть данные об городе, и это важно, т.к римляни впали в ересь раньше, и если год там <16 в. , но >15 в. то мы не должны брать такую "икону".
Так же с рукописями, + в описании многих рукописях, написано где их сделали, и это хорошо, и так можно более хорошо изучать рукописи, и повышать/понижать к ним доверие.

О добавлении места

Добавления места звучит неплохо, т.к можно будет указывать, что Святой из этого вот Монастыря/Лавры.
Хотя как сказано ниже, эти данные обычно и так понятны из имени Святого
Но зато имея данные в бд, можно выводит всех Святых (которые есть на сайте) определенного Монастыря/Лавры.

Возможно эта сводка похожа на Соборы Святым, и если нет Собора этим Святым в Рукописях, а на сайте как бы есть, то буде не очень я думаю.

Минусы

С другой стороны, данные о городе, обычно известны, из имения Святого, или названии Иконы, иногда Рукописи тоже
Поэтому эти данные отдельно могут оказаться не так нужны, и много где так же могут отсутствовать.

Заметки

schemas

В schemas создать наследуемость с классом SaintDataBase -> SaintDataCreate -> SaintDataUpdate
Получилось вроде неплохо, смысл/реализация наследования schemas как и везде
На будущее - никогда не передавать больше pydantic данных в функции & классы, чем этого нужно, а всегда наследованием создавать новые классы, и передавать уже их, без ненужных полей
pydantic schemas - топ, все стараться делать через них
Так же не забывать, что можно писать валидаторы везде, и в одной schema и для проверки связи между schemas & enums в больших pydantic классах, как например SaintHolidayCreate

models

many to meny

many to meny - такие связи в crud вообще еще не добавлял, только отдельно через foo.append(bar), или через crud у association_table, через foo_id & bar_id соответственно

refactor(schemas): написать ограничения на pydantic схемы такие как в sqlalchemy моделях

  • может ли быть None
  • уникальный ли поле (без повторов)
  • ограничения на типы (Напр: int -> [1, 3..] - для зачало), так же ограничения на строки по длине + можно попробовать regex
  • ограничения на slag (для title_en), что должны быть лишь англ буквы цифры и _ (про цифры так же подумать, может где-то и без цифр)
  • Смотреть на документацию pydantic и делать может добавлять еще какие-то валидации и более подходящие типы данных

внести файл Pipfile.lock в git

Так же сделать так, чтобы sqlalchemy 2 не было в pipenv как под зависимость alembic, а явно записано в Pipfile
т.к мы импортируем его в коде явно

f-304i-364 pages

л. 158 не отображается на сайте в Тропаре и Кондаке
для 30 января
виден только след лист без номера (158 след.)

БД

  • Пример ForeignKey & primary_key docs

  • SQLAlchemy one-to-one relation, primary as foreign key

  • Подумать над тем чтобы в ForeignKey заменить строку на SomeModel.id

    • но так возможно будут ошибки импортов
    • можно писать как строку так же, я думаю

Обычай

Встал
Вода теплая
РУКОПИСИ
через 30-45 минут хлеб цельнозерновой немного СОВСЕМ НЕМНОГО
!!!! РУКОПИСИ (ТАМ ГДЕ МАКСИМУМ ДОЛЖНО БЫТЬ СТРАХА И ТРЕПЕТА И АККУРАТНОСТЬ И НЕПОФИГИЗМА, И УМ ЛЕГЧЕ К БОГУ В ЭТО ВРЕМЯ)
!!!! БОЛЬШЕ МОЛИТВЫ УТРОМ
УТРОМ РУКОПИСИ, НИКАКИХ PYTHON, APP
!!!! БОЛЬШЕ МОЛИТВЫ, БОЛЬШЕ ПОКАЯНИЯ, !!!! БОЛЬШЕ ИСПОВЕДАНИЯ, БОЛЬШЕ СЛЕЗ
!!!! ВОДУ И ХЛЕБ ЧЕРЕДОВАТЬ ПО САМОЧУВСТВИЮ ЕСЛИ ХОЧЕТСЯ ПИТЬ ЛУЧШЕ ПОПЕЙ, А ЕСЛИ ХОЧЕТСЯ ЕСТЬ, ЛУЧШЕ ПОЕШЬ
Вода теплая
через 30 минут хлеб цельнозерновой
через 15 еще вода
потом в ближ час Святым
и после Святых
рис, гречка, картошка, или любая кашая которая будет дома, картошка (А пюре, запечённая, отварная)
и потом уже в ближ час творог
APP
И с творогом уже ПЫТАЕТСЯ читать что-то пролог или Евангелие
Или в след. час уже не знаю. ИЛИ ЕЩЕ ПОЗЖЕ КОГДА МНОГО ЕДЫ И ГОЛОДНЫЙ
ЧТЕНИЕ
Но читать с большим обедом, когда много еды,
APP

В ПЕРВУЮ ОЧЕРЕДЬ ДУМАТЬ ПРО ОБЫЧАЙ МОЛИТВЫ, ЧТЕНИЯ, ПРИВЫЧЕК ДЕЙСТВИЙ, А ПОТОМ УЖЕ ДУМАТЬ ПРО ЕДУ

НЕ ЗАСТАВЛЯТЬ СЕБЯ ЕСТЬ ЕСЛИ НЕ ХОЧЕШЬ
НЕ ЕСТЬ ЕСЛИ И ТАК УЖЕ ПЛОХО
НЕ ЕСТЬ НЕ ВО ВРЕМЯ 7, 15, 30, 45, 8
И ВО ВРЕМЯ ИСКУШЕНИЙ (БЕСНОВАНИЙ) НЕ ЕСТЬ А МОЛИТЬСЯ

утром лучше больше молиться

и делать какую-то легкую работу

трепетную и которая требует бережности и важности и трепета

Т.е. с Рукописями, потому что утром большой страх что-то сделать не так

Лучше в это время размечать Рукописи и прочее

А потом уже днем переходить к python, app, прочее, что менее важно (относительно)

Где нужно больше умственной активности

А УТРОМ РАНО ТАМ ГДЕ БОЛЬШЕ МОНОТОННОЙ АКТИВНОСТИ И ТРЕПЕТНОЙ, Т.К. Я УТРОМ БУДУ ВСЕ ПЕРЕПРОВЕРЯТЬ

!!!! т.е с Рукописями отлично подойдёт работа

Как и говорил ИОАНН ЗЛАТОУСТ

УТРОМ БОЛЬШЕ МОЛИТВЫ , ИСПОВЕДАНИЯ

УМ ТВОЙ ЕСТЬ ЛЕГЧЕ НОЧЬЮ И НА ПОКАЯНИЕ МОГУТ ОБРАТИТЬ ТЕБЯ НОЧНЫЕ МОЛИТВЫ,

АЩЕ И ВЕЛМИ СЯ КРЕПЫШИ В ДЕНЬ ТО НЕ МОЖЕШЬ ТАКОВЫЕ МОЛИТВЫ ПРИНЕСТИ К БОГУ

ВСТАНЬ УБО НОЧЬЮ К СВЕТУ

НОЧЬ НА ДВОРЕ РАЗЛУЧЕНА ЕСТЬ И ТЕЛУ НА ПОКОЙ И ДУШИ НА СПАСЕНИЕ

ВСТАНЬ УБО НОЧЬЮ И МОЛИСЬ БОГУ, И ПРИПАДЫ ВОЗДЫХАЯ О ГРЕСЕХ

——

И УТРОМ ТАК ЖЕ ВОЗОМЖНО СТОИТ ЧИТАТЬ СВЯТЫЕ РУКОПИСИ, МОЛИТЬСЯ И ЧИТАТЬ, ПОТОМУ ЧТО В ЭТО ВРЕМЯ МОЗГА К БОГУ РАЗПОЛОЖЕН БОЛЬШЕ ВСЕГО УТРОМ

!!!!!!! У МЕНЯ УТРО ПРОДЛИЛОСЬ ГДЕ-ДО ПЕРВЫЕ 3-3.5 ЧАСА
ПОСЛЕ МОЛИТВЫ СВЯТЫМ ЕЩЕ НЕМНОГО И УЖЕ ПОТОМ ВСЕ
ЗАХОТЕЛОСЬ ЕСТЬ И ПРОШЕЛ СТРАХ И ТРЕПЕТ И НАЧАЛСЯ ПОФИГИЗМ И ОТРЕЧЕНИЯ И УМ ИЗМЕНИЛСЯ СОВСЕМ
И СРАЗУ МЫСЛИ ДРУГИЕ СТАЛИ ПОЯВЛЯТЬСЯ УЖЕ!!!

Написать тесты для SQLAlchemy

Скорее всего пытаться писать их через транзакции, (возможности SQLAlchemy).
Или через какой-то плагин встроенный в pytest (что-то в таком смысле: pytest-sqlalchemy).
В любом случае использовать pytest.

create_manuscript_pdf

При уменьшение resolution размер с 100.0 на 99.0 pdf с 2.1 Гб уменьшился в 136 Мб

  • ВЫБРАЛ resolution=99.0 ДЛЯ ЛЛС КАК МИМИМУМ
  • resolution=99.9 не стал брать, когда создавался pdf, он был на 1 КБ больше, разницы нет, но может стоит взять и 99.9

image

  • Кол. пикселей (Разрешение) вроде не поменялось
  • Странно что когда в Wondershare PDFelement сохраняешь отдельно страницу, то изображения вырос с примерно 1.5 Мб до 3.34 Мб
  • ХОТЯ ПРИ ЭТОМ ВЕСЬ pdf ПОЛУЧИЛСЯ ГОРАЗДО МЕНЬШЕ ПО РАЗМЕРУ
  • pillow docs save pdf

  • ЛСС img у них mode=RGB (Это отлично это по умолч.)
    - im = Image.open(r"C:\Users\MaxDroN\python_projects\data\img\manuscripts\lls\lls-book-rus-5\506.webp")
    - print(im)

  • Не путать с format='png', когда решил format='webp' конвертировать в png размер файла стал 2 Мб, а был намного меньше 200-400 Кб

    • im.save(r"C:\Users\MaxDroN\Desktop\test.png", format='png')
    • Вот так можно конвертировать format если что
    • ТАК ЧТО webp ТЕМА, А png ТУТ НЕ ПОДХОДИТ
  • https://stackoverflow.com/questions/67142564/pils-image-saveimage-pdf-creates-excessivly-large-pdf

    • Советуют img2pdf, но не пробовал, да и возможно не стоит
    • Про конвертацию в RGB (второй ответ, у нас уже RGB для ЛЛС, поэтому это нам не нужно)
  • https://www.geeksforgeeks.org/change-image-resolution-using-pillow-in-python

    • Про аналог resolution для изображений

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.