Port compiling of .ui forms

This commit is contained in:
Kovid Goyal 2014-04-11 11:39:50 +05:30
parent ecd89949a2
commit 6004b84c5d
2 changed files with 8 additions and 8 deletions

View File

@ -5,6 +5,7 @@ __docformat__ = 'restructuredtext en'
import sys, os, re, time, random, __builtin__, warnings
__builtin__.__dict__['dynamic_property'] = lambda func: func(None)
sys.path.insert(0, '/opt/pyqt5/lib') # QT5XX: Remove this after migration complete
from math import floor
from functools import partial

View File

@ -4,7 +4,7 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
import os, sys, Queue, threading, glob
from threading import RLock
from urllib import unquote
from PyQt4.Qt import (QVariant, QFileInfo, QObject, QBuffer, Qt,
from PyQt5.Qt import (QFileInfo, QObject, QBuffer, Qt,
QByteArray, QTranslator, QCoreApplication, QThread,
QEvent, QTimer, pyqtSignal, QDateTime, QDesktopServices,
QFileDialog, QFileIconProvider, QSettings, QColor,
@ -134,7 +134,6 @@ defs['emblem_position'] = 'left'
del defs
# }}}
NONE = QVariant() # : Null value to return from the data function of item models
UNDEFINED_QDATETIME = QDateTime(UNDEFINED_DATE)
ALL_COLUMNS = ['title', 'ondevice', 'authors', 'size', 'timestamp', 'rating', 'publisher',
@ -1134,7 +1133,7 @@ def form_to_compiled_form(form):
def build_forms(srcdir, info=None, summary=False):
import re, cStringIO
from PyQt4.uic import compileUi
from PyQt5.uic import compileUi
forms = find_forms(srcdir)
if info is None:
from calibre import prints
@ -1145,6 +1144,9 @@ def build_forms(srcdir, info=None, summary=False):
return ans
num = 0
transdef_pat = re.compile(r'^\s+_translate\s+=\s+QtCore.QCoreApplication.translate$', flags=re.M)
transpat = re.compile(r'_translate\s*\(.+?,\s+"(.+?)(?<!\\)"\)', re.DOTALL)
for form in forms:
compiled_form = form_to_compiled_form(form)
if not os.path.exists(compiled_form) or os.stat(form).st_mtime > os.stat(compiled_form).st_mtime:
@ -1154,14 +1156,11 @@ def build_forms(srcdir, info=None, summary=False):
compileUi(form, buf)
dat = buf.getvalue()
dat = dat.replace('import images_rc', '')
dat = re.sub(r'^ {4}def _translate\(context, text, disambig\):\s+return.*$', ' pass', dat,
flags=re.M)
dat = re.compile(r'(?:QtGui.QApplication.translate|(?<!def )_translate)\(.+?,\s+"(.+?)(?<!\\)",.+?\)', re.DOTALL).sub(r'_("\1")', dat)
dat = transdef_pat.sub('', dat)
dat = transpat.sub(r'_("\1")', dat)
dat = dat.replace('_("MMM yyyy")', '"MMM yyyy"')
dat = dat.replace('_("d MMM yyyy")', '"d MMM yyyy"')
dat = pat.sub(sub, dat)
dat = dat.replace('from QtWebKit.QWebView import QWebView',
'from PyQt4 import QtWebKit\nfrom PyQt4.QtWebKit import QWebView')
open(compiled_form, 'wb').write(dat)
num += 1