示例#1
0
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}')
示例#2
0
    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)
示例#3
0
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)