Экспорт словаря Kindle в Lingualeo.com [PW2/PW3]
Goto page 1, 2, 3, 4, 5  Next
 
Libroom Forum IndexAmazon KindleПрограммы для Kindle
AuthorMessage

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 31.03.2015 01:28    

Товарищи, здравствуйте!

Экспорт словаря Kindle PW2/PW3 в Lingualeo.com.
Большое спасибо товарищу GriMel за доработку скриптов и разботку GUI.

Скачать GUI
http://sourceforge.net/projects/kindleo/files/latest/download/

Исходники GUI
https://github.com/GriMel/Kindleo

Сообщения об ошибках и предложения к GUI
https://github.com/GriMel/Kindleo/issues

Оригинальный скрипт (для командной строки)
https://github.com/relaxart/LeoPort
_________________
Kindle Voyage


Last edited by Ivasteel on 25.06.2016 21:53; edited 5 times in total
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 19.04.2015 20:48    

Ребята, неужели нет спецов, чтобы попробовать реализовать экспорт не только слов, но и контекста?
Самим сервисом это заложено - надо добавить класс в код Rolling Eyes
_________________
Kindle Voyage
 
View user's profile ^

GriMel
Продвинутый участник форума

Продвинутый участник форума



Joined: 17 Apr 2011
Posts: 86



Posted: 15.06.2015 22:21    

Могу сделать, только не совсем понимаю о каком словаре в Kindle идёт речь. Класс не надо добавлять, достаточно немножно подкорректировать кодLaughing
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 17.06.2015 23:06    

GriMel
Хм Smile
Когда тап на слово, например в английской книге - вылазит окно с перевод слова на рус язык.
Это же слово и предложение (контекст) сохраняется на читалке в файле /Volumes/Kindle/system/vocabulary/vocab.db

Lingualeo понимает контекст, но прога передает только слово...

Подправьте, пожалуйста, исходники! Было бы очень полезно
_________________
Kindle Voyage
 
View user's profile ^

knigophil
Член клуба The eBook

Член клуба The eBook



Joined: 24 May 2010
Posts: 2279


Location: SoCal

Posted: 26.06.2015 22:04    

Iva29
Попробуйте в word.py вместо SELECT word FROM WORDS написать SELECT stem FROM WORDS.
_________________
Kindle Voyage
Рекомендации по межформатному конвертированию
 
View user's profile ^

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
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба 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 не выручит Smile
_________________
Kindle Voyage
 
View user's profile ^

GriMel
Продвинутый участник форума

Продвинутый участник форума



Joined: 17 Apr 2011
Posts: 86



Posted: 08.07.2015 16:37    

В последний момент решил немного подредактировать и напорол ерунды. Laughing
Вот исправленная версия - http://rghost.net/8krfqctqD
И я так вижу, что у вас python3.4.3 стоит так что запускайте просто python export.py kindle
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 08.07.2015 22:36    

GriMel wrote:
В последний момент решил немного подредактировать и напорол ерунды. Laughing
Вот исправленная версия - 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
 
View user's profile ^

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 пути пишутся по другому Laughing и возникает коллизия с обратным слэшем.

P.S. Скиньте, пожалуйста ваш файлик vocab.db - хочу посмотреть на его структуру на будущее.
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 09.07.2015 10:22    

GriMel wrote:
Попробуйте в config.py заменить
Будем дебажить на ходу Wink

Заменил еще:
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% слов не те предложения... Rolling EyesQuestion

Сам db файл: http://www.ex.ua/173349551433

Спасибо...
_________________
Kindle Voyage
 
View user's profile ^

GriMel
Продвинутый участник форума

Продвинутый участник форума



Joined: 17 Apr 2011
Posts: 86



Posted: 09.07.2015 15:03    

http://rghost.net/7WBr8jt4h
Пробуйте, вроде получилось. Да, наверное надо было сразу у вас попросить vocab.db - всё вышло бы гораздо быстрее Smile
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба The eBook



Joined: 11 Sep 2009
Posts: 1639


Location: Kiev

Posted: 09.07.2015 23:02    

GriMel wrote:
http://rghost.net/7WBr8jt4h
Пробуйте, вроде получилось. Да, наверное надо было сразу у вас попросить vocab.db - всё вышло бы гораздо быстрее Smile
Ура Exclamation Заработало ExclamationExclamationExclamation
Большое спасибо!

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). Считаю так будет более толково Smile
_________________
Kindle Voyage
 
View user's profile ^

andruha30
Член клуба The eBook

Член клуба 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(у отца)
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба 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
 
View user's profile ^

GriMel
Продвинутый участник форума

Продвинутый участник форума



Joined: 17 Apr 2011
Posts: 86



Posted: 13.07.2015 10:37    

http://rghost.net/7kNzSKGfg исправленный truncate.py.
Вообще, можно GUI версию сделать, чтоб не писать в командную строку если кому-то ещё это понадобится.
 
View user's profile ^

Ivasteel
Член клуба The eBook

Член клуба 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 месте Rolling Eyes
_________________
Kindle Voyage
 
View user's profile ^

Jackod
Зрелый участник форума

Зрелый участник форума



Joined: 05 Aug 2012
Posts: 39



Posted: 14.07.2015 17:20    

согласен, был бы тоже очень благодарен. И уверен что не только я) Чтобы не складывалось впечатление что такой экспорт нужен только Iva29 Rolling Eyes
 
View user's profile ^

mih198830
Искушенный участник форума

Искушенный участник форума



Joined: 15 Jun 2013
Posts: 53



Posted: 15.07.2015 18:30    

Определенно это интересно, с понятным пользовательским интерфейсом конечно круто было бы.
 
View user's profile ^

Elrond
Недавний участник форума

Недавний участник форума



Joined: 20 Feb 2010
Posts: 10



Posted: 29.08.2015 15:50    

Да можно и без GUI, просто хоть инструкцию на пару пунктов напишите, что и куда. Jail нужен для всего этого?
 
View user's profile ^
Libroom Forum IndexAmazon KindleПрограммы для KindleAll times are GMT + 4 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021