示例#1
0
def main():
    # TODO Add option to load previous guild id
    parser = GooeyParser(description='Game listener')

    parser.add_argument(
        'guild_id',
        metavar='Server ID',
        help='Can be found using the .info command!'
    )

    parser.add_argument(
        'vc_id',
        metavar='Voice Channel ID',
        help='Can be found using the .info command!'
    )

    args = parser.parse_args()
    print(stylize("-----------------------------------------------------------------------------", attr("bold")))
    print(stylize("Thanks for checking out ImposterBot!", attr("underlined")))
    print(stylize("================================================", attr("bold")))
    print(stylize("ImposterBot is an ongoing project and is open source.", fg("green")))
    print("If you have any questions or issues or would like to learn more, check it out here:")
    print(stylize("ImposterBot GitHub.", fg("blue") + attr("bold")))
    print(stylize("https://github.com/shiv213/ImposterBot", fg("blue")))
    print(stylize("Made with <3 by Shiv Trivedi.", fg("violet") + attr("bold")))
    print(stylize("-----------------------------------------------------------------------------", attr("bold")))

    while running:
        pointer_loop()
        time.sleep(1)
        changes_loop()
        if previous_state != current_state:
            pushData["serverID"] = args.guild_id
            pushData["vcID"] = args.vc_id
            # pushData["roomCode"] = "TESTER"
            # pushData["players"] = {}
            # pushData["players"]["red"] = "alive"
            # pushData["players"]["blue"] = "alive"
            # pushData["players"]["green"] = "alive"
            # pushData["players"]["pink"] = "alive"
            # pushData["players"]["orange"] = "alive"
            # pushData["players"]["yellow"] = "alive"
            # pushData["players"]["black"] = "alive"
            # pushData["players"]["white"] = "alive"
            # pushData["players"]["purple"] = "alive"
            # pushData["players"]["brown"] = "alive"
            # pushData["players"]["cyan"] = "alive"
            # pushData["players"]["lime"] = "alive"

            if current_state == VoteState(0):
                pushData["gameState"] = "game"
                print(stylize("MUTED", fg("red") + attr("bold")))
            else:
                pushData["gameState"] = "discussion"
                print(stylize("UNMUTED", fg("green") + attr("bold")))
            # print(pushData)
            response = requests.post('https://imposter-bot.herokuapp.com/push', json=pushData)
            # response = requests.post('http://127.0.0.1/push', json=pushData)
            if response.status_code != 200:
                print("Connection error!")
示例#2
0
def main():
    parser = GooeyParser()
    parser.add_argument('filename1')
    parser.add_argument('secret-advanced-argument',
                        default='TOO POWERFUL!!',
                        gooey_options={'visible': False})
    args = parser.parse_args()
示例#3
0
def param_parser():
    parser = GooeyParser(description="Valeria Prod Gen tool")
    parser.add_argument("input_folder",
                        metavar="Input Directory ",
                        widget="DirChooser",
                        help="Select folder with input files")
    parser.add_argument("output_dir",
                        metavar="Output Directory",
                        widget="DirChooser",
                        help="Output directory")
    parser.add_argument("workingpath",
                        metavar="working Directory",
                        widget="DirChooser",
                        help="working directory")
    parser.add_argument("inputtilelayoutfile",
                        metavar="Input TileLayout file",
                        widget="FileChooser",
                        help="TileLayout file(.json)")
    parser.add_argument("-hydropoints",
                        metavar="Hydropoints file",
                        widget="FileChooser",
                        help=".laz file")
    parser.add_argument("aoi",
                        metavar="AOI file",
                        widget="FileChooser",
                        help=".shp file")
    parser.add_argument("-co",
                        "--cores",
                        metavar="Cores",
                        help="No of cores to run in",
                        type=int,
                        default=8)

    return parser.parse_args()
