[Subversion] / PEAK / CHANGES.txt  

Diff of /PEAK/CHANGES.txt

Parent Directory | Revision Log

version 1883, Fri Oct 22 02:54:52 2004 UTC version 1926, Fri Nov 12 18:21:10 2004 UTC
Line 1 
Line 1 
 Fixes and Enhancements since Version 0.5 alpha 3  Fixes and Enhancements since Version 0.5 alpha 3
   
    - There is a new 'config.getStreamFactory' generic function, to make it easy
      to accept URLs, filenames, or 'naming.IStreamFactory' objects as the source
      of a "file".
   
      Its typical usage is just::
   
          factory = config.getStreamFactory(self,source)
          stream = factory.open('t')  # open for reading in text mode
   
      where 'source' is a string or a 'naming.IStreamFactory', and 'self' is a
      component to be used as lookup context.  The returned 'factory' is a
      'naming.IStreamFactory' that can then be '.open()'-ed for reading, or used
      in other ways as needed.
   
      If you have special objects that you'd like to be able to treat as stream
      sources, you can register them by defining an extension, e.g.::
   
       [config.getStreamFactory.when(MyType)]
       def getStreamFactory(context,source):
           """Return a naming.IStreamFactory for 'source' (a 'MyType' instance)"""
   
      Wherever practical, as we encounter them, we'll be changing PEAK API's that
      take filenames to also accept stream sources.
   
  - Added an optional 'base' argument to 'naming.parseURL()', to allow parsing   - Added an optional 'base' argument to 'naming.parseURL()', to allow parsing
    URLs relative to a base URL.  For a URL scheme to support this, it must     URLs relative to a base URL.  For a URL scheme to support this, it must
    implement the new 'naming.IBaseURL' interface.  See the     implement the new 'naming.IBaseURL' interface.  See the
Line 8 
Line 32 
  - Added a 'data:' URL scheme, implementing RFC 2397 (although it's not as   - Added a 'data:' URL scheme, implementing RFC 2397 (although it's not as
    strict in its parsing of the content type and parameters as the RFC calls     strict in its parsing of the content type and parameters as the RFC calls
    for).  This is a semi-convenient way to provide configuration data in-line,     for).  This is a semi-convenient way to provide configuration data in-line,
    since a 'data:' URL can be a 'config.IStreamSource'.     since a 'data:' URL can be a 'config.getStreamFactory()' source.
   
  - Added 'config.processXML()', a function that provides a high-level,   - Added 'config.processXML()', a function that provides a high-level,
    configuration-driven interface to 'peak.util.SOX.NegotiatingParser'.  This     configuration-driven interface to 'peak.util.SOX.NegotiatingParser'.  This
Line 68 
Line 92 
    you will need to rewrite appropriately.     you will need to rewrite appropriately.
   
  - 'config.loadConfigFile()' and 'config.loadConfigFiles()' now accept URLs,   - 'config.loadConfigFile()' and 'config.loadConfigFiles()' now accept URLs,
    'naming.IStreamFactory' objects, and 'config.IStreamSource' objects as well     'naming.IStreamFactory' objects, and other 'config.getStreamFactory()'
    as filenames.  This was primarily added to support use of     targets as well as filenames.  This was primarily added to support use of
    'config.packageFile()' or 'pkgfile:' URLs, in place of using     'config.packageFile()' or 'pkgfile:' URLs, in place of using
    'config.fileNearModule()'.     'config.fileNearModule()'.
   
  - There is a new 'config.IStreamSource' protocol, to make it easy to accept  
    URLs, filenames, or 'naming.IStreamFactory' objects as the source of a  
    "file".  
   
    Its typical usage is just::  
   
        factory = config.IStreamSource(data).getFactory(self)  
        stream = factory.open('t')  # open for reading in text mode  
   
    where 'data' is a string or a 'naming.IStreamFactory', and 'self' is a  
    component to be used as lookup context.  The returned 'factory' is a  
    'naming.IStreamFactory' that can then be '.open()'-ed for reading, or used  
    in other ways as needed.  
   
    Wherever practical, as we encounter them, we'll be changing PEAK API's that  
    take filenames to also accept stream sources.  
   
  - The 'naming.IStreamFactory' interface now has an 'address' attribute, which   - The 'naming.IStreamFactory' interface now has an 'address' attribute, which
    is the string form of the canonical URL of the target stream.  This was     is the string form of the canonical URL of the target stream.  This was
    added to make it easier to e.g. report errors in a stream that's being     added to make it easier to e.g. report errors in a stream that's being


Generate output suitable for use with a patch program
Legend:
Removed from v.1883  
changed lines
  Added in v.1926

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help