[Zope-Annce] SaneBrains 1.0.0 Released!

2005-08-23 Thread Chris Withers
SaneBrains patches ZCatalog's brain objects such that they don't 
unnecessarily catch exceptions.


The brain objects are patched such that:

- the getObject method never tries to catch any exceptions, it just uses 
a simple restrictedTraverse to turn the path stored in the ZCatalog into 
an object


- the _unrestrictedGetObject method never tries to catch any exceptions, 
it just uses a simple unrestrictedTraverse to turn the path stored in 
the ZCatalog into an object


As a bonus, this product also allows you to do the following from 
untrusted code (ie: Python Scripts):


  from zExceptions import Unauthorized

For more information, please see: 
http://www.simplistix.co.uk/software/zope/sanebrains


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope-Announce maillist  -  Zope-Announce@zope.org
http://mail.zope.org/mailman/listinfo/zope-announce

 Zope-Announce for Announcements only - no discussions

(Related lists - 
Users: http://mail.zope.org/mailman/listinfo/zope

Developers: http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope-Coders] Zope tests: 8 OK

2005-08-23 Thread Zope tests summarizer
Summary of messages to the zope-tests list.
Period Mon Aug 22 11:01:02 2005 UTC to Tue Aug 23 11:01:02 2005 UTC.
There were 8 messages: 8 from Zope Unit Tests.


Tests passed OK
---

Subject: OK : Zope-2_6-branch Python-2.1.3 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:24:46 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002903.html

Subject: OK : Zope-2_6-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:26:16 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002904.html

Subject: OK : Zope-2_7-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:27:46 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002905.html

Subject: OK : Zope-2_7-branch Python-2.4.1 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:29:17 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002906.html

Subject: OK : Zope-2_8-branch Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:30:47 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002907.html

Subject: OK : Zope-2_8-branch Python-2.4.1 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:32:17 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002908.html

Subject: OK : Zope-trunk Python-2.3.5 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:33:47 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002909.html

Subject: OK : Zope-trunk Python-2.4.1 : Linux
From: Zope Unit Tests
Date: Mon Aug 22 22:35:17 EDT 2005
URL: http://mail.zope.org/pipermail/zope-tests/2005-August/002910.html

___
Zope-Coders mailing list
Zope-Coders@zope.org
http://mail.zope.org/mailman/listinfo/zope-coders


[Zope-dev] Re: New test runner work

2005-08-23 Thread Stuart Bishop
Jim Fulton wrote:

 I'll note that I'm working on a newer test runner that I hope to use
 in Zope 2.9 and 3.2.  The new test runner is a nearly complete rewrite to
 provide:
 
 - A more flexible test runner that can be used for a variety of projects.
   The current test runner has been forked for ZODB, Zope 3, and Zope 2.
   That's why the Zope 3 version has features that are lacking in the Zope 2
   version.
 
 - Support for layers of tests, so that it can handle unit tests and
   functional tests.
 
 - A slightly better UI.
 
 - Tests (of the test runner itself :)
 
 See:
 
 http://svn.zope.org/zope.testing/trunk/src/zope/testing/testrunner.txt?view=log
 
 http://svn.zope.org/zope.testing/trunk/src/zope/testing/testrunner.py?view=log

Hi Jim.

I've been looking over this - fixing tests seems to take up a significant
amount of our time, so I might have some interesting use cases.

A large proportion of our tests use a relational database. Some of them want
an empty database, some of them want just the schema created but no data,
some of them want the schema created and the data. Some of them need the
component architecture, and some of them don't. Some of them need one or
more twisted servers running, some of them don't.

Note that we mix and match. We have 4 different types of database fixture
(none, empty, schema, populated), 2 different types of database connection
mechanisms (psycopgda, psycopg), 2 types of CA fixture (none, loaded), and
(currently) 4 states of external daemons needed. If we were to arrange this
in layers, it would take 56 different layers, and this will double every
time we add a new daemon, or add more database templates (e.g. fat for lots
of sample data to go with the existing thin).

As a way of supporting this better, instead of specifying a layer a test
could specify the list of resources it needs:

import testresources as r

class FooTest(unittest.TestCase):
resources = [r.LaunchpadDb, r.Librarian, r.Component]
[...]

class BarTest(unittest.TestCase):
resources = [r.EmptyDb]

class BazTest(unittest.TestCase):
resources = [r.LaunchpadDb, r.Librarian]

The resources are pretty much identical to the current layers, in that
(after the test runner does some sorting fu), the run order can be optimized
to avoid setting up and tearing down resources unnecessarily. This would be
a big win for us - currently, we specify 'resources' by simply calling
various setup and teardown methods in the test case:

