Changeset 98

Show
Ignore:
Timestamp:
12/30/05 23:06:29 (3 years ago)
Author:
tim
Message:

added htmlfile htfile htfiledata and html types

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/timadditionaltypes/pyramid/build.py

    r96 r98  
    130130 
    131131def main(options,args): 
     132     
    132133    if options.resources: 
    133134        resourcedirs = options.resources.split(',') 
     
    141142    else: 
    142143        rebuilddirs = None     
    143     build(options.data,options.out,verbose=options.verbose,resourcedirs=resourcedirs,rebuilddirs=rebuilddirs,partialbuild=options.partialbuild
     144    build(options.data,options.out,verbose=options.verbose,resourcedirs=resourcedirs,rebuilddirs=rebuilddirs
    144145 
    145146if __name__ == "__main__": 
     
    149150    parser.add_option("-r", "--resources", dest="resources", help="comma separated list of resource directories to copy", metavar="RESOURCES") 
    150151    parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="print status messages to stdout")     
    151     #parser.add_option("-p", "--partialbuild", action="store_true", dest="partialbuild", default=False, help="allow a partial build from cache files, does not remove existing directory") 
    152152    parser.add_option("-R", "--rebuilddirs",dest="rebuilddirs",help="only rebuild below these comma separated directories",metavar="REBUILDDIRS") 
    153153    (options, args) = parser.parse_args() 
  • branches/timadditionaltypes/pyramid/flatteners.py

    r96 r98  
    55from pyramid.path import path 
    66import copy 
     7import rfc822 
    78from pprint import pprint 
    89 
     
    5960        return T.xml(restParser.html_fragment(file(os.path.join(dir,self.original)).read())) 
    6061 
     62class HtmlFileFlattener(components.Adapter): 
     63    def flatten(self, ctx, dir): 
     64        return T.xml(file(os.path.join(dir,self.original)).read()) 
     65 
     66class HtmlFlattener(components.Adapter): 
     67    def flatten(self, ctx, dir): 
     68        return T.xml(self.original) 
     69     
     70class HtFileFlattener(components.Adapter): 
     71    def flatten(self, ctx, dir): 
     72        message = rfc822.Message(open(os.path.join(dir,self.original))) 
     73        data = dict(message) 
     74        body = message.fp.read() 
     75        if data.get('content-type',None) == 'text/x-rst': 
     76            return T.xml(restParser.html_fragment(body)) 
     77        else: 
     78            return T.xml(body) 
     79 
     80class HtFileDataFlattener(components.Adapter): 
     81    def flatten(self, ctx, dir): 
     82        message = rfc822.Message(open(os.path.join(dir,self.original.file))) 
     83        data = dict(message) 
     84        if self.original.key is not None: 
     85            return data[self.original.key] 
     86        else: 
     87            return flatten(self.original) 
     88         
    6189class AHrefFlattener(components.Adapter): 
    6290    def flatten(self, ctx, dir): 
     
    231259    return data 
    232260 
    233  
    234  
    235261# registration for adapters 
    236262components.registerAdapter(DictFlattener,         dict,           IFlattener) 
     
    239265components.registerAdapter(RestFlattener,         Y.rest,         IFlattener) 
    240266components.registerAdapter(RestFileFlattener,     Y.restfile,     IFlattener) 
     267components.registerAdapter(HtmlFlattener,         Y.html,         IFlattener) 
     268components.registerAdapter(HtmlFileFlattener,     Y.htmlfile,     IFlattener) 
     269components.registerAdapter(HtFileFlattener,       Y.htfile,       IFlattener) 
     270components.registerAdapter(HtFileDataFlattener,   Y.htfiledata,   IFlattener) 
    241271components.registerAdapter(FragmentFlattener,     Y.fragment,     IFlattener) 
    242272components.registerAdapter(FragmentFileFlattener, Y.fragmentFile, IFlattener) 
  • branches/timadditionaltypes/pyramid/yamlRegistry.py

    r96 r98  
    7272    ''' 
    7373    pass 
     74 
     75class html(str): 
     76    ''' a rest file for converting to html 
     77    ''' 
     78    pass 
     79 
     80class htmlfile(str): 
     81    ''' a rest file for converting to html 
     82    ''' 
     83    pass 
     84 
     85class htfile(str): 
     86    ''' a rest file for converting to html 
     87    ''' 
     88    pass 
     89 
     90class htfiledata: 
     91    ''' a rest file for converting to ht file datafile and key 
     92    ''' 
     93    def __init__(self,node): 
     94        self.file = node['file'] 
     95        self.key = node.get('key',None) 
     96         
     97    def __repr__(self): 
     98        return '<htfiledata: file=%s, key=%s>'%(self.file,self.key) 
     99         
     100    def __eq__(self,other): 
     101        return self.file == other.file and self.key == other.key 
     102 
     103    def __ne__(self,other): 
     104        return self.file != other.file or self.key != other.key 
    74105 
    75106class rhref(str): 
     
    178209    ('yaml.org','2002','breadcrumb'): breadcrumb, 
    179210    ('yaml.org','2002','acquire'): acquire, 
     211    ('yaml.org','2002','html'): html, 
     212    ('yaml.org','2002','htmlfile'): htmlfile, 
     213    ('yaml.org','2002','htfile'): htfile, 
     214    ('yaml.org','2002','htfiledata'): htfiledata, 
    180215    ('python.yaml.org','2002','object:pyramid.path.path'): pathconstruct, 
    181216    ('python.yaml.org','2002','object:pyramid.core.Context'): context,