示例#4
0
def parse_args():
    # parser = argparse.ArgumentParser(description='Anonymise DICOM images')

    parser = GooeyParser(description='Anonymise DICOM images')

    parser.add_argument('source', type=str, metavar="Source",
                        widget="DirChooser",
                        help='location of dicom file or folder to anonymise')

    parser.add_argument('destination', type=str, metavar="Destination",
                        widget="DirChooser",
                        help='Destination folder to save anonymised images')

    parser.add_argument('-t', '--tagfile', default=default_tagfile_text, metavar="Tag file",
                        widget="FileChooser",
                        help='path to custom tags file')

    parser.add_argument('-i', '--intact', action="store_true", metavar="Intact",
                        help='Leave filenames unchanged')



    args = parser.parse_args()

    args.tagfile = Path(args.tagfile)
    args.source = Path(args.source)
    args.destination = Path(args.destination)

    if (args.source == args.destination) and (args.intact_filename):
        print('Source and destination are the same and filenames to be left intact. This will overwrite original files. Exiting.')
        sys.exit()
    return args
示例#5
0
def main():
    parser = GooeyParser(description="Extracting frames from a movie using FFMPEG")
    ffmpeg = parser.add_argument_group('Frame Extraction Util')
    ffmpeg.add_argument('-i',
                        metavar='Input Movie',
                        help='The movie for which you like extract frames',
                        required=True,
                        widget='FileChooser')
    ffmpeg.add_argument('output',
                        metavar='Output Image',
                        help='Where to save the extracted frame',
                        widget='FileSaver',
                        )
    ffmpeg.add_argument('-ss',
                        metavar='Timestamp',
                        required=True,
                        help='Timestamp of snapshot (in seconds)',
                        gooey_options={
                            'validator': {
                                'test': 'user_input.isdigit()',
                                'message': 'Please enter a number'
                            }
                        })
    ffmpeg.add_argument('-frames:v',
                        metavar='Timestamp',
                        default=1,
                        required=True,
                        gooey_options={'visible': False})

    parser.parse_args()
示例#6
0
def main():
    mk_savedir()  # Make directory to store user's save files

    parser = GooeyParser(
        description='An example of polling for updates at runtime')
    g = parser.add_argument_group()
    stuff = g.add_mutually_exclusive_group(
        required=True, gooey_options={'initial_selection': 0})
    stuff.add_argument('--save',
                       metavar='Save Progress',
                       action='store_true',
                       help='Take a snap shot of your current progress!')
    stuff.add_argument('--load',
                       metavar='Load Previous Save',
                       help='Load a Previous save file',
                       dest='filename',
                       widget='Dropdown',
                       choices=list_savefiles(),
                       gooey_options={
                           'validator': {
                               'test': 'user_input != "Select Option"',
                               'message': 'Choose a save file from the list'
                           }
                       })

    args = parser.parse_args()

    if args.save:
        save_file()
    else:
        read_file(os.path.join('saves', args.filename))
        print('Finished reading file!')
示例#7
0
def main():
  desc = "Example application to show Gooey's various widgets"
  file_help_msg = "Name of the file you want to process"

  my_cool_parser = GooeyParser(description=desc)

  my_cool_parser.add_argument("FileChooser", help=file_help_msg, widget="FileChooser")
  my_cool_parser.add_argument("DirectoryChooser", help=file_help_msg, widget="DirChooser")
  my_cool_parser.add_argument("FileSaver", help=file_help_msg, widget="FileSaver")
  my_cool_parser.add_argument("MultiFileSaver", help=file_help_msg, widget="MultiFileChooser")
  my_cool_parser.add_argument("MultiDirChooser", help=file_help_msg, widget="MultiDirChooser")
  my_cool_parser.add_argument("directory", help="Directory to store output")

  my_cool_parser.add_argument('-d', '--duration', default=2, type=int, help='Duration (in seconds) of the program output')
  my_cool_parser.add_argument('-s', '--cron-schedule', type=int, help='datetime when the cron should begin', widget='DateChooser')
  my_cool_parser.add_argument("-c", "--showtime", action="store_true", help="display the countdown timer")
  my_cool_parser.add_argument("-p", "--pause", action="store_true", help="Pause execution")
  my_cool_parser.add_argument('-v', '--verbose', action='count')
  my_cool_parser.add_argument("-o", "--overwrite", action="store_true", help="Overwrite output file (if present)")
  my_cool_parser.add_argument('-r', '--recursive', choices=['yes', 'no'], help='Recurse into subfolders')
  my_cool_parser.add_argument("-w", "--writelog", default="writelogs", help="Dump output to local file")
  my_cool_parser.add_argument("-e", "--error", action="store_true", help="Stop process on error (default: No)")
  verbosity = my_cool_parser.add_mutually_exclusive_group()
  verbosity.add_argument('-t', '--verbozze', dest='verbose', action="store_true", help="Show more details")
  verbosity.add_argument('-q', '--quiet', dest='quiet', action="store_true", help="Only output on error")

  args = my_cool_parser.parse_args()
  display_message()
