Changeset 104

Show
Ignore:
Timestamp:
01/02/06 16:48:20 (3 years ago)
Author:
tim
Message:

added checks for missing files and better debugging

Files:

Legend:

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

    r101 r104  
    5858class RestFileFlattener(components.Adapter): 
    5959    def flatten(self, ctx, dir):     
    60         return T.xml(restParser.html_fragment(file(os.path.join(dir,self.original)).read())) 
     60        try: 
     61            restfile = os.path.join(dir,self.original) 
     62            fp = open(restfile) 
     63        except IOError: 
     64            print 'IOError whilst trying to open "restfile" %s'%(restfile)     
     65             
     66        return T.xml(restParser.html_fragment(fp.read())) 
    6167 
    6268class HtmlFileFlattener(components.Adapter): 
    6369    def flatten(self, ctx, dir): 
    64         return T.xml(file(os.path.join(dir,self.original)).read()) 
     70        try: 
     71            htmlfile = os.path.join(dir,self.original) 
     72            fp = open(htmlfile) 
     73        except IOError: 
     74            print 'IOError whilst trying to open "htmlfile" %s'%(htmlfile)         
     75         
     76        return T.xml(fp.read()) 
    6577 
    6678class HtmlFlattener(components.Adapter): 
     
    7082class HtFileFlattener(components.Adapter): 
    7183    def flatten(self, ctx, dir): 
    72         message = rfc822.Message(open(os.path.join(dir,self.original))) 
     84        try: 
     85            htfile = os.path.join(dir,self.original) 
     86            fp = open(htfile) 
     87        except IOError: 
     88            print 'IOError whilst trying to open "htfile" %s'%(htfile) 
     89        message = rfc822.Message(fp) 
    7390        data = dict(message) 
    7491        body = message.fp.read() 
     
    8299        message = rfc822.Message(open(os.path.join(dir,self.original.file))) 
    83100        data = dict(message) 
     101        # add lower case keys 
     102        for k,v in data.items(): 
     103            data[k.lower()] = data[k] 
    84104        if self.original.key is not None: 
    85105            return data[self.original.key] 
     
    174194        # Search for the template in this directory and above 
    175195        template = acquireTemplate(ctx,self.original.template) 
    176         return T.xml(page.Fragment(os.path.join(dir,template), flattenedMergedData).generate()) 
     196        try: 
     197            htmlfragment = page.Fragment(os.path.join(dir,template), flattenedMergedData).generate() 
     198        except KeyError: 
     199            print '*'*80 
     200            print 'problem filling slot for template fragment %s using template file %s'% (name,file) 
     201            print '*'*80 
     202            print '%s %s %s'%('*'*4,'template','*'*30) 
     203            pprint(template) 
     204            print '%s %s %s'%('*'*4,'data','*'*30) 
     205            pprint(data) 
     206            print '*'*80 
     207            raise 
     208        return T.xml(htmlfragment) 
    177209 
    178210class FragmentFlattener(components.Adapter): 
     
    217249    else: 
    218250        try: 
    219             yaml = file(os.path.join(dir,name)).read() 
     251            yamlfile = os.path.join(dir,name) 
     252            fp = open(yamlfile) 
     253            yaml = fp.read() 
    220254            return syck.load(yaml,Loader=Y.Loader, implicit_typing=False) 
    221         except
     255        except IOError
    222256            # if the file can't be read. fall back to the parent data 
    223257            return copy.deepcopy(parentdata)