Teraz jest 25 kwi 2024 1:53:26




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 173 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Następna strona
epubQTools - skrypt do walidacji i konwersji ebooków 
Autor Wiadomość
Użytkownik

Dołączył(a): 27 mar 2014 2:17:52
Posty: 540
eCzytnik: PB Mini, czasem InkBook
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
quiris: a nie wystarczy sprawdzać przez magicstrings
otf ma 0:OTTO a ttf ma 0:0x00 0x01 0x00 0x00

tak na początku pliku


30 kwi 2014 23:32:39
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Artii napisał(a):
a nie wystarczy sprawdzać przez magicstrings

Artii, możesz mi na ten temat jakąś dokumentację wskazać, bo jakoś nic sensowniejszego ponad to co jest teraz nie znalazłem?

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


01 maja 2014 18:04:20
Zobacz profil WWW
Użytkownik

Dołączył(a): 27 mar 2014 2:17:52
Posty: 540
eCzytnik: PB Mini, czasem InkBook
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Faktycznie trochę za dużo skrótów myślowych poczyniłem :).

Znasz linuksowe polecenie file?
Tam masz w zastosowaniu magicstrings czyli dobrze znana sygnatura pliku. Dla ttf i otf i ttc niezmienna sygnatura jest w 4 pierwszych bajtach. 4 bajty sygnatury kiedy klucz jest 16 bajtowy to trochę mało, fakt. No ale jeśli ta sygnaturka nie występuje to masz pewność że plik jest nie teges. Ja bym zaryzykował tam gdzie niema pilow i sprawdzał tylko te 4B :)

Na podstawie tej microsoftowej specyfikacji możesz jeszcze kilka założeń i sprawdzeń zrobić (otf jest bardzo podobny do ttf - więc dla obu):
numTables nie większe niż 64 no nawet niech będzie 0xff
rangeShift na podstawie wzoru (NumTables x 16-searchRange.)

ww nazwy z "Organization of an OpenType Font".


01 maja 2014 20:35:37
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Artii napisał(a):
Dla ttf i otf i ttc niezmienna sygnatura jest w 4 pierwszych bajtach.

Ok. Zrobione: https://github.com/quiris11/epubQTools/ ... 186038d07a

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 10:08:46
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
UncleLion napisał(a):
Przy dwóch tytułach zauważyłem że może pojawić się problem ze sprawdzeniem i przygotowaniem ebooka poprzez skrypt.
Program przestaje przygotowywać ebooka (funkcja -e ) i daje komunikat o Entity '....' not defined. Dla przykładu w przypadku pierwszej książki jest to "↔"

Ok. Zrobione: https://github.com/quiris11/epubQTools/ ... dd88d4262c
Pobierz jeszcze raz paczkę z Githuba i sprawdź, czy teraz działa.

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 10:10:40
Zobacz profil WWW
Użytkownik

Dołączył(a): 07 maja 2013 10:27:48
Posty: 80
eCzytnik: KindlePaperwhite
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Quiris: zauważyłem, że przestała działać funkcja -q.
Wyskakuje komunikat Error
"32 Proces nie może uzyskać dostępu do pliku ponieważ jest on używany przez inny proces..."
i podaje ścieżkę do folderu Temp w którym tworzy katalog z czcionką.


02 maja 2014 13:23:39
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Hmm… No niestety, ale nie zauważyłem, ponieważ Windows nie jest moją główną platformą produkcyjną ;) Poczekaj popatrzę w czym rzecz.

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 13:25:42
Zobacz profil WWW
Użytkownik

Dołączył(a): 07 maja 2013 10:27:48
Posty: 80
eCzytnik: KindlePaperwhite
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
pewnie masz mnie już dość. ale przy kolejnym ebooku coś takiego:

