[Subversion] / PEAK / src / peak / util / EigenData.py  

Log of /PEAK/src/peak/util/EigenData.py

Parent Directory

No default branch
Bookmark a link to HEAD: (view) (download) (as text)


Revision 1582 - (view) (download) (as text) - [select for diffs]
Modified Sat Jan 3 00:36:27 2004 UTC (20 years, 3 months ago) by pje
File length: 8157 byte(s)
Diff to previous 1282
"Global" services defined by '[Component Factories]' sections now live in
the closest "service area" to the component that requests them.  A "service
area" is a parent component that implements 'config.IServiceArea', such as
a configuration root returned by 'config.makeRoot()'.  Applications loaded
by the 'peak runIni' command are now created in their own service area,
which means that settings in the .ini file being run will apply to services
the application uses.  (Because the application will have its own,
application-specific service instances, and they will use the configuration
loaded into the service area.)

For more information, see CHANGES.txt, and especially:

http://www.eby-sarna.com/pipermail/peak/2004-January/001087.html

Revision 1282 - (view) (download) (as text) - [select for diffs]
Modified Mon Jul 28 22:06:39 2003 UTC (20 years, 9 months ago) by pje
File length: 8132 byte(s)
Diff to previous 1189
It's now possible to declare an attribute as offering a wildcard property;
such lookups now follow the same rules as other wildcard property lookups.
The 'config.IConfigKey' interface has been changed to cleanly support
implied keys at both registration and lookup time, so you can implement
your own key types that work the way interfaces or property names do for
configuration lookups.

I also moved the 'EigenRegistry' class from 'peak.util.EigenData' to
'peak.config.registries', as it hasn't really been useful outside PEAK for
a while now.

Revision 1189 - (view) (download) (as text) - [select for diffs]
Modified Wed Jun 18 15:44:45 2003 UTC (20 years, 10 months ago) by pje
File length: 9346 byte(s)
Diff to previous 1121
The 'provides' keyword argument to various 'peak.binding' APIs has been
renamed to 'offerAs', and it must be a sequence of configuration keys.
(Previously, it accepted either a single key or a tuple of keys.)
The signature of 'binding.Constant()' was changed as well; the first
positional argument is now the constant value, and 'offerAs' is now a
keyword argument.  (Previously, 'provides' was the first positional
argument of 'binding.Constant()'.)  The 'registerProvider()' method of
'config.IConfigurable()' also now accepts only a single configuration key,
as does 'EigenRegistry.register()'.

Revision 1121 - (view) (download) (as text) - [select for diffs]
Modified Thu May 15 22:26:40 2003 UTC (20 years, 11 months ago) by pje
File length: 9500 byte(s)
Diff to previous 1117
Fixed bugs found by Alexander Smishlajev's "Echo" class.  Specifically,
I put back code to ensure that EigenRegistry and PropertyMap always use
the "narrowest" interface possible, but it now uses a depth value to do
so, which I find easier to understand than the old 'extends()' logic.  It
also corresponds to the same logic used in the protocols package.  Anyway,
the absence of this meant that ITwistedReactor was looked for even if
IBasicReactor would suffice.  I put back the tests that checked this sort
of thing, at least for EigenRegistry.

The second bug was that if a component with an "assembled" parent didn't
have any children already waiting for an assembly event, it didn't
request notification for events, and thus never notified any children that
subscribed later.  I fixed this by having components register with their
parents when their children register with them, if it is the first such
registration and the component would not have otherwise registered with
its parent.  Added a test case to cover this scenario.

Revision 1117 - (view) (download) (as text) - [select for diffs]
Modified Wed May 14 22:14:45 2003 UTC (20 years, 11 months ago) by pje
File length: 8810 byte(s)
Diff to previous 1102
Finished switchover to using protocols.advise() API to declare interfaces.

Revision 1102 - (view) (download) (as text) - [select for diffs]
Modified Sat May 10 15:08:45 2003 UTC (20 years, 11 months ago) by pje
File length: 8815 byte(s)
Diff to previous 1076
'EigenRegistry' and 'PropertyMap' no longer attempt to figure out whether
implied (i.e. inherited) interfaces are more or less general with respect
to a previous registration.  This was behavior that emulated Zope adapter
registries, but what we really wanted was more akin to a Zope "type"
registry.  The only parts of the test suite that used the old behavior
were the tests specifically written to ensure that behavior!

Also, changed the implementation of '__class_provides__' so that the
registry becomes immutable as soon as it is computed by the class.

Revision 1076 - (view) (download) (as text) - [select for diffs]
Modified Sat May 3 13:21:20 2003 UTC (20 years, 11 months ago) by pje
File length: 9849 byte(s)
Diff to previous 1013
Normalized whitespace.

Revision 1013 - (view) (download) (as text) - [select for diffs]
Modified Wed Apr 23 17:03:05 2003 UTC (21 years ago) by pje
File length: 9932 byte(s)
Diff to previous 976
Fixed needing to break encapsulation of EigenCells in order to supply a
default value.  'EigenCell.get()' can now be given a function that will
be called to suppy a default value for the cell in the event that it hasn't
had a value set yet, and has not been read.  This cleans up code in the
singleton accessors for the "system configuration" and "reactor" services.

Revision 976 - (view) (download) (as text) - [select for diffs]
Modified Thu Apr 10 19:30:58 2003 UTC (21 years ago) by pje
File length: 9267 byte(s)
Diff to previous 547
PEAK-Zope namegeddon, phase 1.  Routed all imports of Interface and
Persistence through 'peak.interface' and 'peak.persistence'.  Future phases
will replace the bundled Interface and Persistence packages with the latest
and greatest from Zope X3, updating the plugpoint modules appropriately.
Also, this arrangement will let us experiment with a PEP 246 implementation
as part of 'peak.interface', and prepare for the coming "interface
declarations" of Zope X3.

Revision 547 - (view) (download) (as text) - [select for diffs]
Modified Wed Oct 9 13:20:06 2002 UTC (21 years, 6 months ago) by pje
File length: 9262 byte(s)
Diff to previous 463
Changed to use Interface.getBases() method instead of accessing __bases__
directly.  This will help later if/when we use EigenRegistries for
Properties as well as Interfaces.

Revision 463 - (view) (download) (as text) - [select for diffs]
Modified Sat Jul 13 18:18:16 2002 UTC (21 years, 9 months ago) by pje
File length: 9269 byte(s)
Diff to previous 461
Added test suite for EigenData module, and fixed some minor issues with it
and binding.components.

Revision 461 - (view) (download) (as text) - [select for diffs]
Modified Sat Jul 13 16:44:24 2002 UTC (21 years, 9 months ago) by pje
File length: 9238 byte(s)
Diff to previous 460
Revised EigenRegistry registration algorithm to Zope 3-style 
conservativism; added conservative "update" method as well.

Revision 460 - (view) (download) (as text) - [select for diffs]
Modified Fri Jul 12 13:33:13 2002 UTC (21 years, 9 months ago) by pje
File length: 8741 byte(s)
Diff to previous 385
Added 'EigenRegistry' class, for future support of Utility registries.

Revision 385 - (view) (download) (as text) - [select for diffs]
Added Tue May 14 00:13:17 2002 UTC (21 years, 11 months ago) by pje
File length: 7647 byte(s)
Initial draft of 'TW.Utils.EigenData' -- support for write-many-until-read
configuration data.

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

  Diffs between and
  Type of Diff should be a

Sort log by:

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help