diff --git a/build.py b/build.py index 02c25729..85f991ba 100644 --- a/build.py +++ b/build.py @@ -131,16 +131,18 @@ def build_cocoa(edition, dev): run_contents = tmpl.replace('{{app_path}}', app.dest) open('run.py', 'wt').write(run_contents) -def build_qt(edition, dev): +def build_qt(edition, dev, conf): print("Building localizations") build_localizations('qt', edition) print("Building Qt stuff") print_and_do("pyrcc4 -py3 {0} > {1}".format(op.join('qt', 'base', 'dg.qrc'), op.join('qt', 'base', 'dg_rc.py'))) fix_qt_resource_file(op.join('qt', 'base', 'dg_rc.py')) print("Creating the run.py file") - tmpl = open(op.join('qt', 'run_template.py'), 'rt').read() - run_contents = tmpl.replace('{{edition}}', edition) - open('run.py', 'wt').write(run_contents) + if conf.get('ubuntu_store'): + ubuntu_store_setup = "dgapp.model.registered = True; dgapp.model.registration_email = \"Ubuntu Store\"" + else: + ubuntu_store_setup = "" + filereplace(op.join('qt', 'run_template.py'), 'run.py', edition=edition, ubuntu_store_setup=ubuntu_store_setup) def build_help(edition): print("Generating Help") @@ -310,7 +312,7 @@ def build_pe_modules(ui): move_all('_block*', 'core_pe') move_all('_cache*', 'core_pe') -def build_normal(edition, ui, dev): +def build_normal(edition, ui, dev, conf): print("Building dupeGuru {0} with UI {1}".format(edition.upper(), ui)) add_to_pythonpath('.') build_help(edition) @@ -320,7 +322,7 @@ def build_normal(edition, ui, dev): if ui == 'cocoa': build_cocoa(edition, dev) elif ui == 'qt': - build_qt(edition, dev) + build_qt(edition, dev, conf) def main(): options = parse_args() @@ -355,7 +357,7 @@ def main(): build_cocoalib_xibless() build_xibless(edition) else: - build_normal(edition, ui, dev) + build_normal(edition, ui, dev, conf) if __name__ == '__main__': main() diff --git a/configure.py b/configure.py index 0584509c..7dab8e2f 100644 --- a/configure.py +++ b/configure.py @@ -12,17 +12,18 @@ import json from hscommon.plat import ISOSX -def main(edition, ui, dev): - if edition not in {'se', 'me', 'pe'}: - edition = 'se' - if ui not in {'cocoa', 'qt'}: - ui = 'cocoa' if ISOSX else 'qt' - build_type = 'Dev' if dev else 'Release' - print("Configuring dupeGuru {0} for UI {1} ({2})".format(edition.upper(), ui, build_type)) +def main(options): + if options.edition not in {'se', 'me', 'pe'}: + options.edition = 'se' + if options.ui not in {'cocoa', 'qt'}: + options.ui = 'cocoa' if ISOSX else 'qt' + build_type = 'Dev' if options.dev else 'Release' + print("Configuring dupeGuru {0} for UI {1} ({2})".format(options.edition.upper(), options.ui, build_type)) conf = { - 'edition': edition, - 'ui': ui, - 'dev': dev, + 'edition': options.edition, + 'ui': options.ui, + 'dev': options.dev, + 'ubuntu_store': options.ubuntu_store, } json.dump(conf, open('conf.json', 'w')) @@ -35,5 +36,7 @@ if __name__ == '__main__': help="Type of UI to build. 'qt' or 'cocoa'. Default is determined by your system.") parser.add_option('--dev', action='store_true', dest='dev', default=False, help="If this flag is set, will configure for dev builds.") + parser.add_option('--ubuntu-store', action='store_true', dest='ubuntu_store', default=False, + help="Set registration for the Ubuntu Store.") (options, args) = parser.parse_args() - main(options.edition, options.ui, options.dev) + main(options) diff --git a/qt/run_template.py b/qt/run_template.py index 5754f7b5..a83fdf11 100644 --- a/qt/run_template.py +++ b/qt/run_template.py @@ -17,7 +17,7 @@ from qtlib.error_report_dialog import install_excepthook from qtlib.util import setupQtLogging from qt.base import dg_rc from qt.base.platform import BASE_PATH -from core_{{edition}} import __version__, __appname__ +from core_{edition} import __version__, __appname__ if ISWINDOWS: import qt.base.cxfreeze_fix @@ -34,8 +34,9 @@ if __name__ == "__main__": install_gettext_trans_under_qt(locale_folder, lang) # Many strings are translated at import time, so this is why we only import after the translator # has been installed - from qt.{{edition}}.app import DupeGuru + from qt.{edition}.app import DupeGuru app.setWindowIcon(QIcon(QPixmap(":/{0}".format(DupeGuru.LOGO_NAME)))) dgapp = DupeGuru() + {ubuntu_store_setup} install_excepthook() sys.exit(app.exec_())