示例#8
0
def main():
    parser = GooeyParser()
    g = parser.add_argument_group('Параметры', 'Задайте Параметры Поиска')
    g.add_argument('dict',
                   help='выберите словарь',
                   widget='Dropdown',
                   choices=list(os.listdir('dicts')))

    g.add_argument('regex', help='введите маску')

    g.add_argument('number', help='введите кол-во слов')

    args = parser.parse_args()
    tree = ET.parse(f'dicts/{args.dict}/dict.xdxf')
    root = tree.getroot()

    count = 0
    n = int(args.number)
    with open('WORDS.txt', 'w', encoding='UTF-8') as fout:
        for article in root.iterfind('ar'):
            for key in article.iterfind('k'):
                if re.search(args.regex, key.text):
                    print(
                        key.text.strip(), file=fout, flush=True
                    )  # очищение буфера, для немедленного сохранения в файл
                    print("progress: {}/{}".format(count + 1, n))
                    sleep(0.001)
                    count += 1
                    if count >= n:
                        break
            if count >= n:
                break
def main():
    # Gooey stuff
    parser = GooeyParser(description="Gather AncestryDNA Matches")

    username = parser.add_argument('username', metavar='Ancestry User Name')

    password = parser.add_argument('password',
                                   metavar='Ancestry Password',
                                   widget='PasswordField')

    user_max = parser.add_argument(
        'pages',
        metavar='Number of match pages to gather',
        help='1 page is about 50 matches. Default is 30 pages (~1500 matches).'
    )

    if user_max == "":
        user_max = "30"
    max_pages = int(user_max)

    args = parser.parse_args()

    # Delete old files
    delete_old()

    # Create new files
    make_data_file("nodes.csv")
    make_data_file("edges.csv")

    # Login
    # username, password, max_pages = get_credentials()
    payload = {"username": username, "password": password}

    # Create session object
    session_requests = requests.session()

    # Start Session
    with session_requests as session:
        session.post(login_url, data=payload)
        data = get_json(session, prefix_url)

        # Get the list of tests available
        test_guids = get_guids(data)
        print()
        for k, v in test_guids.items():  # Print them out...work on formatting
            print("Test", str(k) + ":", v[0], v[1])
        print()
        test_selection = int(
            input("Select the Test # that you want to gather \
matches for: "))
        guid = test_guids[test_selection][1]

        # Start to gather match data using number of pages variable
        print("Gathering match details. Please wait.")
        for page_number in range(1, max_pages + 1):
            test_url = str(prefix_url + guid + matches_url_suffix +
                           str(page_number))
            matches = get_json(session, test_url)
            harvest_matches(session, matches, guid)
            time.sleep(1)
示例#10
0
def create_arg_parser():
    arg_parser = GooeyParser()
    group = arg_parser.add_argument_group('Input/Output',
                                          gooey_options={'columns': 1})
    group.add_argument(
        dest='divisions_file',
        widget='FileChooser',
        help=
        ('The CSV with division information; see the Division Columns tab for details.'
         ))
    group.add_argument(
        dest='professors_file',
        widget='FileChooser',
        help=
        'The CSV with professor information; see Professor Columns tab for details.',
    )
    group.add_argument(
        dest='students_file',
        widget='FileChooser',
        help=
        'The CSV with student information; see the Student Columns tab for details.'
    )
    group.add_argument(
        dest='output_dir',
        default='~/Desktop/',
        widget='DirChooser',
        help='The folder to put the output.csv.',
    )
    return arg_parser