Defining cover guide element...
Traceback (most recent call last):
File "d:\pyBookTools-master\epubQTools.py", line 1070, in <module>
sys.exit(main())
File "d:\pyBookTools-master\epubQTools.py", line 964, in main
_xhtml_files, _xhtml_file_paths
File "d:\pyBookTools-master\epubQTools.py", line 615, in fix_various_opf_probl
ems
xhtml_files, itemcoverhref, xhtml_file_paths, soup
File "d:\pyBookTools-master\epubQTools.py", line 498, in set_cover_guide_ref
if (svg_img_href.find(itemcoverhref) != -1 or
NameError: global name 'itemcoverhref' is not defined


02 maja 2014 13:33:58
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Cytuj:
Quiris: zauważyłem, że przestała działać funkcja -q.
Wyskakuje komunikat Error
"32 Proces nie może uzyskać dostępu do pliku ponieważ jest on używany przez inny proces..."
i podaje ścieżkę do folderu Temp w którym tworzy katalog z czcionką.
Hmm... Nic takiego mi nie wystakuje, czy możesz mi wkleić dokładny komunikat jaki się pokazuje w terminalu związany z tymi fontami?

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


Ostatnio edytowano 02 maja 2014 13:37:19 przez quiris, łącznie edytowano 1 raz



02 maja 2014 13:35:23
Zobacz profil WWW
Użytkownik

Dołączył(a): 07 maja 2013 10:27:48
Posty: 80
eCzytnik: KindlePaperwhite
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Traceback (most recent call last):
File "d:\pyBookTools-master\epubQTools.py", line 1070, in <module>
sys.exit(main())
File "d:\pyBookTools-master\epubQTools.py", line 880, in main
qcheck(_documents, args.mod, args.epubcheck, args.rename)
File "d:\pyBookTools-master\lib\epubqcheck.py", line 385, in qcheck
shutil.rmtree(temp_font_dir)
File "C:\python27\lib\shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\python27\lib\shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "C:\python27\lib\shutil.py", line 252, in rmtree
onerror(os.remove, fullname, sys.exc_info())
File "C:\python27\lib\shutil.py", line 250, in rmtree
os.remove(fullname)
WindowsError: [Error 32] Proces nie mo┐e uzyskaŠ dostŕpu do pliku, poniewa┐ jest
on u┐ywany przez inny proces: 'c:\\users\\wsg\\appdata\\local\\temp\\tmpqotmqk\
\OEBPS\\Fonts\\LiberationSerif-Bold.ttf'


02 maja 2014 13:36:33
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
UncleLion napisał(a):
File "d:\pyBookTools-master\epubQTools.py", line 498, in set_cover_guide_ref
if (svg_img_href.find(itemcoverhref) != -1 or
NameError: global name 'itemcoverhref' is not defined

To już powinno być naprawione: https://github.com/quiris11/epubQTools/ ... 4969bbaecc
Możesz pobrać jeszcze raz, albo samemu nanieść poprawkę w pliku, bo jest trywialna.

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 13:50:57
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
UncleLion napisał(a):
WindowsError: [Error 32] Proces nie mo┐e uzyskaŠ dostŕpu do pliku, poniewa┐ jest
on u┐ywany przez inny proces: 'c:\\users\\wsg\\appdata\\local\\temp\\tmpqotmqk\
\OEBPS\\Fonts\\LiberationSerif-Bold.ttf'

Ok. Powinno już działać: https://github.com/quiris11/epubQTools/ ... d3bc12999a

Wywaliłem zależność od biblioteki PIL, więć PIL możesz już całkowicie usunąć. Daj znać czy jest ok.

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 14:00:35
Zobacz profil WWW
Użytkownik

Dołączył(a): 07 maja 2013 10:27:48
Posty: 80
eCzytnik: KindlePaperwhite
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Bardzo dziękuję: teraz działa:)


02 maja 2014 14:07:41
Zobacz profil WWW
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Dzięki za info. Zaktualizowałem też execa: http://goo.gl/WfMRy2

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


02 maja 2014 14:35:51
Zobacz profil WWW
Użytkownik

Dołączył(a): 26 kwi 2013 18:58:07
Posty: 7
eCzytnik: Kindle Paperwhite 2
Post Re: epubQTools - skrypt do walidacji i konwersji ebooków
Bardzo fajny skrypt. Do tej pory przerobione na nim książki wyglądają o wiele lepiej niż wersje z księgarni. Wyrazy uznania dla twórcy. Mam natomiast ostatnio z wersją exe następujący problem:

Kod:
Working on: test.epub
Setting correct font mime types...
Correcting book language to: pl
Traceback (most recent call last):
  File "epubQTools.py", line 1080, in <module>
  File "epubQTools.py", line 969, in main
  File "epubQTools.py", line 629, in fix_various_opf_problems
  File "lxml.etree.pyx", line 3239, in lxml.etree.parse (src\lxml\lxml.etree.c:6
9955)
  File "parser.pxi", line 1748, in lxml.etree._parseDocument (src\lxml\lxml.etre
e.c:102066)
  File "parser.pxi", line 1774, in lxml.etree._parseDocumentFromURL (src\lxml\lx
ml.etree.c:102330)
  File "parser.pxi", line 1678, in lxml.etree._parseDocFromFile (src\lxml\lxml.e
tree.c:101365)
  File "parser.pxi", line 1110, in lxml.etree._BaseParser._parseDocFromFile (src
\lxml\lxml.etree.c:96817)
  File "parser.pxi", line 582, in lxml.etree._ParserContext._handleParseResultDo
c (src\lxml\lxml.etree.c:91275)
  File "parser.pxi", line 683, in lxml.etree._handleParseResult (src\lxml\lxml.e
tree.c:92461)
  File "parser.pxi", line 620, in lxml.etree._raiseParseError (src\lxml\lxml.etr
ee.c:91722)
IOError: Error reading file 'c:\users\rsza\appdata\local\temp\tmp3c7fq4\OEBPS\co
ver.xhml': failed to load external entity "file:///c:/users/rsza/appdata/local/t
emp/tmp3c7fq4/OEBPS/cover.xhml"


Sprawdzałem w podanym katalogu i faktycznie nie tworzy pliku cover.xhml. Sprawdzone na dwóch komputerach i na obu ten sam problem.


05 maja 2014 10:54:35
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 173 ]  Przejdź na stronę Poprzednia strona  1, 2, 3, 4, 5, 6, 7, 8 ... 12  Następna strona


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Skocz do:  
cron