class FooTest(unittest.TestCase):
def setUp(self):
LaunchpadTestSetup().setUp()
LibrarianTestSetup().setUp()
FunctionalTestSetup().setUp()
def tearDown(self):
FunctionalTestSetup().tearDown()
LibrarianTestSetup().tearDown()
LaunchpadTestSetup().tearDown()

Some other nice things could be done with the resources:

- If the setUp raises NotImplementedError (or whatever), tests using this
resource are skipped (and reported as skipped). This nicely handles tests
that should only be run in particular environments (Win32, Internet
connection, python.net installed etc.)

- If the setUp raises another exception, all tests using this resource fail.
The common case we see is 'database in use', where PostgreSQL does not let
us destroy or use as a template a database that has open connections to it.
Also useful for general sanity checking of the environment - no point
running the tests if we know they are going to fail or have skewed results.

- A resource should have a pretest and posttest hooks. pretest is used for
lightweight resource specific initialization (e.g. setUp creates a fresh
database from a dump and pretest initializes the connection pool). posttest
can be used to ensure tests cleaned up properly or other housekeeping (e.g.
issuing a rollback). This could also apply to layers in the current
environment. This eliminates tedious boilerplate from testcases.

- A resource could provide useful data to the test runner. For example, if a
resource says it doesn't use or lock any shared system resources, the test
runner could decide to run tests in parallel. Although a less blue sky use
would be specifying a dependancy on another resource.

On another note, enforcing isolation of tests has been a continuous problem
for us. For example, a developer registering a utility or otherwise mucking
around with the global environment and forgetting to reset things in
tearDown. This goes unnoticed for a while, and other tests get written that
actually depend on this corruption. But at some point, the order the tests
are run changes for some reason and suddenly test 500 starts failing. It
turns out the global state has been screwed, and you have the fun task of
tracking down which of the proceeding 499 tests screwed it. I think this is
a use case for some sort of global posttest hook. Perhaps this would be best
done by allowing people to write wrappers around the one-true-testrunner?
This seems to be the simplest way of allowing 

[Zope-dev] Re: New test runner work

2005-08-23 Thread Jim Fulton

Stuart Bishop wrote:

Jim Fulton wrote:



I'll note that I'm working on a newer test runner that I hope to use
in Zope 2.9 and 3.2.  The new test runner is a nearly complete rewrite to
provide:

- A more flexible test runner that can be used for a variety of projects.
 The current test runner has been forked for ZODB, Zope 3, and Zope 2.
 That's why the Zope 3 version has features that are lacking in the Zope 2
 version.

- Support for layers of tests, so that it can handle unit tests and
 functional tests.

- A slightly better UI.

- Tests (of the test runner itself :)

See:

http://svn.zope.org/zope.testing/trunk/src/zope/testing/testrunner.txt?view=log

http://svn.zope.org/zope.testing/trunk/src/zope/testing/testrunner.py?view=log



Hi Jim.

I've been looking over this - fixing tests seems to take up a significant
amount of our time, so I might have some interesting use cases.

A large proportion of our tests use a relational database. Some of them want
an empty database, some of them want just the schema created but no data,
some of them want the schema created and the data. Some of them need the
component architecture, and some of them don't. Some of them need one or
more twisted servers running, some of them don't.

Note that we mix and match. We have 4 different types of database fixture
(none, empty, schema, populated), 2 different types of database connection
mechanisms (psycopgda, psycopg), 2 types of CA fixture (none, loaded), and
(currently) 4 states of external daemons needed. If we were to arrange this
in layers, it would take 56 different layers, and this will double every
time we add a new daemon, or add more database templates (e.g. fat for lots
of sample data to go with the existing thin).

As a way of supporting this better, instead of specifying a layer a test
could specify the list of resources it needs:

import testresources as r

class FooTest(unittest.TestCase):
resources = [r.LaunchpadDb, r.Librarian, r.Component]
[...]

class BarTest(unittest.TestCase):
resources = [r.EmptyDb]

class BazTest(unittest.TestCase):
resources = [r.LaunchpadDb, r.Librarian]



This is pretty much how layers work.  Layers can be arranged in
a DAG (much like a traditional multiple-inheritence class graph).
So, you can model each resource as a layer and specific combinations
of resources as layers.  The test runner will attempt to run the layers
in an order than minimizes set-up and tear-down of layers.

...


Some other nice things could be done with the resources:

- If the setUp raises NotImplementedError (or whatever), tests using this
resource are skipped (and reported as skipped). This nicely handles tests
that should only be run in particular environments (Win32, Internet
connection, python.net installed etc.)