示例#11
0
def gui_main():
    parser = GooeyParser(
        description="Creating blanks for C language source code files")
    parser.add_argument('source_dir', widget='DirChooser',
                        help="The directory containing source code files to be processed.")
    args = parser.parse_args()
    main(args.source_dir)
示例#12
0
def param_parser():
    main_parser = GooeyParser(description="Check Header")
    main_parser.add_argument("inputfolder",
                             metavar="Input Folder",
                             widget="DirChooser",
                             help="Select input las/laz folder",
                             default="")
    main_parser.add_argument("outputfolder",
                             metavar="Output Folder",
                             widget="DirChooser",
                             help="Select output folder",
                             default="")
    main_parser.add_argument("filetype",
                             metavar="Input File Type",
                             default='laz')
    main_parser.add_argument("attrib",
                             metavar="Attribute To search",
                             default='')
    main_parser.add_argument("cores",
                             metavar="Cores",
                             help="No of cores to run in",
                             type=int,
                             default=8)

    return main_parser.parse_args()
示例#13
0
def arbitrary_function():
    desc = u"コマンドライン引数を入力してください"
    file_help_msg = u"処理したいファイルの名前"
    my_cool_parser = GooeyParser(description=desc)
    my_cool_parser.add_argument('foo',
                                metavar=u"ファイルブラウザ",
                                help=file_help_msg,
                                widget="FileChooser")  # positional

    my_cool_parser.add_argument('-d',
                                metavar=u'--デュレーション',
                                default=2,
                                type=int,
                                help=u'プログラム出力の期間(秒)')

    my_cool_parser.add_argument('-s',
                                metavar=u'--スケジュール',
                                help=u'日時プログラムを開始すべき',
                                widget='DateChooser')
    my_cool_parser.add_argument("-c",
                                metavar=u"--ショータイム",
                                action="store_true",
                                help=u"カウントダウンタイマーを表示します")
    my_cool_parser.add_argument("-p",
                                metavar=u"--ポーズ",
                                action="store_true",
                                help=u"一時停止の実行")

    args = my_cool_parser.parse_args()
    main(args)
示例#14
0
 def makeParser(self, **kwargs):
     parser = GooeyParser(description='description')
     parser.add_argument('--widget',
                         action='count',
                         widget="Counter",
                         **kwargs)
     return parser
def get_parser() -> argparse.ArgumentParser:
    parser = GooeyParser()
    parser.add_argument(
        nargs="*",
        default=["foo bar"],
        dest="multi_arg",
    )
    parser.add_argument('--foo', nargs=1, default=['a', 'b'])
    # parser.add_argument(
    #     '--bar',
    #     nargs='+',
    #     choices=["one", "two"],
    #     default="one",
    # )
    parser.add_argument(
        '--listboxie',
        metavar='Multiple selection',
        nargs='+',
        # default=['Option three', 'Option four'],
        default='123',
        choices=[123, 'Option two', 'Option three', 'Option four'],
        help='Choose an action!',
        widget='Listbox',
        gooey_options={
            # 'height': 500,
            'validate': '',
            'heading_color': '',
            'text_color': '',
            'show_label': False,
            'hide_text': True,
        })
    return parser
示例#16
0
def param_parser():
    main_parser = GooeyParser(description="Reading XML")
    main_parser.add_argument("variable_file",
                             metavar="Variable text File",
                             widget="FileChooser",
                             help="Select .txt file",
                             default="")
    main_parser.add_argument("xml",
                             metavar="XML template File",
                             widget="FileChooser",
                             help="Select .xml file",
                             default="")
    main_parser.add_argument("wd",
                             metavar="Word template File",
                             widget="FileChooser",
                             help="Select .docx file",
                             default="")
    main_parser.add_argument("outputpath",
                             metavar="Output Directory",
                             widget="DirChooser",
                             help="Output directory",
                             default='')
    main_parser.add_argument("fid1", metavar="File ID 1", default='')
    main_parser.add_argument("fid2", metavar="File ID 2", default='')
    main_parser.add_argument("fid3", metavar="File ID 3", default='')
    main_parser.add_argument("fid4", metavar="File ID 4", default='')
    main_parser.add_argument("flownyear", metavar="Year Flown", default='2018')

    return main_parser.parse_args()
