Author | Message |
---|
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| |
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 19.04.2015 20:48 | |
| Ребята, неужели нет спецов, чтобы попробовать реализовать экспорт не только слов, но и контекста? Самим сервисом это заложено - надо добавить класс в код _________________ Kindle Voyage |
|
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 15.06.2015 22:21 | |
| Могу сделать, только не совсем понимаю о каком словаре в Kindle идёт речь. Класс не надо добавлять, достаточно немножно подкорректировать код |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 17.06.2015 23:06 | |
| GriMel Хм Когда тап на слово, например в английской книге - вылазит окно с перевод слова на рус язык. Это же слово и предложение (контекст) сохраняется на читалке в файле /Volumes/Kindle/system/vocabulary/vocab.db
Lingualeo понимает контекст, но прога передает только слово...
Подправьте, пожалуйста, исходники! Было бы очень полезно _________________ Kindle Voyage |
|
| |
knigophil Член клуба The eBook
Joined: 24 May 2010 Posts: 2279
Location: SoCal
| |
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 07.07.2015 11:59 | |
| Извините, что долго не отвечал, вот вроде сделал. Если я правильно понял, то stem - это контекст. Paperwhite под рукой нету, поэтому проверить не могу. Нужен python3, а не python2 (Скрипт запускаем с python3 export.py kindle)В файле config пропишите путь к папке с словарем в sources, в auth - ваш email и пароль на Lingualeo (ну я так понял, что вы пользовались уже) http://rghost.net/8RTJJQ2tb |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 08.07.2015 00:36 | |
| GriMel Спасибо, но что-то не взлетело:
Code: | C:\project>python export.py kindle Traceback (most recent call last): File "export.py", line 9, in <module> email = config.auth.get('email') NameError: name 'config' is not defined |
Code: | C:\project>python3 export.py kindle "python3" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. |
Code: | C:\project>python Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (In tel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> |
knigophil, спасибо, но STEM не выручит _________________ Kindle Voyage |
|
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 08.07.2015 16:37 | |
| В последний момент решил немного подредактировать и напорол ерунды. Вот исправленная версия - http://rghost.net/8krfqctqD И я так вижу, что у вас python3.4.3 стоит так что запускайте просто python export.py kindle |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 08.07.2015 22:36 | |
| GriMel wrote: | В последний момент решил немного подредактировать и напорол ерунды. Вот исправленная версия - http://rghost.net/8krfqctqD И я так вижу, что у вас python3.4.3 стоит так что запускайте просто python export.py kindle |
Спасибо, но теперь другая ошибка:
Code: | D:\>cd \Install\!Kindle\project
D:\Install\!Kindle\project>python export.py kindle (<class>, OperationalError('unable to open database f ile',), <traceback>) Traceback (most recent call last): File "export.py", line 23, in <module> handler.read() File "D:\Install\!Kindle\project\word.py", line 20, in read conn = sqlite3.connect(self.source) sqlite3.OperationalError: unable to open database file |
Путь к БД верный - G:\system\vocabulary\vocab.db Через SqliteBrowser открывает нормально. _________________ Kindle Voyage |
|
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 09.07.2015 00:01 | |
| Попробуйте в config.py заменить
Code: | sources = { 'text' : '', 'kindle' : 'G:\system\vocabulary\vocab.db' } | на Code: | sources = { 'text' : '', 'kindle' : r'G:\system\vocabulary\vocab.db' } |
... то есть добавить r перед первыми кавычками. Я иногда забываю, что в Windows пути пишутся по другому и возникает коллизия с обратным слэшем.
P.S. Скиньте, пожалуйста ваш файлик vocab.db - хочу посмотреть на его структуру на будущее. |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 09.07.2015 10:22 | |
| GriMel wrote: | Попробуйте в config.py заменить |
Будем дебажить на ходу
Заменил еще:
Code: | for row in conn.exerute('SELECT stem from WORDS;'): | на Code: | for row in conn.execute('SELECT stem from WORDS;'): |
Заработало, но контекст не добавляет, а добавляет, как раз STEM, а это не оно...
Code: | SELECT t.usage, t.* from LOOKUPS t | Вроде usage это и есть контекст.
Проверил таким запросом: Code: | SELECT t.word, tt.usage from WORDS t inner join LOOKUPS tt on t.id = tt.word_key |
В word.py заменил
Code: | for row in conn.execute('SELECT stem from WORDS;'): | на Code: | SELECT t.word, tt.usage from WORDS t inner join LOOKUPS tt on t.id = tt.word_key |
И вот, вроде взлетело, но на процентов 70% слов не те предложения...
Сам db файл: http://www.ex.ua/173349551433
Спасибо... _________________ Kindle Voyage |
|
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 09.07.2015 15:03 | |
| http://rghost.net/7WBr8jt4h Пробуйте, вроде получилось. Да, наверное надо было сразу у вас попросить vocab.db - всё вышло бы гораздо быстрее |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 09.07.2015 23:02 | |
| GriMel wrote: | http://rghost.net/7WBr8jt4h Пробуйте, вроде получилось. Да, наверное надо было сразу у вас попросить vocab.db - всё вышло бы гораздо быстрее |
Ура Заработало Большое спасибо!
P.S., заменил
Quote: | for row in conn.execute('SELECT WORDS.word, LOOKUPS.usage FROM WORDS INNER JOIN LOOKUPS ON WORDS.id = LOOKUPS.word_key'): |
на
Quote: | for row in conn.execute('SELECT WORDS.stem, LOOKUPS.usage FROM WORDS INNER JOIN LOOKUPS ON WORDS.id = LOOKUPS.word_key'): |
STEM это базовая форма слова (или как оно правильно). Т.е., например, слово coughing (word) заменится на cough (stem). Считаю так будет более толково _________________ Kindle Voyage |
|
| |
andruha30 Член клуба The eBook
Joined: 08 Nov 2010 Posts: 609
Location: Житомир
| Posted: 09.07.2015 23:12 | |
| STEM в этом случае наверно правильно перевести как Корень слова _________________ PB 602,PB 626 Touch Lux 3,PB A10,NST(у отца) |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 09.07.2015 23:29 | |
| 1100 слов загрузилось успешно, с контекстом, картинками, транскрипцией...
Кому интересно: потом эти слова выгружаю на ПК, а потом закидываю в Anki, а уже потом на телефон в виде двухсторонних карточек (англ-рус, рус-англ)... И это слова на вечно в облаке Лингуалео и Анки. И всегда можно загрузить в телефон, планшет и т.д.
Добавлено спустя 4 минуты 21 секунду:
GriMel Можете еще пожалуйста заставить заработать файл транкейт: truncate.py
Code: | #!/usr/bin/env python # -*- coding: utf-8 -*- import config import sqlite3
kindle_config = config.sources.get('kindle') conn = sqlite3.connect(kindle_config) conn.execute("delete from WORDS;") conn.close() conn = sqlite3.connect(kindle_config) conn = conn.execute("delete from LOOKUPS;") conn.close() conn = sqlite3.connect(kindle_config) conn.execute("update metadata set sscnt = 0 where id in ('WORDS', 'LOOKUPS');") conn.close() |
Вот такой запуск ничего не удаляет...
Code: | D:\Install\!Kindle\project>python truncate.py |
_________________ Kindle Voyage |
|
| |
GriMel Продвинутый участник форума
Joined: 17 Apr 2011 Posts: 86
| Posted: 13.07.2015 10:37 | |
| http://rghost.net/7kNzSKGfg исправленный truncate.py. Вообще, можно GUI версию сделать, чтоб не писать в командную строку если кому-то ещё это понадобится. |
|
| |
Ivasteel Член клуба The eBook
Joined: 11 Sep 2009 Posts: 1639
Location: Kiev
| Posted: 13.07.2015 23:23 | |
| GriMel wrote: | http://rghost.net/7kNzSKGfg исправленный truncate.py. Вообще, можно GUI версию сделать, чтоб не писать в командную строку если кому-то ещё это понадобится. |
Вообще, класс. Все отлично работает. В таблицах данных не осталось. Экспорт также показывает, что 0 слов.
Большое спасибо!!! Очень полезно
Гуй - это было бы супер! Тем более все файлы/команды были бы в 1 месте _________________ Kindle Voyage |
|
| |
Jackod Зрелый участник форума
Joined: 05 Aug 2012 Posts: 39
| Posted: 14.07.2015 17:20 | |
| согласен, был бы тоже очень благодарен. И уверен что не только я) Чтобы не складывалось впечатление что такой экспорт нужен только Iva29 |
|
| |
mih198830 Искушенный участник форума
Joined: 15 Jun 2013 Posts: 53
| Posted: 15.07.2015 18:30 | |
| Определенно это интересно, с понятным пользовательским интерфейсом конечно круто было бы. |
|
| |
Elrond Недавний участник форума
Joined: 20 Feb 2010 Posts: 10
| Posted: 29.08.2015 15:50 | |
| Да можно и без GUI, просто хоть инструкцию на пару пунктов напишите, что и куда. Jail нужен для всего этого? |
|
| |