Changeset 4113:90434cb52f2b in livinglogic.python.xist for src/ll/scripts/ucat.py

Show
Ignore:
Timestamp:
09/23/10 15:34:22 (9 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Use argparse instead of optparse.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/scripts/ucat.py

    r4042 r4113  
    1111 
    1212 
    13 import sys, optparse, contextlib, errno 
     13import sys, argparse, contextlib, errno 
    1414 
    1515from ll import url 
     
    2929    def catone(urlread): 
    3030        if urlread.isdir(): 
    31             if options.recursive: 
     31            if args.recursive: 
    3232                for u in urlread.listdir(): 
    3333                    catone(urlread/u) 
     
    4545                            break 
    4646            except Exception: 
    47                 if not options.ignoreerrors: 
     47                if not args.ignoreerrors: 
    4848                    raise 
    4949 
    50     colors = ("yes", "no", "auto") 
    51     p = optparse.OptionParser(usage="usage: %prog [options] source-file-url target-file-url\n   or: %prog [options] source-file-url(s) target-dir-url") 
    52     p.add_option("-v", "--verbose", dest="verbose", help="Be verbose?", action="store_true", default=False) 
    53     p.add_option("-r", "--recursive", dest="recursive", help="Copy stuff recursively?", action="store_true", default=False) 
    54     p.add_option("-x", "--ignoreerrors", dest="ignoreerrors", help="Ignore errors?", action="store_true", default=False) 
     50    p = argparse.ArgumentParser(description="print URL content on the screen") 
     51    p.add_argument("urls", metavar="url", help="URLs to be printed", nargs="+", type=url.URL) 
     52    p.add_argument("-v", "--verbose", dest="verbose", help="Be verbose?", action="store_true", default=False) 
     53    p.add_argument("-r", "--recursive", dest="recursive", help="Copy stuff recursively?", action="store_true", default=False) 
     54    p.add_argument("-x", "--ignoreerrors", dest="ignoreerrors", help="Ignore errors?", action="store_true", default=False) 
    5555 
    56     (options, args) = p.parse_args(args) 
    57     if len(args) < 1: 
    58         p.error("need at least one url") 
    59         return 1 
    60  
     56    args = p.parse_args(args) 
    6157    with url.Context(): 
    62         for arg in args: 
    63             catone(url.URL(arg)) 
     58        for u in args.urls: 
     59            catone(u) 
    6460 
    6561