Update of /cvsroot/freevo/freevo/src/util
In directory sc8-pr-cvs1:/tmp/cvs-serv21873

Modified Files:
        fxdparser.py 
Log Message:
cache fxd files with pickle

Index: fxdparser.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/util/fxdparser.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** fxdparser.py        29 Dec 2003 22:32:15 -0000      1.4
--- fxdparser.py        1 Jan 2004 12:24:18 -0000       1.5
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.5  2004/01/01 12:24:18  dischi
+ # cache fxd files with pickle
+ #
  # Revision 1.4  2003/12/29 22:32:15  dischi
  # small speed improvements
***************
*** 44,47 ****
--- 47,53 ----
  #endif
  
+ import os
+ import stat
+ import traceback
  
  # XML support
***************
*** 85,92 ****
              self.tree = XMLnode('freevo')
          else:
!             f = vfs.open(filename)
!             self.tree = self.parse(f)
!             f.close()
! 
  
      def add(self, node, parent=None, pos=None):
--- 91,107 ----
              self.tree = XMLnode('freevo')
          else:
!             self.tree = None
!             if config.OVERLAY_DIR:
!                 cache = vfs.getoverlay(filename + '.raw')
!                 if os.path.isfile(cache) and \
!                        os.stat(cache)[stat.ST_MTIME] > 
os.stat(filename)[stat.ST_MTIME]:
!                     self.tree = util.read_pickle(cache)
!             if not self.tree:
!                 f = vfs.open(filename)
!                 self.tree = self.parse(f)
!                 f.close()
!                 if config.OVERLAY_DIR and self.tree:
!                     util.save_pickle(self.tree, cache)
!                 
  
      def add(self, node, parent=None, pos=None):
***************
*** 123,126 ****
--- 138,143 ----
          Help function to dump all elements
          """
+         if not elem:
+             return
          f.write('<' + elem.name)
          for (ns, name), value in elem.attrs.items():
***************
*** 132,136 ****
                      f.write('  ')
              else:
!                 f.write('>' + elem.first_cdata)
  
              for child in elem.children:
--- 149,153 ----
                      f.write('  ')
              else:
!                 f.write('>' + elem.first_cdata.replace('&', '&amp;'))
  
              for child in elem.children:
***************
*** 144,148 ****
                          f.write('  ')
                  else:
!                     f.write(child.following_cdata)
              f.write('</%s>' % elem.name)
          else:
--- 161,165 ----
                          f.write('  ')
                  else:
!                     f.write(child.following_cdata.replace('&', '&amp;'))
              f.write('</%s>' % elem.name)
          else:




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to