示例#17
0
def main():
    parser = GooeyParser(description='Getting Over it without the "Hurt"')
    g = parser.add_argument_group()
    stuff = g.add_mutually_exclusive_group(
        required=True, gooey_options={'initial_selection': 0})
    stuff.add_argument('--save',
                       metavar='Save Progress',
                       action='store_true',
                       help='Take a snap shot of your current progress!')
    stuff.add_argument('--load',
                       metavar='Load Previous Save',
                       help='Load a Previous save file',
                       dest='filename',
                       widget='Dropdown',
                       choices=list_savefiles(),
                       gooey_options={
                           'validator': {
                               'test': 'user_input != "Select Option"',
                               'message': 'Choose a save file from the list'
                           }
                       })

    args = parser.parse_args()
    print(args)
    if args.save:
        save_registry(collect_regvals(load_regkey()))
    else:
        replace_reg_values(load_regkey(),
                           load_registry(os.path.join('saves', args.filename)))
        print('Successfully Loaded snapshot!')
        print('Make sure to fix your mouse sensitivity! ^_^\n')
示例#18
0
def param_parser():
    parser=GooeyParser(description="Clip to AOIs")
    subs = parser.add_subparsers(help='commands', dest='command')
    main_parser = subs.add_parser('laz', help='Create Tile layout using files')
    main_parser.add_argument("inputfolder", metavar="Input Folder", widget="DirChooser", help="Select input las/laz folder", default="")
    main_parser.add_argument("outputpath", metavar="Output Folder", widget="DirChooser", help="Select output folder", default="")
    main_parser.add_argument("filepattern",metavar="Input File Pattern", help="Provide a file pattern seperated by ';' for multiple patterns \nex: (*.laz) or (123*_456*.laz; 345*_789*.laz )", default='*.laz')
    main_parser.add_argument("outputtype",metavar="Output File Type", help="las or laz\n", default='laz')
    main_parser.add_argument("poly", metavar="AOI folder", widget="DirChooser", help="Folder with Polygons(Script will take all .shp files)", default='')
    main_parser.add_argument("cores", metavar="Cores", help="Number of cores to be used\n", type=int)
    epsg_group = main_parser.add_argument_group("EPSG Settings", "Optional", gooey_options={'show_border': True,'columns': 3})
    epsg_group.add_argument("--hasepsg", metavar="Insert EPSG", action='store_true', default=False)
    epsg_group.add_argument("--epsg", metavar="EPSG value", help="EPSG value to use")
    asc_parser = subs.add_parser('asc', help='Create Tile layout using files')
    asc_parser.add_argument("inputpath", metavar="Input Folder", widget="DirChooser", help="Select input las/laz folder", default="")
    asc_parser.add_argument("outputpath", metavar="Output Folder", widget="DirChooser", help="Select output folder", default="")
    asc_parser.add_argument("poly", metavar="AOI folder", widget="DirChooser", help="Folder with Polygons(Script will take all .shp files)", default='')
    asc_parser.add_argument("epsg", metavar="EPSG value", help="EPSG value to use")
    asc_parser.add_argument("step", metavar="Step value", type = float)
    asc_parser.add_argument("tilesize", metavar="Tile size", help="Select Size of Tile in meters [size x size]", default=500, type=int)
    name_group = asc_parser.add_argument_group("File name settings", "Required when files have different naming conventions", gooey_options={'show_border': True,'columns': 3})
    name_group.add_argument("-hfn", "--hasfilename", metavar="Has filename pattern", action='store_true', default=False)
    name_group.add_argument("-addzero", metavar="Zeros to add", help="Multiplication to be used at the end of X and Y\n1 = None, 100, 1000 etc..", type=int)
    name_group.add_argument("--namepattern", metavar="Input File Name Convention", help="Ex: MGA55_dem_Mo%X%_%Y%_1.laz\n ", default = 'DEM-GRID_001_%X%_%Y%_500m.asc')
    asc_parser.add_argument("cores", metavar="Cores", help="Number of cores to be used\n", type=int)
    return parser.parse_args()
