def main(): globs = glob.iglob('./**/*.ui', recursive=True) for filename in globs: file, extension = os.path.splitext(filename) file_name = os.path.basename(file) dir_name = os.path.dirname(file) new_filename = f'ui_{file_name}.py' output_path = os.path.join(dir_name, new_filename) print(f'Compiling UI file {filename} -> {output_path}') args = { 'preview': False, 'output': output_path, 'execute': False, 'debug': False, 'indent': 4, 'import_from': None, 'from_imports': False, 'resource_suffix': '_rc' } args = optparse.Values(args) driver = UICDriver(args, filename) exit_status = 1 try: exit_status = driver.invoke() except IOError as e: driver.on_IOError(e) except SyntaxError as e: driver.on_SyntaxError(e) except NoSuchClassError as e: driver.on_NoSuchClassError(e) except NoSuchWidgetError as e: driver.on_NoSuchWidgetError(e) except Exception as e: driver.on_Exception(e) print(f'Compile completed with exit code: {exit_status}')
def generate(self, argumentList): # Format: [<ui file path>, <option 1>, <argument 1>, ...] opts, args = self.parser.parse_args(argumentList) driver = Driver(opts, args[0]) exit_status = 1 try: exit_status = driver.invoke() except IOError as e: driver.on_IOError(e) except SyntaxError as e: driver.on_SyntaxError(e) except NoSuchClassError as e: driver.on_NoSuchClassError(e) except NoSuchWidgetError as e: driver.on_NoSuchWidgetError(e) except Exception as e: driver.on_Exception(e)
def main(): parser = optparse.OptionParser(usage="pyuic5 [options] <ui-file>", version=Version) parser.add_option( "-p", "--preview", dest="preview", action="store_true", default=False, help="show a preview of the UI instead of generating code") parser.add_option("-o", "--output", dest="output", default="-", metavar="FILE", help="write generated code to FILE instead of stdout") parser.add_option("-x", "--execute", dest="execute", action="store_true", default=False, help="generate extra code to test and display the class") parser.add_option("-d", "--debug", dest="debug", action="store_true", default=False, help="show debug output") parser.add_option( "-i", "--indent", dest="indent", action="store", type="int", default=4, metavar="N", help="set indent width to N spaces, tab if N is 0 [default: 4]") g = optparse.OptionGroup(parser, title="Code generation options") g.add_option( "--import-from", dest="import_from", metavar="PACKAGE", help= "generate imports of pyrcc5 generated modules in the style 'from PACKAGE import ...'" ) g.add_option("--from-imports", dest="from_imports", action="store_true", default=False, help="the equivalent of '--import-from=.'") g.add_option( "--resource-suffix", dest="resource_suffix", action="store", type="string", default="_rc", metavar="SUFFIX", help="append SUFFIX to the basename of resource files [default: _rc]") parser.add_option_group(g) opts, args = parser.parse_args() if len(args) != 1: sys.stderr.write("Error: one input ui-file must be specified\n") sys.exit(1) # Invoke the appropriate driver. driver = Driver(opts, args[0]) exit_status = 1 try: exit_status = driver.invoke() except IOError as e: driver.on_IOError(e) except SyntaxError as e: driver.on_SyntaxError(e) except NoSuchWidgetError as e: driver.on_NoSuchWidgetError(e) except Exception as e: driver.on_Exception(e) sys.exit(exit_status)