コード例 #1
0
def start_RepTate(argv):
    """
    Main RepTate application. 
    
    :param list argv: Command line parameters passed to Reptate
    """
    # FOR DEBUGGING PURPOSES: Set Single or MultiThread (default)
    CmdBase.calcmode = CalcMode.singlethread

    GUI = False

    parser = argparse.ArgumentParser(
        description=
        'RepTate: Rheologhy of Entangled Polymers: Toolkit for the Analysis of Theory and Experiment.',
        epilog=
        '(c) Jorge Ramirez - [email protected] - UPM , Victor Boudara - U. Leeds (2018)'
    )
    parser.add_argument('-v',
                        '--verbose',
                        help='Write debug information to stdout',
                        action='store_true')
    parser.add_argument('-b',
                        '--batch',
                        help='Run in batch mode (no graphics)',
                        action='store_true')
    parser.add_argument('-V',
                        '--version',
                        help='Print RepTate version and exit',
                        action='store_true')
    parser.add_argument('finlist', nargs='*')

    args = parser.parse_args()

    if args.batch:
        CmdBase.mode = CmdMode.batch

    # Get files from command line
    dictfiles = get_argument_files(args.finlist)

    if args.version:
        print(ApplicationManager.intro)
        sys.exit()

    qapp = QApplication(sys.argv)
    app = ApplicationManager()

    # Handle files & open apps accordingly
    d = {
        app.extension: app.appname
        for app in list(app.available_applications.values())
    }
    for k in dictfiles.keys():
        if (k in d.keys()):
            app.new(d[k])
            appname = "%s%d" % (d[k], app.application_counter)
            ds, dsname = app.applications[appname].new("")
            app.applications[appname].datasets[dsname] = ds
            for f in dictfiles[k]:
                #app.applications[appname].datasets[dsname].do_open(f)
                ds.do_open(f)
            ds.do_plot()
            #app.applications[dsname].datasets[dsname].do_plot()
        else:
            print("File type %s cannot be opened" % k)

    sys.exit(app.cmdloop())