That's a good idea.


- If the setUp raises another exception, all tests using this resource fail.
The common case we see is 'database in use', where PostgreSQL does not let
us destroy or use as a template a database that has open connections to it.
Also useful for general sanity checking of the environment - no point
running the tests if we know they are going to fail or have skewed results.


Good.


- A resource should have a pretest and posttest hooks. pretest is used for
lightweight resource specific initialization (e.g. setUp creates a fresh
database from a dump and pretest initializes the connection pool). posttest
can be used to ensure tests cleaned up properly or other housekeeping (e.g.
issuing a rollback). This could also apply to layers in the current
environment. This eliminates tedious boilerplate from testcases.


Ah, so the layer specifies additional per-test setUp and tearDown
that is used in addition to the tests's own setUp and tearDown.  This
sounds reasonable.


- A resource could provide useful data to the test runner. For example, if a
resource says it doesn't use or lock any shared system resources, the test
runner could decide to run tests in parallel.



Although a less blue sky use
would be specifying a dependancy on another resource.


This is handled by layers now. Layers have __bases__ -- layers are
build on other layers. That's why they are caled layers. :)


On another note, enforcing isolation of tests has been a continuous problem
for us. For example, a developer registering a utility or otherwise mucking
around with the global environment and forgetting to reset things in
tearDown. This goes unnoticed for a while, and other tests get written that
actually depend on this corruption. But at some point, the order the tests
are run changes for some reason and suddenly test 500 starts failing. It
turns out the global state has been screwed, and you have the fun task of
tracking down which of the proceeding 499 tests screwed it. I think this is
a use case for some sort of global posttest hook.


How so?

 Perhaps this would be best

done by allowing people to write wrappers around the one-true-testrunner?


or we could simply provide such a 

RE: [Zope-dev] Python 2.4 with zope 2.7.6, on Windows

2005-08-23 Thread Dieter Maurer
Aruna Kathiria wrote at 2005-8-22 10:27 -0700:
 ...
Dieter, do you remember what and where you had to fix?

Run Zope's test suite and see whether/where it breaks...

-- 
Dieter
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Subtransaction backward compatibility

2005-08-23 Thread Dieter Maurer
Subtransactions used to be used for two purposes:

  *  ensure that newly created objects get _p_ attributes
 (especially _p_jar and _p_oid)

  *  release memory in the mid of large transactions
 (i.e. reading and/or writing large amounts of objects)

With ZODB 3.4, subtransactions are implemented as savepoints.
They can still be used for the first purpose.
But, they no longer start cache garbage collection.

As a consequence, subtransactions/savepoints can be dropped
at places where only the second purpose has mattered, e.g.
in Zope's ZCatalog.


-- 
Dieter
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] RE: [ZODB-Dev] Subtransaction backward compatibility

2005-08-23 Thread Tim Peters
[Dieter Maurer]
 Subtransactions used to be used for two purposes:

   *  ensure that newly created objects get _p_ attributes
  (especially _p_jar and _p_oid)

   *  release memory in the mid of large transactions
  (i.e. reading and/or writing large amounts of objects)

 With ZODB 3.4, subtransactions are implemented as savepoints. They can
 still be used for the first purpose. But, they no longer start cache
 garbage collection.

 As a consequence, subtransactions/savepoints can be dropped at places
 where only the second purpose has mattered, e.g. in Zope's ZCatalog.

Over on zodb-dev, Jim (Fulton) confirmed that it was his intent that making
a savepoint would trigger cache gc.  It's a ZODB bug that it currently does
not; I'll fix that:

-Original Message-
From: [EMAIL PROTECTED] On behalf of Jim Fulton
Sent: Tuesday, August 23, 2005 2:53 PM
To: Tim Peters
Cc: zodb-dev@zope.org
Subject: Re: [ZODB-Dev] Subtransaction backward compatibility

...

Assuming that we no longer call incrgc, that would be an oversight.  When a
connection does a savepoint, it should also do an incrgc.

Note that applications that *really* want to reduce memory after a
savepoint may and often should make explicit cache-management calls
on the transaction.  This should still work.

Jim


-- 
Jim Fulton   mailto:[EMAIL PROTECTED]   Python Powered!
CTO  (540) 361-1714http://www.python.org
Zope Corporation http://www.zope.com   http://www.zope.org

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: ZServer response RFC compliance improvement

2005-08-23 Thread Jens Vagelpohl


On 22 Aug 2005, at 21:55, Michael Dunstan wrote:


On 8/22/05, Tres Seaver [EMAIL PROTECTED] wrote:

Are we sure that we won't be breaking the rather large possible  
set of

