Changeset 270


Ignore:
Timestamp:
06/05/09 14:38:06 (5 years ago)
Author:
david
Message:

added simple time comparison; incomplete solution

File:
1 edited

Legend:

Unmodified
Added
Removed
  • enpraxis.staticsite/trunk/enpraxis/staticsite/utilities/staticsiteutility.py

    r269 r270  
    11from Globals import BobobaseName 
    22from os import makedirs as os_makedirs 
     3from os.path import getmtime 
     4from os.path import join as os_join 
    35from os.path import lexists as os_lexists 
    46from os.path import split as os_split 
    5 from os.path import join as os_join 
     7 
     8 
    69from urllib2 import urlopen 
    710 
     
    4750        """ Deploy an object """ 
    4851        portal_url = brain.portal_url()     
     52        last_modified = brain.modified 
    4953        if brain.is_folderish: 
    5054            #create dir before processing html          
     
    5357            index_path = '%s/index.html' % path 
    5458            raw = self._httpget(url) 
    55             self._writeFile(index_path, raw) 
     59            self._writeFile(index_path, raw, last_modified) 
    5660        elif brain.Type in ['Page']: 
    5761            path = self._getObjPath(url, portal_url, dpath) 
     
    6165            if domain: 
    6266                data = self.runFilters(raw, None, portal_url, domain) 
    63             self._writeFile(path, data) 
     67            self._writeFile(path, data, last_modified) 
    6468        else: 
    6569            #get file object 
    6670            path = self._getObjPath(url, portal_url, dpath) 
    6771            raw = self._httpget(url)         
    68             self._writeFile(path, raw) 
     72            self._writeFile(path, raw, last_modified) 
    6973 
    7074 
     
    98102        return data 
    99103 
    100     def _writeFile(self, fn, data): 
     104    def _writeFile(self, fn, data, last_modified): 
    101105        self._createDirectory(os_split(fn)[0]) 
    102         f = open(fn, 'w') 
    103         f.write(data) 
    104         f.close() 
     106        if os_lexists(fn): 
     107            fn_time = getmtime(fn)         
     108            if last_modified.greaterThan(fn_time): 
     109                f = open(fn, 'w') 
     110                f.write(data) 
     111                f.close() 
     112        else: 
     113            f = open(fn, 'w') 
     114            f.write(data) 
     115            f.close() 
     116             
     117 
Note: See TracChangeset for help on using the changeset viewer.