Created
December 7, 2011 16:47
-
-
Save brantfaircloth/1443543 to your computer and use it in GitHub Desktop.
Revisions
-
Brant Faircloth created this gist
Dec 7, 2011 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,19 @@ class FullPaths(argparse.Action): """Expand user- and relative-paths""" def __call__(self, parser, namespace, values, option_string=None): setattr(namespace, self.dest, os.path.abspath(os.path.expanduser(values))) def is_dir(dirname): """Checks if a path is an actual directory""" if not os.path.isdir(dirname): msg = "{0} is not a directory".format(dirname) raise argparse.ArgumentTypeError(msg) else: return dirname def get_args(): """Get CLI arguments and options""" parser = argparse.ArgumentParser(description="""do something""") parser.add_argument('alignments', help="The folder of alignments", action=FullPaths, type=is_dir)