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 sys
|
||||
import logging
|
||||
from optparse import OptionParser
|
||||
import argparse
|
||||
from traceback import format_exception
|
||||
import shutil
|
||||
import time
|
||||
|
@ -274,7 +274,7 @@ class OpenLP(OpenLPMixin, QtGui.QApplication):
|
|||
return QtGui.QApplication.event(self, event)
|
||||
|
||||
|
||||
def parse_options(args):
|
||||
def parse_options():
|
||||
"""
|
||||
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
|
||||
"""
|
||||
# Set up command line options.
|
||||
usage = 'Usage: %prog [options] [qt-options]'
|
||||
parser = OptionParser(usage=usage)
|
||||
parser.add_option('-e', '--no-error-form', dest='no_error_form', action='store_true',
|
||||
help='Disable the error notification form.')
|
||||
parser.add_option('-l', '--log-level', dest='loglevel', default='warning', metavar='LEVEL',
|
||||
help='Set logging to LEVEL level. Valid values are "debug", "info", "warning".')
|
||||
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).')
|
||||
parser.add_option('-d', '--dev-version', dest='dev_version', action='store_true',
|
||||
help='Ignore the version file and pull the version directly from Bazaar')
|
||||
parser.add_option('-s', '--style', dest='style', help='Set the Qt4 style (passed directly to Qt4).')
|
||||
parser = argparse.ArgumentParser(prog='openlp.py')
|
||||
parser.add_argument('-e', '--no-error-form', dest='no_error_form', action='store_true',
|
||||
help='Disable the error notification form.')
|
||||
parser.add_argument('-l', '--log-level', dest='loglevel', default='warning', metavar='LEVEL',
|
||||
help='Set logging to LEVEL level. Valid values are "debug", "info", "warning".')
|
||||
parser.add_argument('-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).')
|
||||
parser.add_argument('-d', '--dev-version', dest='dev_version', action='store_true',
|
||||
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_argument('rargs', nargs='?', default=[])
|
||||
# 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):
|
||||
|
@ -312,24 +316,24 @@ def set_up_logging(log_path):
|
|||
print('Logging to: %s' % filename)
|
||||
|
||||
|
||||
def main(args=None):
|
||||
def main():
|
||||
"""
|
||||
The main function which parses command line options and then runs
|
||||
|
||||
:param args: Some args
|
||||
"""
|
||||
(options, args) = parse_options(args)
|
||||
args = parse_options()
|
||||
qt_args = []
|
||||
if options.loglevel.lower() in ['d', 'debug']:
|
||||
if args and args.loglevel.lower() in ['d', '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)
|
||||
else:
|
||||
log.setLevel(logging.INFO)
|
||||
if options.style:
|
||||
qt_args.extend(['-style', options.style])
|
||||
if args and args.style:
|
||||
qt_args.extend(['-style', args.style])
|
||||
# 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
|
||||
if not is_win() and not is_macosx():
|
||||
qt_args.append('OpenLP')
|
||||
|
@ -339,7 +343,7 @@ def main(args=None):
|
|||
application = OpenLP(qt_args)
|
||||
application.setOrganizationName('OpenLP')
|
||||
application.setOrganizationDomain('openlp.org')
|
||||
if options.portable:
|
||||
if args and args.portable:
|
||||
application.setApplicationName('OpenLPPortable')
|
||||
Settings.setDefaultFormat(Settings.IniFormat)
|
||||
# Get location OpenLPPortable.ini
|
||||
|
@ -383,6 +387,6 @@ def main(args=None):
|
|||
application.installTranslator(default_translator)
|
||||
else:
|
||||
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.exit(application.run(qt_args))
|
||||
|
|
Loading…
Reference in New Issue