mirror of https://gitlab.com/openlp/openlp.git
core_int
This commit is contained in:
parent
ccd604b3be
commit
925623bf74
|
@ -30,7 +30,7 @@ logging and a plugin framework are contained within the openlp.core module.
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
from optparse import OptionParser
|
import argparse
|
||||||
from traceback import format_exception
|
from traceback import format_exception
|
||||||
import shutil
|
import shutil
|
||||||
import time
|
import time
|
||||||
|
@ -274,7 +274,7 @@ class OpenLP(OpenLPMixin, QtGui.QApplication):
|
||||||
return QtGui.QApplication.event(self, event)
|
return QtGui.QApplication.event(self, event)
|
||||||
|
|
||||||
|
|
||||||
def parse_options(args):
|
def parse_options():
|
||||||
"""
|
"""
|
||||||
Parse the command line arguments
|
Parse the command line arguments
|
||||||
|
|
||||||
|
@ -282,19 +282,23 @@ def parse_options(args):
|
||||||
:return: a tuple of parsed options of type optparse.Value and a list of remaining argsZ
|
:return: a tuple of parsed options of type optparse.Value and a list of remaining argsZ
|
||||||
"""
|
"""
|
||||||
# Set up command line options.
|
# Set up command line options.
|
||||||
usage = 'Usage: %prog [options] [qt-options]'
|
parser = argparse.ArgumentParser(prog='openlp.py')
|
||||||
parser = OptionParser(usage=usage)
|
parser.add_argument('-e', '--no-error-form', dest='no_error_form', action='store_true',
|
||||||
parser.add_option('-e', '--no-error-form', dest='no_error_form', action='store_true',
|
help='Disable the error notification form.')
|
||||||
help='Disable the error notification form.')
|
parser.add_argument('-l', '--log-level', dest='loglevel', default='warning', metavar='LEVEL',
|
||||||
parser.add_option('-l', '--log-level', dest='loglevel', default='warning', metavar='LEVEL',
|
help='Set logging to LEVEL level. Valid values are "debug", "info", "warning".')
|
||||||
help='Set logging to LEVEL level. Valid values are "debug", "info", "warning".')
|
parser.add_argument('-p', '--portable', dest='portable', action='store_true',
|
||||||
parser.add_option('-p', '--portable', dest='portable', action='store_true',
|
help='Specify if this should be run as a portable app, off a USB flash drive (not implemented).')
|
||||||
help='Specify if this should be run as a portable app, off a USB flash drive (not implemented).')
|
parser.add_argument('-d', '--dev-version', dest='dev_version', action='store_true',
|
||||||
parser.add_option('-d', '--dev-version', dest='dev_version', action='store_true',
|
help='Ignore the version file and pull the version directly from Bazaar')
|
||||||
help='Ignore the version file and pull the version directly from Bazaar')
|
parser.add_argument('-s', '--style', dest='style', help='Set the Qt4 style (passed directly to Qt4).')
|
||||||
parser.add_option('-s', '--style', dest='style', help='Set the Qt4 style (passed directly to Qt4).')
|
parser.add_argument('rargs', nargs='?', default=[])
|
||||||
# Parse command line options and deal with them. Use args supplied pragmatically if possible.
|
# Parse command line options and deal with them. Use args supplied pragmatically if possible.
|
||||||
return parser.parse_args(args) if args else parser.parse_args()
|
try:
|
||||||
|
return_args = parser.parse_args()
|
||||||
|
except:
|
||||||
|
return_args = None
|
||||||
|
return return_args
|
||||||
|
|
||||||
|
|
||||||
def set_up_logging(log_path):
|
def set_up_logging(log_path):
|
||||||
|
@ -312,24 +316,24 @@ def set_up_logging(log_path):
|
||||||
print('Logging to: %s' % filename)
|
print('Logging to: %s' % filename)
|
||||||
|
|
||||||
|
|
||||||
def main(args=None):
|
def main():
|
||||||
"""
|
"""
|
||||||
The main function which parses command line options and then runs
|
The main function which parses command line options and then runs
|
||||||
|
|
||||||
:param args: Some args
|
:param args: Some args
|
||||||
"""
|
"""
|
||||||
(options, args) = parse_options(args)
|
args = parse_options()
|
||||||
qt_args = []
|
qt_args = []
|
||||||
if options.loglevel.lower() in ['d', 'debug']:
|
if args and args.loglevel.lower() in ['d', 'debug']:
|
||||||
log.setLevel(logging.DEBUG)
|
log.setLevel(logging.DEBUG)
|
||||||
elif options.loglevel.lower() in ['w', 'warning']:
|
elif args and args.loglevel.lower() in ['w', 'warning']:
|
||||||
log.setLevel(logging.WARNING)
|
log.setLevel(logging.WARNING)
|
||||||
else:
|
else:
|
||||||
log.setLevel(logging.INFO)
|
log.setLevel(logging.INFO)
|
||||||
if options.style:
|
if args and args.style:
|
||||||
qt_args.extend(['-style', options.style])
|
qt_args.extend(['-style', args.style])
|
||||||
# Throw the rest of the arguments at Qt, just in case.
|
# Throw the rest of the arguments at Qt, just in case.
|
||||||
qt_args.extend(args)
|
qt_args.extend(args.rargs)
|
||||||
# Bug #1018855: Set the WM_CLASS property in X11
|
# Bug #1018855: Set the WM_CLASS property in X11
|
||||||
if not is_win() and not is_macosx():
|
if not is_win() and not is_macosx():
|
||||||
qt_args.append('OpenLP')
|
qt_args.append('OpenLP')
|
||||||
|
@ -339,7 +343,7 @@ def main(args=None):
|
||||||
application = OpenLP(qt_args)
|
application = OpenLP(qt_args)
|
||||||
application.setOrganizationName('OpenLP')
|
application.setOrganizationName('OpenLP')
|
||||||
application.setOrganizationDomain('openlp.org')
|
application.setOrganizationDomain('openlp.org')
|
||||||
if options.portable:
|
if args and args.portable:
|
||||||
application.setApplicationName('OpenLPPortable')
|
application.setApplicationName('OpenLPPortable')
|
||||||
Settings.setDefaultFormat(Settings.IniFormat)
|
Settings.setDefaultFormat(Settings.IniFormat)
|
||||||
# Get location OpenLPPortable.ini
|
# Get location OpenLPPortable.ini
|
||||||
|
@ -383,6 +387,6 @@ def main(args=None):
|
||||||
application.installTranslator(default_translator)
|
application.installTranslator(default_translator)
|
||||||
else:
|
else:
|
||||||
log.debug('Could not find default_translator.')
|
log.debug('Could not find default_translator.')
|
||||||
if not options.no_error_form:
|
if args and not args.no_error_form:
|
||||||
sys.excepthook = application.hook_exception
|
sys.excepthook = application.hook_exception
|
||||||
sys.exit(application.run(qt_args))
|
sys.exit(application.run(qt_args))
|
||||||
|
|
Loading…
Reference in New Issue