installed servers running behind Apache 1.3.x with the bug for which
adding the content length was a workaround?


I understand that this bug was resolved in Apache 1.3.27 [1]. Which is
a few years old now. And outdated by several security releases since
then.


From my reading of http://www.apacheweek.com/issues/02-10-04 this  
issue only existed in 1.3.26:



In 1.3.26, a null or all-blank Content-Length triggers an error  
although previous versions would silently ignore it and assume 0  
length. 1.3.27 restores this previous behaviour.



The other content-length-related issue actually seems to imply it is  
better to leave the header out of 304 responses, because Apache would  
mis-use the header and apply its value to cached content:



Some fixes to mod_proxy. The cache was incorrectly updating the  
Content-Length from 304 responses when doing validation. Also fix a  
problem where headers from other modules were added to the response  
headers when this was done in the core already.





Also OFS.Image been patched as of Zope 2.7.1 [2] in such a way that it
would have already tripped a combination of old-ish Apache and new-ish
Zope. Though ZServer was still throwing in a Content-Length: 0.
(Which I read as sufficient to provoke the bug in Apache  1.3.27.)


Yes, both issues mentioned above actually, from the way I read that  
text.


This setting could be manipulated via a zope.conf directive, but from  
the evidence it seems the maintenance/administrative annoyance of  
adding yet another knob for something that seems to carry no risk  
might not be worth it. I'd still plead for including it the way it is.


jens

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope] SQLConnectionIds

2005-08-23 Thread Nicholas Wieland
I'm working as admin, sorry for not mentioning it.
The same PageTemplate in the same folder, but not inside the product, works like a charm, same as SQLConnectionIDs inside the product, but as DTMLFile.

 ngw
		Yahoo! Mail: gratis 1GB per i messaggi, antispam, antivirus, POP3___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] SaneBrains 1.0.0 Released!

2005-08-23 Thread Chris Withers
SaneBrains patches ZCatalog's brain objects such that they don't 
unnecessarily catch exceptions.


The brain objects are patched such that:

- the getObject method never tries to catch any exceptions, it just uses 
a simple restrictedTraverse to turn the path stored in the ZCatalog into 
an object


- the _unrestrictedGetObject method never tries to catch any exceptions, 
it just uses a simple unrestrictedTraverse to turn the path stored in 
the ZCatalog into an object


As a bonus, this product also allows you to do the following from 
untrusted code (ie: Python Scripts):


  from zExceptions import Unauthorized

For more information, please see: 
http://www.simplistix.co.uk/software/zope/sanebrains


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] ZASync method calls

2005-08-23 Thread Jonathan


- Original Message - 
From: Jan-Ole Esleben [EMAIL PROTECTED]


I'm having a really complicated problem that I don't know how to put into
words properly, because I'm really vague on what's causing it and the
setup is highly involved; I would be _really_ glad if someone could help 
me

out with this:

