Исправление FishHook, (текущая версия) :
PEP8
Где main.py или хотя бы __init__.py
? Почему у вас все модули исполняемые?
Вы не знаете про ООП или вы из секты?
Магическое всё - магические переменные, магические индексы, магические пути. Вы cделали все, чтобы программу захардкодить по максимуму
Однострочники! Они всюду, в вашем коде они играют роль парадигмы, самый лучший код - код записанный в одну строку
Тайп хинты? Что это и зачем?
Локальные импорты. Вместо того, чтобы подумать над структурой пакета, мы сделаем импорты локальными, чтобы избежать циклических ссылок. Кажется, вы применили парадигму «всё есть однострочник» к структуре пакета.
Нелогичности и детские баги, решаемые применением стандартных практик программирование вроде контекстных менеджеров, которые вы игнорируете абсолютно
for k, v in bdB.items():
b = fitz.open()
if len(lst := v['l']) < 2:
continue
здесь вы решили открыть на всякий случай? Прозапас? А закрывать вы его не собираетесь никогда? Причем в данном случае код не будет работать вообще. Ну потому что вы по какой-то причине не любите глобальный импорт, но в этой функции вы НЕ ИМПОРТИРОВАЛИ fitz. Вы тестировали ваш код?
Ну да, тесты. Не слышал.
За имена переменных вас надо лишить прав доступа к клавиатуре на два года
Гениальный код
def getinfo():None
Это новое в питоне? Или что это вообще?
def sw(doc, name):
nonlocal i
doc.save(name, garbage=2, deflate=True)
print(timing.log(i := i+1, name))
return fitz.open(), 0
При этом i нигде выше не определена. То есть вы определяете переменную нелокальную в этом скоупе в самом скоупе? Это кто вас так научил?
out1.insert_pdf(
fitz.open(Mp := f'{srcM}\\{pg}'), links=0, annots=0, show_progress=0)
rm(Mp)
мозг сломался, спасибо. Если я правильно понял, в этом месте программы вы пишете в файл, который немедленно после записи удаляете.
Короче, ну это даже на джуниора не тянет. Это же ужас.
Исходная версия FishHook, :
PEP8
Где main.py или хотя бы init.py? Почему у вас все модули исполняемые?
Вы не знаете про ООП или вы из секты?
Магическое всё - магические переменные, магические индексы, магические пути. Вы зделали все, чтобы программу захардкодить по максимуму
Однострочники! Они всюду, в вашем коде они играют роль парадигмы, самый лучший код - код записанный в одну строку
Тайп хинты? Что это и зачем?
Локальные импорты. Вместо того, чтобы подумать над структурой пакета, мы сделаем импорты локальными, чтобы избежать циклических ссылок. Кажется, вы применили парадигму «всё есть однострочник» к структуре пакета.
Нелогичности и детские баги, решаемые применением стандартных практик программирование вроде контекстных менеджеров, которые вы игнорируете абсолютно
for k, v in bdB.items():
b = fitz.open()
if len(lst := v['l']) < 2:
continue
здесь вы решили открыть на всякий случай? Прозапас? А закрывать вы его не собираетесь никогда? Причем в данном случае код не будет работать вообще. Ну потому что вы по какой-то причине не любите глобальный импорт, но в этой функции вы НЕ ИМПОРТИРОВАЛИ fitz. Вы тестировали ваш код?
Ну да, тесты. Не слышал.
За имена переменных вас надо лишить прав доступа к клавиатуре на два года
Гениальный код
def getinfo():None
Это новое в питоне? Или что это вообще?
def sw(doc, name):
nonlocal i
doc.save(name, garbage=2, deflate=True)
print(timing.log(i := i+1, name))
return fitz.open(), 0
При этом i нигде выше не определена. То есть вы определяете переменную нелокальную в этом скоупе в самом скоупе? Это кто вас так научил?
out1.insert_pdf(
fitz.open(Mp := f'{srcM}\\{pg}'), links=0, annots=0, show_progress=0)
rm(Mp)
мозг сломался, спасибо. Если я правильно понял, в этом месте программы вы пишете в файл, который немедленно после записи удаляете.
Короче, ну это даже на джуниора не тянет. Это же ужас.