From e0bd5207696a42be383e540031d49c106e18eba2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Jun 2009 21:51:42 -0700 Subject: [PATCH 1/5] Update John's mug shot --- src/calibre/www/static/img/faces/john.png | Bin 5701 -> 31242 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/calibre/www/static/img/faces/john.png b/src/calibre/www/static/img/faces/john.png index dee76699fdd48512d34633318acd31f805d8ad06..c18a0e77d1fab1575dc2c36c27695cb44f2ff296 100644 GIT binary patch literal 31242 zcmV)WK(4=uP)Px#32;bRa{vGf6951U69E94oEQKAAOJ~3K~#9!RJ>WwWLb6{w$|R~+#AC;+U|UjCBB^F|cV%@| zR%PY%%@J|$J!daJoD*4eJ|r@~A>zgv_TFpQoB!y)`)^1Pga8NtNT~gX21WZ92!u$0 zlweR5i~uNt5`h311O*E1k0=sS`z2BkfsjZ-ARy~+Yk~k#Kzlm^RUl!Y1Q3W?VFt3j zp-7Y3Qy~H%41ydcKD+4eIG(dt86(U#(i@p-=*`oaf+M@|U0|E%j zf*=6G1W7b10&J@&!qMMXeL)0LV5J;{L@>3Vs}OnoLG`5s5CGKPMj|Qo-3kUtfuIPX zEibGsUt3m6fKj2g{OvPI0NM5rIDSoJB_J5uV=4ep62U5gh)_`wFeeBX!XybY0Z9rY zAv2O_pAJAkbV8Cq^!*GHRf5w5BNPx(Br~>8=w?;z!}o`5|6o7@jgtCtGYGJdL>CHV z^op>683ib01PS${#sIt@HGr&Aau6^_0H_oJ_A?I%0T>a-W7Q5|`;bNnBB=n|7tuay zTTS-U1ds^O0%+$rL{M#^sCND-87T>EPf?;)p+p3YjHprOd5S7QIM&{0FW#Sk_G`Z35fOy(a*Tr z6=-n?>icPcoF*z{W}zU#_%@;_7!tJ1Wnw8N?WenWzbhyqrNB}TH#c`Rv|8mTk%zHP zi>N%9`@q1tYZgS7>MXlDSTyfXC&0=8RAfn1!Tv)X)n}bD-lrJmt!b}MXgaI$~@iNUSCYp;?(Wc zoBiExi6v?+ONpqrS9fAf&UsnJJeD%=ry^<0RtZE5DQ(YA&(2RDJpO>>YFI5*XAd9c z;XLOPhyoD?LyJ!!(XtF>V6;) zh$_(>Zbovu$)_hPl^Dikv>*NY$G`hKzy85T-}AhUN*_*XLwgRv80`$PMHR7EBqoW7 z9;SLg2Nh6%a0;Ts0wEy5g0i-b5eeby+i^%ptd(eJ1a)ONd{WDgGm5IDUS7&0U{L;LsC_Qa5&svU0uGuyS=)*zP@<- z?)K_tnI=UXNd<_Lw6!;mHIr#deSX@+pK5{1Ou+u2_2+F~Tw zr_bO1@&ENFzwyHlfAzc1?mhhIlOO-~hNr-2L>NeV4+6)PY88%|LIwm|4G{za=0E^$ zSR^AOf;6_Z7J^~M9_iY_1*srBOf@Ra(W{ldCji2fBvGvGt0AYsj(JD@k<@Z^JHU)% z91^UjtM&<^WkQJt$)HdxJ7I`+ELu@fL!mOw)6L!O#l_oi-o1Kxb#b-3J4}Z;Dui;F z=V_WRZs(U5huvW*6(B=VBP4|CVJ;yUdvQS8Tx%=kDAnWjUQm}Qu3yzJzxi3tzxeSd zAMWlhf9(f9+}`^j=M8A9aZ8895+X^+g+jJlA*t1&W~@OXTKQ9hW`vYz#~6hm3{J=( zNzv;Mh-Lr;N0KBU1=Pxx7U;r~2moFwlh~L0m=D6qX!Sy?83oD!5v}-@WIfNm4^Bjc zL^&WKNN?F5Exd_9t<&M=-Nn1F-@f|t&DXCkuWpxuC=01jy}H?d`R49wx9k@YoR`vY zz!DJ+E&y%)LuzS|?fmu99&W7BzV&U1GL`trr(b{m)!QHc=oi2Ddq4W%gO9f7ACBV) zd8>Q~P!^Pn6>>mF4ApX2$l75PLojOroe){oN*?tkfDAI2)Cwm=ulC<3)>bK?um2zY z;UB=-n@~NhqaFQ@uh=4wwR;=vsSfPlGads`1AQbwH{f_$g?1zq5LBY2@s9NHf!Muiit?xz=UD&3^gGzx~Bwcl+$a zN1N>_nFMtB)~X~3q=%7!L1dyqaDlY8(_wB6=*xQX2=in0m2@n(B$7cm?EM+<$-^kn z|EoXz10xKC5Z0jodyvt7u){g_d!ZH(TBh$9ood?v8T;+&0J}Y%K|n3b-QCrz7r*@3 zi|5bZzPg-CK`2y1<;~UI&%e5Sb3K&;nC0xHghFHTA^Th^2{R**V95+HA5wA`TDpcP z_momwAWA_q8r7mxf361DDWXQqHQv6x;&S(cAAHx+Ksso>5b9@N9Rs!E7T;o611sb* zA^J-nYg`FIIr}AS%hyt9{|e9^r}IaI|It7A18cd(RuGa3%o|5OyW+ieM2PSvAAai%J)Jk|7QYl4}Le^tKgXsOjs<9y8QsS2{ z-stf5SHAPa^62h=De-q|OAYb1GPN-wXxxJ-WNrdz*1D*4(+X`XQVU3(q9Y|Yrk?VS#c9Xa41nQc zKoooJDdYPP+inHKjwfgx+%;Z~;f-Yh5OH_?_RBAx|NM*3zqq?O)DT#Ss9IiK-~Hm{ z&9une#^kHP7elQzib&fGuE3aw!R-F&cDq@brTskRA=i+b-R}2gSq5JVSV|}~WRt?` z$^u2TMt@v(2Cp3#83D4?NM4QbJp3>J$G-{rKm4yBXt*yXz>f?tJAvDa7f5niAY6ng zs+idXWzdl84|j*ClxH*Zd70l`-%WE7Bv`4-G#584%QAAcAJ)6w&2E`$ zzY;KW)kxXPQrc<|sEOresKR}vv&9O>FLQh4s(%0tMzbob9;SnUxk94$2?8Te0R4Ve3g<9 zt8XqY|MasjzkL1m_5My|jY!D>cMf?q><@b>T2gbMluF0-QvcEa^w07*{Eff$x8aWg zGqZ3oWKbge!KNbM4b%Za3FciRfQ8BBal~0hJ5o~aR%>kmFEujRD9K={(Net(psJK; z?E*%JGA*>q`o(M^uN4nE(&&w*GAOJQ0uid^aP{uR^Upv1?B-@aMS~nVl=AxR?Tfc} zhdEprhg_zD8ll+lmrY)O{P^J~k58YTt+qp6ZC2~m`u;i_^ZIl%4yghGY**vee!V-) zhib!+R-?zPyWL?lY%{Xk?R5I1XXpR&`GbG{r$4>f-&C@cN?}<0YBkilG&YfD2xYet z0r2W}{%`+>|MlkP?mzo4{$AcZLv#WVo#^bvemc@`LA8w76_;KUwJRWXtk;ocNM@!G zs7jc~Xqg6y5Mco+WCja^9VIZSky$P_dd|A`)G~I%^WVa^=xxET9ArX}zX+j0+x0ryv z?mx;M?L}Jg-l!xOTe407#bAffkcGhvtfIB_+{6ipVI*pRy&8?<>-XGj=v28B5mD#c zmtXzzza97VYM3m)^C3IFP?vSbC_-qhdFeA%$J8o zd*SrniHaEWezHZOWhqjSH;3ha{3n0>qu=<|55NCo^HsnBnNSFVt)?fC)JXfb;0?~2 zBHHqIDYFyZoofk2fa%EEs)H){AN}Fq?|Hb94%Wqpmd=ABdwzxiY={3nvEJ%BH4UvP zQi2pkb-B6v<`+Nxcb9MO6sVo*D6cMWzIwZ>p(+hy4k72f8OF_!zI*@v?|=O4hu^)w zUimQidNT~}!;o|GaU4?ePQ4`uBDq7=jCo8DhS5WoQe3c7sWh~;)HJJmsS zWt&uE#XHEbmcd0d2H+^_HxA0udp?fQa7{=sxFoRMhF-I($4R}HC?YyE|4T|p1DRHq z!{zIjS8uNyhrxhq9OmiG)uEzmLPpZKN@
FMUTo;~>Z>FN2&Fc^km$nM#5N+~BN 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 From bdc3478139a240ada50a79cb62320640b45629bd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Jun 2009 08:29:25 -0700 Subject: [PATCH 2/5] Fix regression in 505 driver --- src/calibre/devices/prs505/driver.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/calibre/devices/prs505/driver.py b/src/calibre/devices/prs505/driver.py index 1dca0586f9..fe1f987dc9 100644 --- a/src/calibre/devices/prs505/driver.py +++ b/src/calibre/devices/prs505/driver.py @@ -186,12 +186,12 @@ class PRS505(CLI, Device): info = metadata.next() path = location[0] blist = 2 if location[3] == 'cardb' else 1 if location[3] == 'carda' else 0 - - if path.startswith(self._main_prefix): + + if self._main_prefix and path.startswith(self._main_prefix): name = path.replace(self._main_prefix, '') - elif path.startswith(self._card_a_prefix): + elif self._card_a_prefix and path.startswith(self._card_a_prefix): name = path.replace(self._card_a_prefix, '') - elif path.startswith(self._card_b_prefix): + elif self._card_b_prefix and path.startswith(self._card_b_prefix): name = path.replace(self._card_b_prefix, '') name = name.replace('\\', '/') From 380752b11532d68695b5887a2ea24ad8d025cf74 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Jun 2009 10:36:44 -0700 Subject: [PATCH 3/5] Fix #2713 (blank page inserted after each page on CBZ -> MOBI conversion) --- src/calibre/ebooks/mobi/output.py | 6 +++++- src/calibre/ebooks/mobi/writer.py | 12 ++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/mobi/output.py b/src/calibre/ebooks/mobi/output.py index 301e0a5a67..84860d3d0f 100644 --- a/src/calibre/ebooks/mobi/output.py +++ b/src/calibre/ebooks/mobi/output.py @@ -47,6 +47,7 @@ class MOBIOutput(OutputFormatPlugin): from calibre.ebooks.oeb.transforms.manglecase import CaseMangler from calibre.ebooks.oeb.transforms.rasterize import SVGRasterizer from calibre.ebooks.oeb.transforms.htmltoc import HTMLTOCAdder + from calibre.customize.ui import plugin_for_input_format imagemax = PALM_MAX_IMAGE_SIZE if opts.rescale_images else None tocadder = HTMLTOCAdder(title=opts.toc_title) tocadder(oeb, opts) @@ -56,8 +57,11 @@ class MOBIOutput(OutputFormatPlugin): rasterizer(oeb, opts) mobimlizer = MobiMLizer(ignore_tables=opts.linearize_tables) mobimlizer(oeb, opts) + write_page_breaks_after_item = not input_plugin is plugin_for_input_format('cbz') + print 111111, write_page_breaks_after_item writer = MobiWriter(opts, imagemax=imagemax, compression=UNCOMPRESSED if opts.dont_compress else PALMDOC, - prefer_author_sort=opts.prefer_author_sort) + prefer_author_sort=opts.prefer_author_sort, + write_page_breaks_after_item=write_page_breaks_after_item) writer(oeb, output_path) diff --git a/src/calibre/ebooks/mobi/writer.py b/src/calibre/ebooks/mobi/writer.py index 07bc713b94..28aacd6e07 100644 --- a/src/calibre/ebooks/mobi/writer.py +++ b/src/calibre/ebooks/mobi/writer.py @@ -156,10 +156,11 @@ def rescale_image(data, maxsizeb, dimen=None): class Serializer(object): NSRMAP = {'': None, XML_NS: 'xml', XHTML_NS: '', MBP_NS: 'mbp'} - def __init__(self, oeb, images): + def __init__(self, oeb, images, write_page_breaks_after_item=True): self.oeb = oeb self.images = images self.logger = oeb.logger + self.write_page_breaks_after_item = write_page_breaks_after_item self.id_offsets = {} self.href_offsets = defaultdict(list) self.breaks = [] @@ -239,7 +240,8 @@ class Serializer(object): self.id_offsets[item.href] = buffer.tell() for elem in item.data.find(XHTML('body')): self.serialize_elem(elem, item) - buffer.write('') + if self.write_page_breaks_after_item: + buffer.write('') def serialize_elem(self, elem, item, nsrmap=NSRMAP): buffer = self.buffer @@ -319,8 +321,9 @@ class MobiWriter(object): COLLAPSE_RE = re.compile(r'[ \t\r\n\v]+') def __init__(self, opts, compression=PALMDOC, imagemax=None, - prefer_author_sort=False): + prefer_author_sort=False, write_page_breaks_after_item=True): self.opts = opts + self.write_page_breaks_after_item = write_page_breaks_after_item self._compression = compression or UNCOMPRESSED self._imagemax = imagemax or OTHER_MAX_IMAGE_SIZE self._prefer_author_sort = prefer_author_sort @@ -583,7 +586,8 @@ class MobiWriter(object): def _generate_text(self): self._oeb.logger.info('Serializing markup content...') - serializer = Serializer(self._oeb, self._images) + serializer = Serializer(self._oeb, self._images, + write_page_breaks_after_item=self.write_page_breaks_after_item) breaks = serializer.breaks text = serializer.text self._id_offsets = serializer.id_offsets From ce300315d07f67ca0dd74aedf41a23944b419777 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Jun 2009 11:00:30 -0700 Subject: [PATCH 4/5] Fix #2717 (.6 pdf->epub - Book Title/Series inserted into beginning every split file) --- src/calibre/ebooks/oeb/transforms/split.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calibre/ebooks/oeb/transforms/split.py b/src/calibre/ebooks/oeb/transforms/split.py index 4b4fb95fb7..1fba7ffa64 100644 --- a/src/calibre/ebooks/oeb/transforms/split.py +++ b/src/calibre/ebooks/oeb/transforms/split.py @@ -308,6 +308,7 @@ class FlowSplitter(object): if not hit_split_point: x = elem.get('id', None) nix_element(elem, top=False) + body2.text = '\n' return tree, tree2 From b726b3233a9c52c8cfa7a3aa56e4de0cc1d6bcac Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Jun 2009 15:36:32 -0700 Subject: [PATCH 5/5] beta 10 --- src/calibre/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/constants.py b/src/calibre/constants.py index d5e25661dd..4f52c5a3ab 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.6.0b9' +__version__ = '0.6.0b10' __author__ = "Kovid Goyal " import re