I have a ZOPE instance (connected to a ZEO server) running a custom
method call wrapper that decides (based on the method's arguments) to
run a method asynchronously using zasync (as well as some other stuff that
I think isn't important in the context of my problem). All this has
been tested. For various
reasons, the method call's path is approximately as follows:

0. Method call using a generic Python method
1. Python code - resolves the method's location and name using ZOPE 
methods

2. Method dispatcher (called via ZOPE): dispatches synchronously or
asynchronously, using zasync, zope_exec and putSessionCall; the method
called is again a ZOPE method that calls the final method as another
ZOPE method

The apparent massive indirection cannot be avoided (for rather complicated
reasons). Everything is supposed to be highly generic.

My problem is this: if I use a test method that dispatches such an 
asynchronous

method that is supposed to change an instance variable (the class is
persistent) and run for ten seconds, then wait for fourteen seconds and 
see
if the method has run (check the instance variable) synchronously (while 
the

asynchronous method is supposed to work in the background), I find the
variable unchanged; further checks (using print statements) confirm that 
the
asynchronous method indeed doesn't run until my assertion fails, even if I 
give

it a lot of time.

If I disconnect both - run the long running method asynchronously, then 
run
(via ZOPE directly, not from within the same method call) a synchronous 
method
that waits for fourteen seconds and checks the variable, the asynchronous 
call

works just fine (even though both run alongsinde for a time).

It isn't the number of threads available to the zserver, I've increased 
that
and nothing has changed. Manual tests of asynchronous methods also don't 
show
anything wrong with my zasync setup. I can only assume that the 
asynchronous
method is _started_ only _after_ the caller has finished. Is there a 
reason for

that, and can I circumvent it? Or am I completely wrong and something else
isn't working?

I'm on Windows XP SP2, ZOPE 2.7.6, Python 2.3.5 with Twisted installed.



Is it possible that your asynchronous routine is not committing the 
transaction? ie. If zope considers the async routine to be part of the 
current 'session' then the variable the async routine is updating will not 
be changed until the current session is completed and zope commits the 
transaction (so any checks of the variable during the current session will 
not see any changes to the variable).


To see if this is the case you could add a get_transaction().commit() 
statement in your code after you change the variable's contents.


hth

Jonathan 



___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Failure to install PIL on a Linux server

2005-08-23 Thread Dominik Wezel

Hi all

I'm aware that PIL is not easy to install, primarily due to the
prerequisites.  I've studied and applied as well as possible
http://mail.zope.org/pipermail/zope/2002-December/128364.html and
http://www.zope.org/Members/regebro/PIL_zope/, both of which seem
slightly medieval: the setup and test processes are very different
today.  I didn't find any other information pertaining to my problem, so
I considered this posting.  I hope I'm on the right list here.



Setup
=
- debian 3.1 (sarge) on a UML (user mode linux) dedicated ZOPE instance
- /usr/src/Imaging-1.1.5 (from Imaging-1.1.5.tar.gz, 2005-03-28)
- /usr/src/freetype-2.1.10 (from freetype-2.1.10.tar.bz2, 2005-06-12)
- /usr/src/jpeg-6b (from jpegsrc.v6b.tar.gz, 2005-03-28)



Symptom
===
[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# python setup.py build_ext -i
|running build_ext
|
|PIL 1.1.5 BUILD SUMMARY
|
|version   1.1.5
|platform  linux2 2.3.5 (#1, Apr 22 2005, 15:12:06)
|  [GCC 3.3.5 (Debian 1:3.3.5-8)]
|
|*** TKINTER support not available
|--- JPEG support ok
|--- ZLIB (PNG/ZIP) support ok
|--- FREETYPE2 support ok
|
|To add a missing option, make sure you have the required
|library, and set the corresponding ROOT variable in the
|setup.py script.
|
|To check the build, run the selftest.py script.

[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# python selftest.py
|*
|Failure in example: _info(Image.open(Images/lena.jpg))
|from line #24 of selftest.testimage
|Exception raised:
|Traceback (most recent call last):
|  File ./doctest.py, line 499, in _run_examples_inner
|exec compile(source, string, single) in globs
|  File string, line 1, in ?
|  File ./selftest.py, line 21, in _info
|im.load()
|  File PIL/ImageFile.py, line 180, in load
|d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
|  File PIL/Image.py, line 328, in _getdecoder
|raise IOError(decoder %s not available % decoder_name)
|IOError: decoder jpeg not available
|1 items had failures:
|   1 of  55 in selftest.testimage
|***Test Failed*** 1 failures.
|*** 1 tests of 55 failed.

It looks like JPEG support is enabled, but still the selftest doesn't
find the decoder.


Additional Info
===

In /usr/src/Imaging-1.1.5/setup.py
# 
# Library pointers.
#
snip
FREETYPE_ROOT = /usr/local/lib
JPEG_ROOT = /usr/lib
TIFF_ROOT = None
ZLIB_ROOT = None
TCL_ROOT = None

[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# ls /usr/local/lib
|total 4168
|-rw-r--r--  1 root staff 2544356 Jun 27 18:08 libfreetype.a
|-rwxr-xr-x  1 root staff 824 Jun 27 18:08 libfreetype.la
|lrwxrwxrwx  1 root staff  20 Jun 27 18:08 libfreetype.so -
libfreetype.so.6.3.8
|lrwxrwxrwx  1 root staff  20 Jun 27 18:08 libfreetype.so.6 -
libfreetype.so.6.3.8
|-rwxr-xr-x  1 root staff 1546147 Jun 27 18:08 libfreetype.so.6.3.8
|-rw-r--r--  1 root staff  162324 Aug 23 09:37 libjpeg.a
|drwxr-sr-x  2 root staff  80 Jun 27 18:08 pkgconfig
|drwxrwsr-x  3 root staff  80 Jun 17 16:05 python2.3

[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# ls /usr/local/lib
|snip
|-rw-r--r--   1 root root 161160 Mar  2 13:26 libjpeg.a
|-rw-r--r--   1 root root802 Mar  2 13:26 libjpeg.la
|lrwxrwxrwx   1 root root 17 Aug 18 15:26 libjpeg.so -
libjpeg.so.62.0.0
|lrwxrwxrwx   1 root root 17 Jun 17 17:54 libjpeg.so.62 -
libjpeg.so.62.0.0
|-rwxr-xr-x   1 root root 140022 Jun 17 17:54 libjpeg.so.62.0.0
|snip

[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# ld -L/usr/lib -ljpeg -nostdlib
|ld: warning: libc.so.6, needed by /usr/lib/libjpeg.so, not found (try
|using -rpath or -rpath-link)
|ld: warning: cannot find entry symbol _start; not setting start address
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'
|/usr/lib/libjpeg.so: undefined reference to [EMAIL PROTECTED]'

[EMAIL PROTECTED]:/usr/src/Imaging-1.1.5# 

Re: [Zope] Failure to install PIL on a Linux server

2005-08-23 Thread Dominik Wezel

Tino,


apt-get install python2.3-imaging

ready.


Thanks anyway, but you probably didn't read the last section of my mail. 
 Unfortunately, I *have* to find a way to do it manually.
FYI: It has to do with the way I set up Zope and various other stuff 
around it.  Unfortunately, back then I needed a very upfront version of 
Zope as yet unavailable through the debian package system, so I chose to 
set it up manually; this led to the need for a particular python version 
not available through the debian package system, so I set it up 
manually.  Now the customer needs PIL on this manual setup.  Albeit I 
tried to apt-get it, it didn't integrate at all with the other stuff. 
Needlesds to say I don't want to setup another python version on the 
same server, as mass storage capacity *is* an issue here).


Doing it right just now would be a hazard to a running server; I'm going 
to wait for a necessary release change and then maybe set it up the 
debian way.


For now, I need to go the way manually (or rather by foot =:)

--

So long, Dominik

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: FW: [ZODB-Dev] python types question

2005-08-23 Thread Jürgen Herrmann
thanks tim! my mistake...

regards, juergen herrmann

[ Tim Peters wrote:]
 [fwd'ing private msg, since it appears to have been intended to
  go to the list]

 -Original Message-
 From: Jürgen Herrmann [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 23, 2005 7:31 AM
 To: Tim Peters
 Subject: RE: [ZODB-Dev] python types question

 hi!

 first of all, thanks to everybody who replied to my message.
 i experimented a bit with OOBTree and OOTreeSet. OOBTree is surely
 fine for the mapping part of what i need.
 But i think OOTreeSet doesn't fit as a replacement for PersistentList
 because i need the oids in the list to maintain their order. i want
 to be able to change the order of oids in the lists, too.

 any further hints what to use instead of OOTreeSet then?

 regards, juergen herrmann


 ___

 XLhost.de - eXperts in Linux hosting 

 Jürgen Herrmann
 Bruderwöhrdstraße 15b, DE-93051 Regensburg

 Fon:  +49 (0)700 XLHOSTDE [0700 95467833]
 Fax:  +49 (0)721 151 463027
 WEB:  http://www.XLhost.de

 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/

 ZODB-Dev mailing list  -  ZODB-Dev@zope.org
 http://mail.zope.org/mailman/listinfo/zodb-dev



___

 XLhost.de - eXperts in Linux hosting 

Jürgen Herrmann
Bruderwöhrdstraße 15b, DE-93051 Regensburg

Fon:  +49 (0)700 XLHOSTDE [0700 95467833]
Fax:  +49 (0)721 151 463027
WEB:  http://www.XLhost.de
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: manage_afterAdd quirks

2005-08-23 Thread Derrick Hudson
On Fri, Aug 19, 2005 at 01:25:22AM +0200, Philip Jägenstedt wrote:
| Hello!
| 
| I'm trying to write a small filesystems based product which I'm calling
| MovieWorld. The main class (MovieWorld) inherits from ObjectManager and
| is to be configured to contain a folder with images and a index_html
| page template (so that it can be edited via ZMI if needed).

Note that your object does not need to contain an index_html object in
order to be edited in the ZMI.  In your MovieWorld class, put the
following:

manage_options = OFS.Folder.Folder.manage_options

(be sure to 'import OFS' earlier in the module)


The manage_options object in the class defines what tabs will be shown
in the ZMI and what method to call when the admin clicks on the tab.

HTH,
-D

-- 
Your beauty should not come from outward adornment, such as braided hair
and the wearing of gold jewelry and fine clothes.  Instead, it should be
that of your inner self, the unfading beauty of a gentle and quiet
spirit, which is of GREAT WORTH in God's sight.  For this is the way the
holy women of the past used to make themselves beautiful.
I Peter 3:3-5
 
www: http://dman13.dyndns.org/~dman/jabber: [EMAIL PROTECTED]


signature.asc
Description: Digital signature
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Failure to install PIL on a Linux server

2005-08-23 Thread Tino Wildenhain

Dominik Wezel schrieb:

Tino,


apt-get install python2.3-imaging

ready.



Thanks anyway, but you probably didn't read the last section of my mail. 
 Unfortunately, I *have* to find a way to do it manually.
FYI: It has to do with the way I set up Zope and various other stuff 
around it.  Unfortunately, back then I needed a very upfront version of 
Zope as yet unavailable through the debian package system, so I chose to 
set it up manually; this led to the need for a particular python version 
not available through the debian package system, so I set it up 
manually.  Now the customer needs PIL on this manual setup.  Albeit I 
tried to apt-get it, it didn't integrate at all with the other stuff. 
Needlesds to say I don't want to setup another python version on the 
same server, as mass storage capacity *is* an issue here).


Hm. You can perfectly run a source build of Zope on package-python
from debian. Testing has 2.3.5-6, which is perfectly usable.

Thats why I'm using debian too - to save me from all the hassle with
source depencies while using source where I really want it :-)

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Failure to install PIL on a Linux server

2005-08-23 Thread Tino Wildenhain

Tino Wildenhain schrieb:

Dominik Wezel schrieb:


Tino,


apt-get install python2.3-imaging

ready.




Thanks anyway, but you probably didn't read the last section of my 
mail.  Unfortunately, I *have* to find a way to do it manually.
FYI: It has to do with the way I set up Zope and various other stuff 
around it.  Unfortunately, back then I needed a very upfront version 
of Zope as yet unavailable through the debian package system, so I 
chose to set it up manually; this led to the need for a particular 
python version not available through the debian package system, so I 
set it up manually.  Now the customer needs PIL on this manual setup.  
Albeit I tried to apt-get it, it didn't integrate at all with the 
other stuff. Needlesds to say I don't want to setup another python 
version on the same server, as mass storage capacity *is* an issue here).



Hm. You can perfectly run a source build of Zope on package-python
from debian. Testing has 2.3.5-6, which is perfectly usable.


Ah and stable has 2.3.5 too. Btw.
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Re: FW: [ZODB-Dev] python types question

2005-08-23 Thread Jürgen Herrmann
oh my goodness, today is not my day.
this should go to the zodb-dev list,  plz ignore!

[ Jürgen Herrmann wrote:]
 thanks tim! my mistake...

 regards, juergen herrmann

 [ Tim Peters wrote:]
 [fwd'ing private msg, since it appears to have been intended to
  go to the list]

 -Original Message-
 From: Jürgen Herrmann [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 23, 2005 7:31 AM
 To: Tim Peters
 Subject: RE: [ZODB-Dev] python types question

 hi!

 first of all, thanks to everybody who replied to my message.
 i experimented a bit with OOBTree and OOTreeSet. OOBTree is surely
 fine for the mapping part of what i need.
 But i think OOTreeSet doesn't fit as a replacement for PersistentList
 because i need the oids in the list to maintain their order. i want
 to be able to change the order of oids in the lists, too.

 any further hints what to use instead of OOTreeSet then?

 regards, juergen herrmann


 ___

 XLhost.de - eXperts in Linux hosting 

 Jürgen Herrmann
 Bruderwöhrdstraße 15b, DE-93051 Regensburg

 Fon:  +49 (0)700 XLHOSTDE [0700 95467833]
 Fax:  +49 (0)721 151 463027
 WEB:  http://www.XLhost.de

 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/

 ZODB-Dev mailing list  -  ZODB-Dev@zope.org
 http://mail.zope.org/mailman/listinfo/zodb-dev



 ___

 XLhost.de - eXperts in Linux hosting 

 Jürgen Herrmann
 Bruderwöhrdstraße 15b, DE-93051 Regensburg

 Fon:  +49 (0)700 XLHOSTDE [0700 95467833]
 Fax:  +49 (0)721 151 463027
 WEB:  http://www.XLhost.de
 ___
 Zope maillist  -  Zope@zope.org
 http://mail.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://mail.zope.org/mailman/listinfo/zope-announce
  http://mail.zope.org/mailman/listinfo/zope-dev )



___

 XLhost.de - eXperts in Linux hosting 

Jürgen Herrmann
Bruderwöhrdstraße 15b, DE-93051 Regensburg

Fon:  +49 (0)700 XLHOSTDE [0700 95467833]
Fax:  +49 (0)721 151 463027
WEB:  http://www.XLhost.de
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] problem with adding an external method

2005-08-23 Thread Scott Mann

Hi All,

Sorry in advance for this newbie question. I've searched the archives and while 
I have learned a few things and tried a few things, I still have the same 
problem.

I am attempting to add the external python module nb_fetch Doing so returns 
the error message:

Module /data/zope/testbed/initialzope/Extensions/nb_fetch.py, line 3, in ?

 ImportError: No module named nb_parse

where nb_parse is imported by nb_fetch. I have tried adding __init__.py into 
the Extensions directory. I have also made a number of attempts at adding 
directories to the PYTHONPATH, but no success. I have even put the imported 
modules (nb_parse, etc) into the lib/python subdirectory of the zope directory. 
Also, I restart zope every time I make a change. Any ideas?

TIA
Scott
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Workflow question

2005-08-23 Thread Dieter Maurer
David Pratt wrote at 2005-8-22 15:12 -0300:
 ...
 # Using default put method from NullResource
 def _default_PUT_factory( self, name, typ, body ):
 ...
 def PUT(self, REQUEST, RESPONSE):
 ...

 Why do you override these methods as apparently, you do not use
 them...

I guess my thought it that I want everything to happen normally with 
the PUT except no object creation

One reason more, not to override methods.

Note, that the PUT usually used it that of the
webdav.Resource.NullResource and *NOT* the one of the container.
As you no longer create an auxiliary object (such as NullResource)
but directly call a function PUT in your __bobo_traverse__,
the change behaviour should got into this PUT function
and not the PUT method of the container.

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] SaneBrains 1.0.0 Released!

2005-08-23 Thread Dieter Maurer
Chris Withers wrote at 2005-8-23 10:49 +0100:
SaneBrains patches ZCatalog's brain objects such that they don't 
unnecessarily catch exceptions.

The brain objects are patched such that:

- the getObject method never tries to catch any exceptions, it just uses 
a simple restrictedTraverse to turn the path stored in the ZCatalog into 
an object

Sad that the long discussion could not convince you
that restrictedTraverse is not the correct approach...

-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] problem with adding an external method

2005-08-23 Thread Jonathan


- Original Message - 
From: Scott Mann [EMAIL PROTECTED]
Sorry in advance for this newbie question. I've searched the archives and 
while I have learned a few things and tried a few things, I still have the 
same problem.


I am attempting to add the external python module nb_fetch Doing so 
returns the error message:


   Module /data/zope/testbed/initialzope/Extensions/nb_fetch.py, line 3, 
in ?


ImportError: No module named nb_parse

where nb_parse is imported by nb_fetch. I have tried adding __init__.py 
into the Extensions directory. I have also made a number of attempts at 
adding directories to the PYTHONPATH, but no success. I have even put the 
imported modules (nb_parse, etc) into the lib/python subdirectory of the 
zope directory. Also, I restart zope every time I make a change. Any 
ideas?


Zope is unable to add the external method because there is a python error 
('No module named nb_parse') which stops zope from loading the external 
method.  Two possible fixes:


1) set your path to include the directory where nb_parse.py lives.
eg.
   import sys
   sys.path.append('/apps/zope/lib/python/mypythonroutines')

Also, make sure the group/ownership of the directory and python routine 
files allow zope to access them.


2) try 'hardcoding' the nb_parse routine within nb_fetch.py.   If this 
works, then your problem is definitely related to pythonpath not being set 
up (or zope can't access the directories/files in the path).


hth

Jonathan



___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] [ANN] iungo released to the wild...

2005-08-23 Thread Maik Jablonski

Hi to all,

today I decided to release iungo to the world-wild-world... iungo was 
already announced at the German Zope User Group (DZUG) some weeks ago, 
but today I started and finished translating most of the docs to english 
for a broader audience. The tutorial is still missing, but I'll do this 
in the next days too.



What is iungo?
--
Based on the web-application-server Zope iungo provides a solid system 
to build up object-oriented web-databases, easy-to-use-wikis, content-, 
document- and knowledge-management-systems. iungo targets users and 
developers, who trust in the Keep it simple-philosophy and want to 
maintain control over their work. iungo tries to connect people with 
information.



Features?
-
- Strict separation of content and application: your content can be 
moved between different zope-instances and iungo-versions without the 
fear of breaking anything.


- Folderish-Content: In the web all entities are links, not folders, 
documents or files... no more headaches for users what content-type to 
use... in the default iungo-install there's only one for all...;)


- Placeless-Content: All objects have a unique id (autogenerated per 
default) and can be moved around within the repository without breaking 
any links between objects.


- KISS (Keep it simple stupid): It's easy to develop a custom layout 
with a basic knowledge of DTML or ZPT.


- Expandable: Create new content-types for webdatabases with some clicks 
in the ZMI.



Where can I find more info about iungo?
---
http://www.iungo.org/


If you have questions, feel free to ask me:
[EMAIL PROTECTED]

Keep zoped,

Maik

___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )