J.R.
Посмотри пожалуйста функцию remove_slashes (451 строчка). Крамола? Переделать?
Это map() + re.sub(). Только тут не одна строка, а десять.
Shaman
Таблицу перекодирования лучше считать в конструкторе
Можно вынести, но можно и не выносить. Не такая уж она и большая.
J.R.
А про приём этот со словарем (choose_class, choose_action) выскажись пожалуйста?
Да можно его по разному делать, на первых порах лучше всё понятно писать.
Лучше какой-нибудь длиннющий if … elif … else, но локализованный в одном месте, чем короткие словари, но раскиданные по всей программе и связывающие её.
Если надо будет внести изменения в словарь, там вся программа посыпется из-за того, что разные фрагменты кода привязаны к его формату (названиям ключей).
Это похоже на правильное, но пока не знаешь ООП, лучше его не применять. По крайней мере, программа уже нечитаемая и не из-за отсутствия докстрингов (с ними она бы точно так же не читалась).
И втягивай коммиты, я там ещё правил некоторые вещи.
[guest@localhost cuetool-concept-my]$ git fetch fork
Enter passphrase for key '/home/guest/.ssh/id_rsa':
[guest@localhost cuetool-concept-my]$ git logo fork/master..
38393d7 Add the encoding argument to all open() calls with text mode
4319042 Remove redundant letter t in open mode
fffcda8 Refactor translit comprehension to map
441e31b Remove unnecessary .keys() calls from dictionaries
f044201 Add notes about git
8788a9b Add some empty lines between points
e00f7d4 Add a note about assertions
[guest@localhost cuetool-concept-my]$