示例#19
0
def main():
    argparser = GooeyParser(
        description='Sort out messy folders with many files')

    argparser.add_argument('-i',
                           '--input',
                           help="name of the sortfile to process",
                           widget='FileChooser')
    # argparser.add_argument(
    #     '-i', '--input',
    #     action='store',
    #     type=str,
    #     help='Name of sort file: User self defined csv of keywords to filter sorted files.'
    # )
    argparser.add_argument(
        '-e',
        '--ext',
        action='store_true',
        help='Use this to set to use extensions as sort destination')
    argparser.add_argument(
        '-t',
        '--type',
        choices=fileExts.keys(),
        type=str.lower,
        help=
        'Preset defined categories to filter on eg Documents. Default = All files if flag not specified'
    )

    args = argparser.parse_args()

    args = checkType(args)

    welcome()

    organise(args)
示例#20
0
def param_parser():
    parser = GooeyParser(description="Add attributes to a Tile Layout")
    parser.add_argument("inputfile",
                        metavar="Input Tilelayout File",
                        widget="FileChooser",
                        help="Select Tilelayout json file")
    parser.add_argument("output_dir",
                        metavar="Output Directory",
                        widget="DirChooser",
                        help="Output directory",
                        default="")
    attr_group = parser.add_argument_group("Attribute",
                                           gooey_options={
                                               'show_border': True,
                                               'columns': 3
                                           })
    attr_group.add_argument("attrname",
                            metavar="Attribute Name",
                            help="Attribute Name\n\n")
    attr_group.add_argument(
        "attrval",
        metavar="Attribute Value",
        help=
        "if Naming convention for files used, \nreplace x,y with %X% and %Y%.\nex: dem_%X%m_%Y%m.asc"
    )
    attr_group.add_argument(
        "--division",
        metavar="Shorten X, Y",
        help=
        "Reduce the X and Y values to the nearest 100,1000. \nleave blank for None\n",
        type=int)

    args = parser.parse_args()
    return args
示例#21
0
def main():
    if is_windows:
        ctypes.windll.shcore.SetProcessDpiAwareness(2)
    parser = GooeyParser(description='')
    parser.add_argument('--src',
                        metavar='源目录',
                        widget='DirChooser',
                        help='源目录, 如大疆SD的目录就是: X:\\DCIM')
    parser.add_argument(
        '--dst',
        metavar='输出目录',
        widget='DirChooser',
        help='目的目标, 如D:\\Target,则会将DCIM内的文件拷贝到D:\\Target\\DCIM')
    argcomplete.autocomplete(parser)
    args = parser.parse_args()

    if not args.src or not args.dst:
        parser.print_usage()
        exit(1)

    if not os.path.exists(args.src):
        print('source path:{} does not exist.'.format(args.src))
        exit(1)
    if not os.path.exists(args.src):
        print('source path:{} does not exist.'.format(args.dst))
        exit(1)

    print('{} -> {}'.format(args.src, args.dst))
    args.dst = util.get_copy_dst_name(args.src, args.dst)
    copy_files(args.src, args.dst)
    error = check_copy(args.src, args.dst)
    if error:
        exit(1)
    exit(0)
示例#22
0
def main():
    parser = GooeyParser(description="Open HTML File")
    parser.add_argument("File Path",
                        help="Provide a file path to an .html file.",
                        widget='FileChooser')
    parser.add_argument('-d',
                        '--Delete Blanks',
                        choices=['yes', 'no'],
                        help='Delete all blank buttons?')
    parser.add_argument("-o",
                        "--Overwrite",
                        action="store_true",
                        help="Overwrite input file")
    parser.add_argument('-n',
                        "--New File Path",
                        help="Provide a path to save processed file to",
                        widget="FileSaver")
    #get arguments from parser
    parser_args = parser.parse_args()
    parser_vars = vars(parser_args)
    #open and prepare new html file for processing
    my_file = soupaccessories.open_existing_file(parser.parse_args())
    my_soup_handler = Soup_Handler(my_file)
    #check to see what user wanted to do
    if (parser_vars['Delete Blanks'] == 'yes'):
        my_soup_handler.delete_all_blank_top_buttons(my_soup_handler.soup)


