about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaweł Jastrzębski <pawelj@iosphe.re>2015-07-14 18:01:51 +0200
committerPaweł Jastrzębski <pawelj@iosphe.re>2015-07-14 18:01:51 +0200
commitc65e1c8dea3adbd5cde068a6dff2e7d08a504166 (patch)
tree8bfba4ce05c2a873b27ea6da5e6a70a40e5f1db2
parentMerge pull request #147 from ciromattia/dev (diff)
parentUpdated README + version bump (diff)
downloadkcc-c65e1c8dea3adbd5cde068a6dff2e7d08a504166.tar.gz
kcc-c65e1c8dea3adbd5cde068a6dff2e7d08a504166.tar.bz2
kcc-c65e1c8dea3adbd5cde068a6dff2e7d08a504166.zip
Merge pull request #150 from ciromattia/dev
4.6.2
-rw-r--r--README.md4
-rw-r--r--kcc.iss2
-rw-r--r--kcc/__init__.py2
-rwxr-xr-xkcc/comic2ebook.py28
4 files changed, 19 insertions, 17 deletions
diff --git a/README.md b/README.md
index 971a9e0..696c553 100644
--- a/README.md
+++ b/README.md
@@ -156,6 +156,10 @@ The app relies and includes the following scripts:
 * [Kobo Aura H2O](http://kcc.iosphe.re/Samples/Ubunchu-KoAH2O.kepub.epub)
 
 ## CHANGELOG
+####4.6.2:
+* Fixed critical MOBI header bug
+* Fixed metadata encoding error
+
 ####4.6.1:
 * Fixed KEPUB TOC generator
 * Added warning about too small input files
diff --git a/kcc.iss b/kcc.iss
index 10a26c8..5deb343 100644
--- a/kcc.iss
+++ b/kcc.iss
@@ -1,5 +1,5 @@
 #define MyAppName "Kindle Comic Converter"
-#define MyAppVersion "4.6.1"
+#define MyAppVersion "4.6.2"
 #define MyAppPublisher "Ciro Mattia Gonano, Paweł Jastrzębski"
 #define MyAppURL "http://kcc.iosphe.re/"
 #define MyAppExeName "KCC.exe"
diff --git a/kcc/__init__.py b/kcc/__init__.py
index 6a54f0c..10c7f42 100644
--- a/kcc/__init__.py
+++ b/kcc/__init__.py
@@ -1,4 +1,4 @@
-__version__ = '4.6.1'
+__version__ = '4.6.2'
 __license__ = 'ISC'
 __copyright__ = '2012-2015, Ciro Mattia Gonano <ciromattia@gmail.com>, Pawel Jastrzebski <pawelj@iosphe.re>'
 __docformat__ = 'restructuredtext en'
diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py
index d8be58f..06a1c61 100755
--- a/kcc/comic2ebook.py
+++ b/kcc/comic2ebook.py
@@ -38,6 +38,7 @@ from PIL import Image
 from subprocess import STDOUT, PIPE
 from psutil import Popen, virtual_memory
 from scandir import walk
+from html import escape
 try:
     from PyQt5 import QtCore
 except ImportError:
@@ -313,18 +314,15 @@ def buildOPF(dstdir, title, filelist, cover=None):
                   "<meta property=\"rendition:spread\">portrait</meta>\n",
                   "<meta property=\"rendition:layout\">pre-paginated</meta>\n"])
     if options.iskindle and options.profile != 'Custom':
-        f.writelines(["<meta property=\"RegionMagnification\">true</meta>\n",
-                      "<meta property=\"region-mag\">true</meta>\n",
-                      "<meta property=\"book-type\">comic</meta>\n",
-                      "<meta property=\"zero-gutter\">true</meta>\n",
-                      "<meta property=\"zero-margin\">true</meta>\n",
-                      "<meta property=\"fixed-layout\">true</meta>\n",
-                      "<meta property=\"orientation-lock\">portrait</meta>\n",
-                      "<meta property=\"original-resolution\">",
-                      str(deviceres[0]) + "x" + str(deviceres[1]) + "</meta>\n",
-                      "<meta property=\"primary-writing-mode\">" + writingmode + "</meta>\n",
-                      "<meta property=\"ke-border-color\">#ffffff</meta>\n",
-                      "<meta property=\"ke-border-width\">0</meta>\n"])
+        f.writelines(["<meta name=\"original-resolution\" content=\"",
+                      str(deviceres[0]) + "x" + str(deviceres[1]) + "\"/>\n",
+                      "<meta name=\"book-type\" content=\"comic\"/>\n",
+                      "<meta name=\"RegionMagnification\" content=\"true\"/>\n",
+                      "<meta name=\"primary-writing-mode\" content=\"" + writingmode + "\"/>\n",
+                      "<meta name=\"zero-gutter\" content=\"true\"/>\n",
+                      "<meta name=\"zero-margin\" content=\"true\"/>\n",
+                      "<meta name=\"ke-border-color\" content=\"#ffffff\"/>\n",
+                      "<meta name=\"ke-border-width\" content=\"0\"/>\n"])
     f.writelines(["</metadata>\n<manifest>\n<item id=\"ncx\" href=\"toc.ncx\" ",
                   "media-type=\"application/x-dtbncx+xml\"/>\n",
                   "<item id=\"nav\" href=\"nav.xhtml\" ",
@@ -746,7 +744,7 @@ def getComicInfo(path, originalPath):
         options.authors = []
         if defaultTitle:
             if xml.data['Series']:
-                options.title = xml.data['Series']
+                options.title = escape(xml.data['Series'])
             if xml.data['Volume']:
                 titleSuffix += ' V' + xml.data['Volume']
             if xml.data['Number']:
@@ -754,7 +752,7 @@ def getComicInfo(path, originalPath):
             options.title += titleSuffix
         for field in ['Writers', 'Pencillers', 'Inkers', 'Colorists']:
             for person in xml.data[field]:
-                options.authors.append(person)
+                options.authors.append(escape(person))
         if len(options.authors) > 0:
             options.authors = list(set(options.authors))
             options.authors.sort()
@@ -765,7 +763,7 @@ def getComicInfo(path, originalPath):
         if xml.data['Bookmarks']:
             options.chapters = xml.data['Bookmarks']
         if xml.data['Summary']:
-            options.summary = xml.data['Summary']
+            options.summary = escape(xml.data['Summary'])
         os.remove(xmlPath)