Changeset 2996:6c5294135830 in livinglogic.python.xist

Show
Ignore:
Timestamp:
09/26/07 13:35:54 (12 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Fix tld2xsc, sot that it uses stdin/stdout instead of filenames on the command line.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/xist/scripts/tld2xsc.py

    r2903 r2996  
    2727 
    2828 
    29 def tld2xsc(inurl, outurl, verbose, xmlname, xmlurl, shareattrs): 
    30     if verbose: 
    31         print "Parsing TLD %s ..." % dtdurl 
    32     node = parsers.parseURL(inurl) 
    33  
    34     if verbose: 
    35         print "Converting ..." 
     29def tld2xnd(stream, shareattrs): 
     30    node = parsers.parsestream(stream) 
    3631 
    3732    # get and convert the taglib object 
    38     node = xfind.first(node/tld.taglib) 
    39     data = node.asxnd() 
     33    xnd = node.walknode(tld.taglib)[0].asxnd() 
    4034 
    4135    if shareattrs=="dupes": 
    42         data.shareattrs(False) 
     36        xnd.shareattrs(False) 
    4337    elif shareattrs=="all": 
    44         data.shareattrs(True) 
    45  
    46     if verbose: 
    47         print "Writing to %s ..." % outurl 
    48  
    49     file = outurl.openwrite() 
    50     file.write(data.aspy()) 
    51     file.close() 
     38        xnd.shareattrs(True) 
     39    return xnd 
    5240 
    5341 
    5442def main(): 
    55     p = optparse.OptionParser(usage="usage: %prog [options] inputurl.tld") 
    56     p.add_option("-o", "--output", dest="output", metavar="FILE", help="write output to FILE") 
    57     p.add_option("-v", "--verbose", action="store_true", dest="verbose") 
    58     p.add_option("-p", "--prefix", dest="xmlname", help="the XML prefix for this namespace", default="prefix", metavar="PREFIX") 
    59     p.add_option("-u", "--url", dest="xmlurl", help="the XML namespace name", metavar="URL") 
     43    p = optparse.OptionParser(usage="usage: %prog [options] <input.tld >output_xmlns.py") 
    6044    p.add_option("-s", "--shareattrs", dest="shareattrs", help="Should identical attributes be shared among elements?", choices=("none", "dupes", "all"), default="dupes") 
    6145    p.add_option("-m", "--model", dest="model", default="once", help="Add sims information to the namespace", choices=("no", "all", "once")) 
     
    6347 
    6448    (options, args) = p.parse_args() 
    65     if len(args) != 1: 
     49    if len(args) != 0: 
    6650        p.error("incorrect number of arguments") 
    6751        return 1 
    68     input = url.URL(args[0]) 
    69     if options.output is None: 
    70         output = url.File(input.withExt("py").file) 
    71     else: 
    72         output = url.URL(options.output) 
    73     tld2xsc(input, output, options.verbose, options.xmlname, options.xmlurl, options.shareattrs, options.model, options.defaults) 
     52    print tld2xnd(sys.stdin, options.shareattrs).aspy(model=options.model, defaults=options.defaults) 
    7453 
    7554