#check to see if we overwrite old file or create new one
    if (parser_vars['Overwrite']):
        my_soup_handler.overwrite_input_file(my_soup_handler.soup)

    else:
        my_soup_handler.save_as_new_file(my_soup_handler.soup,
                                         parser_vars['New File Path'])
    def test_required_not_enforced(self):
        parser = GooeyParser()
        ArgumentParser.original_parse_args = ArgumentParser.parse_args

        parser.add_argument('--arg', type=int, required=True)
        parser.add_argument('--argn', type=int, nargs='+')
        parser.add_argument('argp', type=int)
        mutex = parser.add_mutually_exclusive_group(required=True)
        mutex.add_argument('--one', action='store_true')
        mutex.add_argument('--two', action='store_true')

        # No error when we don't provide required arguments
        cmd_args.parse_cmd_args(parser)

        # Test that required/argn have been restored in parser
        argrequired = next(action for action in parser._actions
                           if action.dest == 'arg').required
        self.assertEqual(argrequired, True)
        argnnargs = next(action for action in parser._actions
                         if action.dest == 'argn').nargs
        self.assertEqual(argnnargs, '+')
        argpnargs = next(action for action in parser._actions
                         if action.dest == 'argp').nargs
        self.assertEqual(argpnargs, None)
        mutexrequired = next(
            mutex for mutex in parser._mutually_exclusive_groups).required
        self.assertEqual(mutexrequired, True)
示例#24
0
def init_args():
    parser = GooeyParser(description='Lyric Scraper')

    # Required Parameters
    parser.add_argument(
        '--scan_dir',
        required=True,
        metavar='Scan Directory',
        help='Path to the directory to scan for music. Scans recursively',
        widget='DirChooser')

    # Optional Parameters
    optional_group = parser.add_argument_group('Optional Options', )
    optional_group.add_argument('--embed',
                                required=False,
                                metavar='Write IDv3 Tags',
                                action='store_true',
                                help='Write any scraped lyrics to IDv3 tags')
    optional_group.add_argument(
        '--force',
        required=False,
        metavar='Force Overwrite',
        action='store_true',
        help='Forces program to overwrite existing txt (lyric) files')
    optional_group.add_argument('--debug',
                                required=False,
                                metavar='Enable Debug mode',
                                action='store_true',
                                help='Change logging level to debug')

    return parser.parse_args()
def arbitrary_function():
    desc = u"Пример приложения , чтобы показать "
    file_help_msg = u"Имя файла, который вы хотите обработать"

    my_cool_parser = GooeyParser(description=desc)

    my_cool_parser.add_argument('foo',
                                metavar=u"выборафайлов",
                                help=file_help_msg,
                                widget="FileChooser")

    my_cool_parser.add_argument('bar',
                                metavar=u"Несколько файлов Сохранить",
                                help=file_help_msg,
                                widget="MultiFileChooser")

    my_cool_parser.add_argument(
        '-d',
        metavar=u'--продолжительность',
        default=2,
        type=int,
        help=u'Продолжительность ( в секундах ) на выходе программы')

    my_cool_parser.add_argument('-s',
                                metavar=u'--крон - график',
                                help=u'Дата',
                                widget='DateChooser')

    args = my_cool_parser.parse_args()
    main(args)
示例#26
0
def main():
    parser = GooeyParser()
    subs = parser.add_subparsers(help='commands', dest='command')

    img_calib_parser = subs.add_parser(
        'Calib_image', help='Camera calibrattion by saved image')
    add_args_calib_img(img_calib_parser)

    cam_calib_parser = subs.add_parser(
        'Calib_cam', help='Camera calibration by camera input directly')
    add_args_calib_cam(cam_calib_parser)

    disp_parser = subs.add_parser(
        'Disparity_map',
        help='Validate Camera calibration by visualization disparity map')
    add_args_disp(disp_parser)

    dic3d_parser = subs.add_parser('3D_DIC', help='Configuration DIC option')
    add_args_3d_dic(dic3d_parser)

    args = parser.parse_args()
    print(args.command)
    if args.command == 'Calib_image':
        calibration.by_imgs(args, save_dir, camera_mtx_dir)
    elif args.command == 'Calib_cam':
        calibration.by_cam(args, save_dir, camera_mtx_dir)
    elif args.command == 'Disparity_map':
        disparity_vis.run(args, save_dir, camera_mtx_dir)
    elif args.command == '3D_DIC':
        dic3d.run(args, save_dir, camera_mtx_dir, mesh_dir)
