forked from openlp/openlp
core/common convert strings to python3 format
This commit is contained in:
parent
f37722dd73
commit
f51132e876
@ -114,7 +114,7 @@ class CategoryActionList(object):
|
|||||||
if item[1] == action:
|
if item[1] == action:
|
||||||
self.actions.remove(item)
|
self.actions.remove(item)
|
||||||
return
|
return
|
||||||
raise ValueError('Action "%s" does not exist.' % action)
|
raise ValueError('Action "{action}" does not exist.'.format(action=action))
|
||||||
|
|
||||||
|
|
||||||
class CategoryList(object):
|
class CategoryList(object):
|
||||||
@ -138,7 +138,7 @@ class CategoryList(object):
|
|||||||
for category in self.categories:
|
for category in self.categories:
|
||||||
if category.name == key:
|
if category.name == key:
|
||||||
return category
|
return category
|
||||||
raise KeyError('Category "%s" does not exist.' % key)
|
raise KeyError('Category "{keY}" does not exist.'.format(key=key))
|
||||||
|
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
"""
|
"""
|
||||||
@ -203,7 +203,7 @@ class CategoryList(object):
|
|||||||
if category.name == name:
|
if category.name == name:
|
||||||
self.categories.remove(category)
|
self.categories.remove(category)
|
||||||
return
|
return
|
||||||
raise ValueError('Category "%s" does not exist.' % name)
|
raise ValueError('Category "{name}" does not exist.'.format(name=name))
|
||||||
|
|
||||||
|
|
||||||
class ActionList(object):
|
class ActionList(object):
|
||||||
@ -272,8 +272,9 @@ class ActionList(object):
|
|||||||
actions.append(action)
|
actions.append(action)
|
||||||
ActionList.shortcut_map[shortcuts[1]] = actions
|
ActionList.shortcut_map[shortcuts[1]] = actions
|
||||||
else:
|
else:
|
||||||
log.warning('Shortcut "%s" is removed from "%s" because another action already uses this shortcut.' %
|
log.warning('Shortcut "{shortcut}" is removed from "{action}" because another '
|
||||||
(shortcuts[1], action.objectName()))
|
'action already uses this shortcut.'.format(shortcut=shortcuts[1],
|
||||||
|
action=action.objectName()))
|
||||||
shortcuts.remove(shortcuts[1])
|
shortcuts.remove(shortcuts[1])
|
||||||
# Check the primary shortcut.
|
# Check the primary shortcut.
|
||||||
existing_actions = ActionList.shortcut_map.get(shortcuts[0], [])
|
existing_actions = ActionList.shortcut_map.get(shortcuts[0], [])
|
||||||
@ -283,8 +284,9 @@ class ActionList(object):
|
|||||||
actions.append(action)
|
actions.append(action)
|
||||||
ActionList.shortcut_map[shortcuts[0]] = actions
|
ActionList.shortcut_map[shortcuts[0]] = actions
|
||||||
else:
|
else:
|
||||||
log.warning('Shortcut "%s" is removed from "%s" because another action already uses this shortcut.' %
|
log.warning('Shortcut "{shortcut}" is removed from "{action}" ''
|
||||||
(shortcuts[0], action.objectName()))
|
because another action already uses this shortcut.'.format(shortcut=shortcuts[0],
|
||||||
|
action=action.objectName()))
|
||||||
shortcuts.remove(shortcuts[0])
|
shortcuts.remove(shortcuts[0])
|
||||||
action.setShortcuts([QtGui.QKeySequence(shortcut) for shortcut in shortcuts])
|
action.setShortcuts([QtGui.QKeySequence(shortcut) for shortcut in shortcuts])
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ class LanguageManager(object):
|
|||||||
"""
|
"""
|
||||||
Find all available language files in this OpenLP install
|
Find all available language files in this OpenLP install
|
||||||
"""
|
"""
|
||||||
log.debug('Translation files: %s', AppLocation.get_directory(AppLocation.LanguageDir))
|
log.debug('Translation files: {files}'.format(files=AppLocation.get_directory(AppLocation.LanguageDir)))
|
||||||
trans_dir = QtCore.QDir(AppLocation.get_directory(AppLocation.LanguageDir))
|
trans_dir = QtCore.QDir(AppLocation.get_directory(AppLocation.LanguageDir))
|
||||||
file_names = trans_dir.entryList(['*.qm'], QtCore.QDir.Files, QtCore.QDir.Name)
|
file_names = trans_dir.entryList(['*.qm'], QtCore.QDir.Files, QtCore.QDir.Name)
|
||||||
# Remove qm files from the list which start with "qt_".
|
# Remove qm files from the list which start with "qt_".
|
||||||
@ -93,7 +93,7 @@ class LanguageManager(object):
|
|||||||
"""
|
"""
|
||||||
language = Settings().value('core/language')
|
language = Settings().value('core/language')
|
||||||
language = str(language)
|
language = str(language)
|
||||||
log.info('Language file: \'%s\' Loaded from conf file' % language)
|
log.info("Language file: '{language}' Loaded from conf file".format(language=language))
|
||||||
if re.match(r'[[].*[]]', language):
|
if re.match(r'[[].*[]]', language):
|
||||||
LanguageManager.auto_language = True
|
LanguageManager.auto_language = True
|
||||||
language = re.sub(r'[\[\]]', '', language)
|
language = re.sub(r'[\[\]]', '', language)
|
||||||
@ -117,9 +117,9 @@ class LanguageManager(object):
|
|||||||
qm_list = LanguageManager.get_qm_list()
|
qm_list = LanguageManager.get_qm_list()
|
||||||
language = str(qm_list[action_name])
|
language = str(qm_list[action_name])
|
||||||
if LanguageManager.auto_language:
|
if LanguageManager.auto_language:
|
||||||
language = '[%s]' % language
|
language = '[{language}]'.format(language=language)
|
||||||
Settings().setValue('core/language', language)
|
Settings().setValue('core/language', language)
|
||||||
log.info('Language file: \'%s\' written to conf file' % language)
|
log.info("Language file: '{language}' written to conf file".format(language=language))
|
||||||
if message:
|
if message:
|
||||||
QtWidgets.QMessageBox.information(None,
|
QtWidgets.QMessageBox.information(None,
|
||||||
translate('OpenLP.LanguageManager', 'Language'),
|
translate('OpenLP.LanguageManager', 'Language'),
|
||||||
@ -136,7 +136,8 @@ class LanguageManager(object):
|
|||||||
for counter, qmf in enumerate(qm_files):
|
for counter, qmf in enumerate(qm_files):
|
||||||
reg_ex = QtCore.QRegExp("^.*i18n/(.*).qm")
|
reg_ex = QtCore.QRegExp("^.*i18n/(.*).qm")
|
||||||
if reg_ex.exactMatch(qmf):
|
if reg_ex.exactMatch(qmf):
|
||||||
name = '%s' % reg_ex.cap(1)
|
name = '{regex}'.format(regex=reg_ex.cap(1))
|
||||||
|
# TODO: Test before converting to python3 string format
|
||||||
LanguageManager.__qm_list__['%#2i %s' % (counter + 1, LanguageManager.language_name(qmf))] = name
|
LanguageManager.__qm_list__['%#2i %s' % (counter + 1, LanguageManager.language_name(qmf))] = name
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -49,12 +49,13 @@ class OpenLPMixin(object):
|
|||||||
Code to added debug wrapper to work on called functions within a decorated class.
|
Code to added debug wrapper to work on called functions within a decorated class.
|
||||||
"""
|
"""
|
||||||
def wrapped(*args, **kwargs):
|
def wrapped(*args, **kwargs):
|
||||||
parent.logger.debug("Entering %s" % func.__name__)
|
parent.logger.debug("Entering {function}".format(function=func.__name__))
|
||||||
try:
|
try:
|
||||||
return func(*args, **kwargs)
|
return func(*args, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if parent.logger.getEffectiveLevel() <= logging.ERROR:
|
if parent.logger.getEffectiveLevel() <= logging.ERROR:
|
||||||
parent.logger.error('Exception in %s : %s' % (func.__name__, e))
|
parent.logger.error('Exception in {function} : {error}'.format(function=func.__name__,
|
||||||
|
error=e))
|
||||||
raise e
|
raise e
|
||||||
return wrapped
|
return wrapped
|
||||||
|
|
||||||
|
@ -71,8 +71,8 @@ class Registry(object):
|
|||||||
else:
|
else:
|
||||||
if not self.initialising:
|
if not self.initialising:
|
||||||
trace_error_handler(log)
|
trace_error_handler(log)
|
||||||
log.error('Service %s not found in list' % key)
|
log.error('Service {key} not found in list'.format(key=key))
|
||||||
raise KeyError('Service %s not found in list' % key)
|
raise KeyError('Service {key} not found in list'.format(key=key))
|
||||||
|
|
||||||
def register(self, key, reference):
|
def register(self, key, reference):
|
||||||
"""
|
"""
|
||||||
@ -83,8 +83,8 @@ class Registry(object):
|
|||||||
"""
|
"""
|
||||||
if key in self.service_list:
|
if key in self.service_list:
|
||||||
trace_error_handler(log)
|
trace_error_handler(log)
|
||||||
log.error('Duplicate service exception %s' % key)
|
log.error('Duplicate service exception {key}'.format(key=key))
|
||||||
raise KeyError('Duplicate service exception %s' % key)
|
raise KeyError('Duplicate service exception {key}'.format(key=key))
|
||||||
else:
|
else:
|
||||||
self.service_list[key] = reference
|
self.service_list[key] = reference
|
||||||
|
|
||||||
@ -140,8 +140,8 @@ class Registry(object):
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
# Who has called me can help in debugging
|
# Who has called me can help in debugging
|
||||||
trace_error_handler(log)
|
trace_error_handler(log)
|
||||||
log.exception('Exception for function %s', function)
|
log.exception('Exception for function {function}'.format(function=function))
|
||||||
else:
|
else:
|
||||||
trace_error_handler(log)
|
trace_error_handler(log)
|
||||||
log.error("Event %s called but not registered" % event)
|
log.error("Event {event} called but not registered".format(event=event))
|
||||||
return results
|
return results
|
||||||
|
@ -487,16 +487,16 @@ class Settings(QtCore.QSettings):
|
|||||||
# Do NOT do this anywhere else!
|
# Do NOT do this anywhere else!
|
||||||
settings = QtCore.QSettings(self.fileName(), Settings.IniFormat)
|
settings = QtCore.QSettings(self.fileName(), Settings.IniFormat)
|
||||||
settings.beginGroup(plugin.settings_section)
|
settings.beginGroup(plugin.settings_section)
|
||||||
if settings.contains('%s count' % plugin.name):
|
if settings.contains('{name} count'.format(name=plugin.name)):
|
||||||
# Get the count.
|
# Get the count.
|
||||||
list_count = int(settings.value('%s count' % plugin.name, 0))
|
list_count = int(settings.value('{name} count'.format(name=plugin.name), 0))
|
||||||
if list_count:
|
if list_count:
|
||||||
for counter in range(list_count):
|
for counter in range(list_count):
|
||||||
# The keys were named e. g.: "image 0"
|
# The keys were named e. g.: "image 0"
|
||||||
item = settings.value('%s %d' % (plugin.name, counter), '')
|
item = settings.value('{name} {counter:d}'.format(name=plugin.name, counter=counter), '')
|
||||||
if item:
|
if item:
|
||||||
files_list.append(item)
|
files_list.append(item)
|
||||||
settings.remove('%s %d' % (plugin.name, counter))
|
settings.remove('{name} {counter:d}'.format=(plugin.name, counter))
|
||||||
settings.remove('%s count' % plugin.name)
|
settings.remove('{name} count'.format(name=plugin.name))
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
return files_list
|
return files_list
|
||||||
|
@ -80,6 +80,7 @@ class UiStrings(object):
|
|||||||
self.Export = translate('OpenLP.Ui', 'Export')
|
self.Export = translate('OpenLP.Ui', 'Export')
|
||||||
self.File = translate('OpenLP.Ui', 'File')
|
self.File = translate('OpenLP.Ui', 'File')
|
||||||
self.FileNotFound = translate('OpenLP.Ui', 'File Not Found')
|
self.FileNotFound = translate('OpenLP.Ui', 'File Not Found')
|
||||||
|
# TODO: Check before converting to python3 string
|
||||||
self.FileNotFoundMessage = translate('OpenLP.Ui', 'File %s not found.\nPlease try selecting it individually.')
|
self.FileNotFoundMessage = translate('OpenLP.Ui', 'File %s not found.\nPlease try selecting it individually.')
|
||||||
self.FontSizePtUnit = translate('OpenLP.Ui', 'pt', 'Abbreviated font pointsize unit')
|
self.FontSizePtUnit = translate('OpenLP.Ui', 'pt', 'Abbreviated font pointsize unit')
|
||||||
self.Help = translate('OpenLP.Ui', 'Help')
|
self.Help = translate('OpenLP.Ui', 'Help')
|
||||||
@ -110,8 +111,8 @@ class UiStrings(object):
|
|||||||
self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular')
|
self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular')
|
||||||
self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural')
|
self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural')
|
||||||
self.OLP = translate('OpenLP.Ui', 'OpenLP')
|
self.OLP = translate('OpenLP.Ui', 'OpenLP')
|
||||||
self.OLPV2 = "%s %s" % (self.OLP, "2")
|
self.OLPV2 = "{name} {version}".format(name=self.OLP, version="2")
|
||||||
self.OLPV2x = "%s %s" % (self.OLP, "2.4")
|
self.OLPV2x = "{name} {version}".format(name=self.OLP, version="2.4")
|
||||||
self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you wish to continue?')
|
self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you wish to continue?')
|
||||||
self.OpenService = translate('OpenLP.Ui', 'Open service.')
|
self.OpenService = translate('OpenLP.Ui', 'Open service.')
|
||||||
self.PlaySlidesInLoop = translate('OpenLP.Ui', 'Play Slides in Loop')
|
self.PlaySlidesInLoop = translate('OpenLP.Ui', 'Play Slides in Loop')
|
||||||
@ -139,6 +140,7 @@ class UiStrings(object):
|
|||||||
self.Split = translate('OpenLP.Ui', 'Optional &Split')
|
self.Split = translate('OpenLP.Ui', 'Optional &Split')
|
||||||
self.SplitToolTip = translate('OpenLP.Ui',
|
self.SplitToolTip = translate('OpenLP.Ui',
|
||||||
'Split a slide into two only if it does not fit on the screen as one slide.')
|
'Split a slide into two only if it does not fit on the screen as one slide.')
|
||||||
|
# TODO: Check before converting to python3 string
|
||||||
self.StartTimeCode = translate('OpenLP.Ui', 'Start %s')
|
self.StartTimeCode = translate('OpenLP.Ui', 'Start %s')
|
||||||
self.StopPlaySlidesInLoop = translate('OpenLP.Ui', 'Stop Play Slides in Loop')
|
self.StopPlaySlidesInLoop = translate('OpenLP.Ui', 'Stop Play Slides in Loop')
|
||||||
self.StopPlaySlidesToEnd = translate('OpenLP.Ui', 'Stop Play Slides to End')
|
self.StopPlaySlidesToEnd = translate('OpenLP.Ui', 'Stop Play Slides to End')
|
||||||
|
@ -44,9 +44,10 @@ class VersionThread(QtCore.QThread):
|
|||||||
log.debug('Version thread - run')
|
log.debug('Version thread - run')
|
||||||
app_version = get_application_version()
|
app_version = get_application_version()
|
||||||
version = check_latest_version(app_version)
|
version = check_latest_version(app_version)
|
||||||
log.debug("Versions %s and %s " % (LooseVersion(str(version)), LooseVersion(str(app_version['full']))))
|
log.debug("Versions {version1} and {version2} ".format(version1=LooseVersion(str(version)),
|
||||||
|
version2=LooseVersion(str(app_version['full']))))
|
||||||
if LooseVersion(str(version)) > LooseVersion(str(app_version['full'])):
|
if LooseVersion(str(version)) > LooseVersion(str(app_version['full'])):
|
||||||
self.main_window.openlp_version_check.emit('%s' % version)
|
self.main_window.openlp_version_check.emit('{version}'.format(version=version))
|
||||||
|
|
||||||
|
|
||||||
def get_application_version():
|
def get_application_version():
|
||||||
@ -91,7 +92,7 @@ def get_application_version():
|
|||||||
if tree_revision == tag_revision:
|
if tree_revision == tag_revision:
|
||||||
full_version = tag_version.strip()
|
full_version = tag_version.strip()
|
||||||
else:
|
else:
|
||||||
full_version = '%s-bzr%s' % (tag_version.strip(), tree_revision.strip())
|
full_version = '{tag}-bzr{tree}'.format(tag=tag_version.strip(), tree=tree_revision.strip())
|
||||||
else:
|
else:
|
||||||
# We're not running the development version, let's use the file.
|
# We're not running the development version, let's use the file.
|
||||||
file_path = AppLocation.get_directory(AppLocation.VersionDir)
|
file_path = AppLocation.get_directory(AppLocation.VersionDir)
|
||||||
@ -113,9 +114,10 @@ def get_application_version():
|
|||||||
'build': bits[1] if len(bits) > 1 else None
|
'build': bits[1] if len(bits) > 1 else None
|
||||||
}
|
}
|
||||||
if APPLICATION_VERSION['build']:
|
if APPLICATION_VERSION['build']:
|
||||||
log.info('Openlp version %s build %s', APPLICATION_VERSION['version'], APPLICATION_VERSION['build'])
|
log.info('Openlp version {version} build {build}'.format(version=APPLICATION_VERSION['version'],
|
||||||
|
build=APPLICATION_VERSION['build']))
|
||||||
else:
|
else:
|
||||||
log.info('Openlp version %s' % APPLICATION_VERSION['version'])
|
log.info('Openlp version {version}'.format(version=APPLICATION_VERSION['version']))
|
||||||
return APPLICATION_VERSION
|
return APPLICATION_VERSION
|
||||||
|
|
||||||
|
|
||||||
@ -149,8 +151,9 @@ def check_latest_version(current_version):
|
|||||||
req = urllib.request.Request('http://www.openlp.org/files/dev_version.txt')
|
req = urllib.request.Request('http://www.openlp.org/files/dev_version.txt')
|
||||||
else:
|
else:
|
||||||
req = urllib.request.Request('http://www.openlp.org/files/version.txt')
|
req = urllib.request.Request('http://www.openlp.org/files/version.txt')
|
||||||
req.add_header('User-Agent', 'OpenLP/%s %s/%s; ' % (current_version['full'], platform.system(),
|
req.add_header('User-Agent', 'OpenLP/{version} {system}/{release}; '.format(version=current_version['full'],
|
||||||
platform.release()))
|
system=platform.system(),
|
||||||
|
release=platform.release()))
|
||||||
remote_version = None
|
remote_version = None
|
||||||
retries = 0
|
retries = 0
|
||||||
while True:
|
while True:
|
||||||
|
@ -206,3 +206,17 @@ class TestProjectorDB(TestCase):
|
|||||||
# THEN: __repr__ should return a proper string
|
# THEN: __repr__ should return a proper string
|
||||||
self.assertEqual(str(manufacturer), '<Manufacturer(name="OpenLP Test")>',
|
self.assertEqual(str(manufacturer), '<Manufacturer(name="OpenLP Test")>',
|
||||||
'Manufacturer.__repr__() should have returned a proper representation string')
|
'Manufacturer.__repr__() should have returned a proper representation string')
|
||||||
|
|
||||||
|
def model_repr_test(self):
|
||||||
|
"""
|
||||||
|
Test model class __repr__ text
|
||||||
|
"""
|
||||||
|
# GIVEN: Test object
|
||||||
|
model = Model()
|
||||||
|
|
||||||
|
# WHEN: Name is set
|
||||||
|
model.name = 'OpenLP Test'
|
||||||
|
|
||||||
|
# THEN: __repr__ should return a proper string
|
||||||
|
self.assertEqual(str(model), '<Model(name="OpenLP Test")>',
|
||||||
|
'Model.__repr__() should have returned a proper representation string')
|
||||||
|
Loading…
Reference in New Issue
Block a user