Auto generate ui for argparse based command-line tools
Project description
This file is part of argparseui.
argparseui is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
argparseui is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with argparseui. If not, see <http://www.gnu.org/licenses/>.
argparseui
Purpose of argparseui
argparseui can be used to quickly auto-generate a UI from an argparse based command line tool
the UI has widgets that allow to set up the command line options
argparseui depends on PyQt
State of argparseui
argparseui is a scratch-my-own-itch tool
as such it doesn’t support all possibilities of argparse
use at your own risk, but feel free to log a bug/request
Basic Parser Usage
import argparse import sys from PyQt4 import QtGui import argparseui # EXPERIMENT USING BASIC PARSER parser = argparse.ArgumentParser() parser.add_argument("-m", "--make-argument-true", help="optional boolean argument", action="store_true") parser.add_argument("-o","--make-other-argument-true", help="optional boolean argument 2", action="store_true", default=True) parser.add_argument("-n","--number", help="an optional number", type=int) parser.add_argument("-r","--restricted-number", help="one of a few possible numbers", type=int, choices=[1,2,3], default=2) parser.add_argument("-c", "--counting-argument", help="counting #occurrences", action="count") parser.add_argument("-d", "--default-value-argument", help="default value argument", type=float, default="3.14") group = parser.add_mutually_exclusive_group() group.add_argument("-v", "--verbose", action="store_true") group.add_argument("-q", "--quiet", action="store_true") parser.add_argument("posarg", help="positional argument", type=str) app = QtGui.QApplication(sys.argv) a = argparseui.ArgparseUi(parser) a.show() app.exec_() if a.result() == 1: # Ok pressed parsed_args = a.parse_args() # ask argparse to parse the options print parsed_args # print the parsed_options # Do what you like with the arguments...
Extended features
You can pass some extra command line arguments to ArgparseUi:
*helptext_default* = string [default: ' [default=%(default)s]'] this argument can be used to customize the default value annotations in the ui *remove\_defaults\_from_helptext* = True/False [default: False] if enabled, this option will remove the default value annotations from the labels in the ui *use\_save\_load_button* = True/False [default: False] if set to True, three extra buttons [Load options, Save Options, Save Options As] appear the options are saved to (or loaded from) a command line option file in a file format compatible with argparse's built-in support for loading options from file *use_scrollbars* = True/False [default: False] if set to True, the options are embedded in a scrollable panel *window_title* = string [default: "Make your choice"] if set to a string, this string will be used as dialog title *left\_label\_alignment* = True/False [default: None] if set to True, the checkboxes are left-aligned. This may be useful on platforms like KDE or MacOsx which by default use right-alignment *ok\_button\_handler* = function taking one argument [default:None] if set to None, the dialog will close upon clicking the ok button and its result will be set to 1 if set to a function accepting an ArgparseUi instance as argument, clicking ok will call that function with "self" as argument *cancel\_button\_handler* = function taking one argument [default:None] if set to None, the dialog will close upon clicking cancel and its result will be != 1 if set to a function accepting an ArgparseUi instance as argument, clicking cancel will call that function with "self" as argument
Contributors
The following people have contributed to argparseui
Stefaan Himpe
Thomas Hisch
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file argparseui-0.0.4.tar.gz
.
File metadata
- Download URL: argparseui-0.0.4.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba92ea8e6d0f04093c43026c60b810c19f18a252113b0543df0197feef28900 |
|
MD5 | d107424c19ed3686a22e717130ba301d |
|
BLAKE2b-256 | 85c0d65df683fa96b2c08cc46e3d8b23a9b6772c9f8e5cbefc78dcf8dbeb5268 |