示例#27
0
def parse_args():
    parser = GooeyParser(
        description=
        'Format redcap export for ADM import\n(Assumes REDCap form is in order of actual CBCL questionnaire)'
    )

    required_group = parser.add_argument_group('Required Arguments',
                                               gooey_options={'columns': 1})
    required_group.add_argument('--export_file',
                                required=True,
                                widget='FileChooser',
                                help='Demographics + CBCL export from REDCap')
    required_group.add_argument('--data_dict',
                                required=True,
                                widget='FileChooser',
                                help='REDCap data dictionary export for CBCL')
    required_group.add_argument('--output_folder',
                                required=True,
                                widget='DirChooser',
                                help='Folder to store output CBC files')
    required_group.add_argument(
        '--age_var',
        required=True,
        help=
        'REDCap variable containing subject age (i.e. childs_age, age_decimal)'
    )
    return parser
示例#28
0
def main():
    cli = GooeyParser(description='Utils')
    required_args = cli.add_argument_group("Required Arguments")
    required_args.add_argument('-i',
                               '--in',
                               required=True,
                               metavar='PATH',
                               dest='inpath')
    required_args.add_argument('-o',
                               '--out',
                               required=True,
                               metavar='PATH',
                               dest='outpath')

    advanced_section = cli.add_argument_group(
        "Advanced Options",
        description='Change these options at your own risk!!!',
        gooey_options={'show_border': True})

    advanced_section.add_argument(
        '--dont-destroy-computer',
        help='When enabled this will NOT cause an explosion',
        metavar="Avoid Violently Delf Destruct",
        action='store_true',
        widget='BlockCheckbox',
        default=True)
    args = cli.parse_args()
示例#29
0
def add(parser: GooeyParser = GooeyParser()) -> GooeyParser:

    parser.add_argument(
        'data_path',
        widget='FileChooser',
        metavar='Data Path',
        help="Data path (file path of .csv format)",
    )

    parser.add_argument(
        "--x_columns",
        type=str,
        metavar='The x columns you want to use',
        default="CRIM,ZN,INDUS,CHAS,NOX,RM,AGE,DIS,RAD,TAX,PTRATIO,B,LSTAT",
        help='At least one columns must be selected.',
    )

    parser.add_argument(
        "--y_column",
        type=str,
        metavar='The y columns you want to use',
        default='MEDV',
        help='Only one column must be selected',
    )

    return parser
示例#30
0
def main():
    parser = GooeyParser()

    subs = parser.add_subparsers(help="commands", dest="command")

    crawl = subs.add_parser("crawl",
                            prog="Crawl New Lightnovel").add_argument_group("")
    crawl.add_argument(
        "-i",
        "--input_link",
        required=True,
        help="Link of Light Novel",
        gooey_options=dict(fullwidth=True),
    )

    # crawl.add_argument(
    #     "-o",
    #     "--output_file",
    #     required=True,
    #     help="Save file location",
    #     widget="FileSaver",
    #     gooey_options=dict(wildcard="EPUB (.epub)|*.epub",fullwidth = True)
    # )

    update_group = subs.add_parser("update", prog="Update Lightnovel")
    update = update_group.add_argument_group("")
    update.add_argument("-i",
                        "--input_file",
                        required=True,
                        help="File of Light Novel",
                        widget="FileChooser",
                        gooey_options=dict(
                            wildcard="Epub files (*.epub)|*.epub",
                            full_width=True,
                        ))

    url_settings = update_group.add_argument_group("URL")

    url_group = url_settings.add_mutually_exclusive_group(
        required=True,
        gooey_options=dict(
            title="",
            full_width=True,
        ),
    )

    url_group.add_argument("--use_internal_url",
                           metavar="Use the internal URL",
                           action="store_true")

    url_group.add_argument(
        "--external_url",
        metavar="Use the external URL",
        help="Link of the update LightNovel",
        widget="TextField",
    )

    args = parser.parse_args()
    run(args)