[Zope-dev] ZPatterns transaction bug

2000-08-27 Thread Steve Alexander

I have a trigger that is a datamanager-plugin for a Customizer folder.
The trigger listens to ADD events.

If the trigger rasies an exception as it is notified that a new DataSkin
object is being added beneath the customizer folder, I get a ZODB error:

2000-08-27T09:25:38 ERROR(200) ZODB Couldn't load state for
'\000\000\000\000\000\000*\336'
Traceback (innermost last):
  File /usr/local/zope/SiteBox/lib/python/ZODB/Connection.py, line 442,
in setstate
  File /usr/local/zope/SiteBox/lib/python/ZODB/FileStorage.py, line 587,
in load
(Object: /usr/local/zope/SiteBox/var/Data.fs)
  File /usr/local/zope/SiteBox/lib/python/ZODB/FileStorage.py, line 563,
in _load
(Object: /usr/local/zope/SiteBox/var/Data.fs)
KeyError: *Þ

Sometimes I get slightly different errors, where Zope refuses to commit
any more transactions.

Zope 2.2.1, ZPatterns 0-4-1snap1 with the DataSkins patch I posted a few
minutes ago.

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net

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




Re: [Zope-dev] LoginManager.

2000-08-27 Thread Terje Malmedal


[Phillip J Eby]
 def retreiveItem(self, name):
 self.f.write('Creating object for %s\n' % name)
 return USER(name)

 Your retrieveItem isn't checking to see if the user exists.  Also, you
 spelled it "retreive" when the correct spelling is "retrieve".

Yep, as soon as I noticed the misspelling I was able to figure out
what went on. So I've got a working usersource now. Thankyou.


-- 
 - Terje
[EMAIL PROTECTED]

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




Re: [Zope-dev] Porting EMarket to ZPatterns....

2000-08-27 Thread Steve Spicklemire


Thanks Phillip!

OK. that helped a lot. The problem is that when things don't work
as I expect.. I guess (usually with a high degree of success)
that I am off base. Now I've just been experimenting with
this in a simpler 'dtml-only' way just to clarify how it's 
supposed to work.

I created a simple ZClass with no ZClass based propertysheets.
(The ZClass is called MyTestSkin, subclass of DataSkin)

I created a specialists that manages instances of this ZClass.
(The specialist is called myTest)

I set up the default rack of myTest with a PlugIn SheetProvider
with "SheetNames" set to "ShopperData".

Based on your last email the addShopper method in 'myTest' looks like this:

dtml-var standard_html_header
h2dtml-var title_or_id dtml-var document_title/h2
dtml-let newObj="newItem(REQUEST['id'])"
dtml-if "newObj.propertysheets.manage_addPropertySheet(id='ShopperData',ns='')"
dtml-let newPPS="newObj.propertysheets.get('ShopperData')"
dtml-call "newPPS.manage_addProperty(id='email',type='string',value='')"
dtml-call "newPPS.manage_addProperty(id='passwd',type='string',value='')"
dtml-call "newPPS.manage_addProperty(id='address',type='string',value='')"
dtml-call "newPPS.manage_changeProperties(REQUEST)"
New Shopper Added!
form action="dtml-var "myTest.absolute_url()""
input type=submit value="OK!"
/form

/dtml-let
dtml-else
Cannot add property sheet.
/dtml-if
/dtml-let
dtml-var standard_html_footer

It seems to work OK. Now.. the index_html for my ZClass wants to look 
like this:

dtml-var standard_html_header
h2dtml-var title_or_id dtml-var document_title/h2
p
email: dtml-var "email"br
address: dtml-var "address"br
/p
/dtml-let
dtml-var standard_html_footer

But I get 'KeyError" on any attribute. I guess I thought that 
the SheetProvider would kick in when a request was made for 'email'
and automagically search the instances propertysheets for an
attribute that matched. The following did work however:

dtml-var standard_html_header
h2dtml-var title_or_id dtml-var document_title/h2
dtml-let myPPS="propertysheets.get('ShopperData')"
p
email: dtml-var "myPPS.getProperty('email')"
address: dtml-var "myPPS.getProperty('address')"
/p
/dtml-let
dtml-var standard_html_footer


This doesn't seem quite right to me... when I use a GenericAttributeProvider
that talks to a database... I can just say dtml-var foo and it works.
I'm sure I'm still not getting something... but I don't know what. I can look
at:

/myTest/a/propertysheets/ShopperData/manage

and it allows me to edit the instance's property sheet through
the web.. I was hoping (and maybe this is really really just
wrong...) that there was some 'central' propertsheet that could
be modified and thereby give all instances new properties.. sorta
like ZClass property sheets... 

Anyway.. I'm now off to try SkinScripts with these test cases...

thanks!
-steve


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




[Zope-dev] Bug in error logging in Catalog

2000-08-27 Thread Steve Alexander

Zope 2.2.1, lib/python/Products/ZCatalog/Catalog.py

When there is an error uncataloging an object, uncatalogObject()
attempts to log the fact with this line:

LOG('Catalog', ERROR, ('uncatalogObject unsuccessfully '
   'attempted to uncatalog an object '
   'with a uid of %s. ' % uid))

However, if uncatalogObject has been passed a tuple, the error logging
will fail with "TypeError Error Value: not all arguments converted".

The fix is to change the line to:

LOG('Catalog', ERROR, ('uncatalogObject unsuccessfully '
   'attempted to uncatalog an object '
   'with a uid of %s. ' % `uid`))

or, to fit with the rest of the calls to LOG in Catalog.py:

LOG('Catalog', ERROR, ('uncatalogObject unsuccessfully '
   'attempted to uncatalog an object '
   'with a uid of %s. ' % str(uid)))


--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net

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




Re: [Zope-dev] bug in CatalogAwareness?

2000-08-27 Thread Steve Alexander

Shane Hathaway wrote:

 
 I was suspicious of the entire method so I wrote a replacement which is
 based on a new interface available in Zope.  I *think* it's correct,
 but it's a drastic change so it's only in the new PTK and nowhere
 else.  (This is slightly modified from PTK CVS.)
 
 def __url(self):
 return string.join(self.getPhysicalPath(), '/')

The implementation of url() in CatalogAwareness.py in Zope 2.2.1 seems 
to ensure that there is a '/' at the start of the url that is given to 
the ZCatalog. I don't know how important that really is, though.

Perhaps your method should be changed to this:

def __url(self):
return '/'+string.join(self.getPhysicalPath(), '/')

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net


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




[Zope-dev] New method for ZCatalog: recatalog_object

2000-08-27 Thread Steve Alexander

ZCatalog would be easier to use if it had a recatalog_object method:

def recatalog_object(self, obj, uid):
"""Adds object to the catalog if not already present.
Removes old entry first, if already in present."""
self.uncatalog_object(uid)
self.catalog_object(obj, uid)

This, and a new method in Traverable.py would make cataloging in
ZPatterns SkinScript very easy indeed.

Add to Traversable.py:

getPathAsString__roles__=None # Public
def getPathAsString(self):
   '''Returns the physical path as a string.
   The returned string will always start with a slash.'''
   return join(self.getPhysicalPath(), '/')


Otherwise, ZCatalog could be altered to accept lists of strings as uid
method attributes, and automatically convert them into slash-separated
strings.

Example SkinScript:

WHEN OBJECT ADDED, CHANGED CALL Catalog.recatalog_object(self,
self.getPathAsString())
WHEN OBJECT DELETED CALL
Catalog.uncatalog_object(self.getPathAsString())

Any comments?

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net

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




Re: [Zope-dev] ZPatterns bug with patch

2000-08-27 Thread Phillip J. Eby

At 10:22 AM 8/27/00 +0100, Steve Alexander wrote:

I've fixed this by adding a test to the start of __set_attr__ of
DataSkins.py:

def __set_attr__(self,name,val,_v_dm_=_v_dm_):
+   if name=='id' and val==self.__dict__['id']:
+   return
dm = self.__dict__[_v_dm_]

This looks reasonable, and backward-compatible, since __init__ guarantees
the dict will have an id.  I'm not thrilled with adding more overhead to
attribute setting, however, so I'll probably do it like this:

try:
dm = self.__dict__[_v_dm_]
except KeyError:
if name=='id' and val==self.__dict__['id']: return
raise

Hopefully this should only perform the extra computations when the first
part fails...


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




Re: [Zope-dev] Compatibility issues: ZPatterns 0.4.2,LoginManager 0.9.0

2000-08-27 Thread Phillip J. Eby

At 11:04 AM 8/27/00 +0100, Steve Alexander wrote:

I have been putting CatalogTriggers as DataManagers directly in
Specialists.


And this *works*???  None of the "Acquired ... Provider" classes supported
forwarding to an acquired trigger, as far as I can recall.  The fact that
it's so bloody awkward to forward to acquired providers is part of why I
think they should be dropped.

Hmm...  looking at source code...  aha!  Okay, so "Link to Parent Data
Plug-ins" provides linking to triggers.  I'd forgotten about that,
obviously.  Dang.


This seems to me the obvious place to do some triggering action that
applies over all the Specialist's racks, but which has nothing to do
with storage.

Yes, it is.  But it also adds to new user confusion, and leads to a bunch
of otherwise-unnecessary code complication.  In particular, Specialist
wouldn't need to be a DataManager when it's really only a PlugInContainer.


I don't yet use SkinScript. However, I imagine there are a number of
uses for Triggers that apply at the level of abstraction of a
Specialist.

Would it be an undue hardship to copy these into all the relevant racks or
customizers, until there is a feature to allow inclusion from another rack
or customizer?


Please think about keeping the feature, if it doesn't make things too
complicated.

Basically, the problem is that I am trying to decouple delegation
interfaces from the ZPatterns core.  That is, I'm trying to make it such
that DataManagers don't have to know about all the possible things that can
be delegated to Data Plug-ins.  That way, as additional plug-in
capabilities are added, such as content providers and local role providers,
the DataManager class doesn't change, since it's just an intermediary for
*finding* those providers, and giving dataskins certain persistence-related
services.

Unfortunately, using items that link to acquired providers with any kind of
filtering means that the link itself must provide some form of the
interface which is being delegated, which means that the link must know
about all possible interfaces.  :(

Now, I can provide *unfiltered* linkage by direct delegation, but this
would mean dropping the ability to selectively take only certain attributes
or sheets from the parent.  But I suppose that, compared to dropping the
capability to acquire altogether, this might be preferable.

Hmmm.  Let me think about this.


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




[Zope-dev] keeping state of tree over different documents

2000-08-27 Thread Marcus Schopen

Hello,

I'm trying to do the following:

- documents containing a tree navigation are created dynamically using standard_header 
and footer.
- the navigation tree is NOT located in a frame but in a table cell which is reloaded 
together with the rest of the page each time a link in that navigation is selected
- the navigation tree is automatically created by using a dtml-method.

The problem that occurs is, that the tree`s open/close state is not correctly 
maintained over the different documents. A solution to that might be to append the 
state of the tree after selection of a link to the it's URL as ?tree-s= ; that 
means pass the future state of the tree to the selected page by using URL-Parameters.

Any ideas how to do that or any other ideas?

Thank you
Marcus



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




Re: [Zope-dev] Compatibility issues: ZPatterns 0.4.2,LoginManager 0.9.0

2000-08-27 Thread Steve Alexander

Phillip J. Eby wrote:


 Would it be an undue hardship to copy these into all the relevant racks or
 customizers, until there is a feature to allow inclusion from another rack
 or customizer?

Not at all. :-)


 Now, I can provide *unfiltered* linkage by direct delegation, but this
 would mean dropping the ability to selectively take only certain attributes
 or sheets from the parent.  But I suppose that, compared to dropping the
 capability to acquire altogether, this might be preferable.

This sounds fine for my use of Triggers that apply across everything 
that a Specialist manages.

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net


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




Re: [Zope-dev] New method for ZCatalog: recatalog_object

2000-08-27 Thread R. David Murray

 ZCatalog would be easier to use if it had a recatalog_object method:
 
 def recatalog_object(self, obj, uid):
 """Adds object to the catalog if not already present.
 Removes old entry first, if already in present."""
 self.uncatalog_object(uid)
 self.catalog_object(obj, uid)
[...]
 Any comments?

Well, from the fact that in CatalogAwareness.py the method "reindex_object",
which essentially does the equivalent of what you want but for CatalogAware
objects, is prefaced by the comment "Suprisingly useful", I'd say
you are on the right track...

--RDM


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




[Zope] wherefore art thou NotMail?

2000-08-27 Thread tav

i was going to make use of the Bank Holiday weekend by trying out some zope
products that i havent had time to play with... and NotMail was high on my
list.

i managed to install the IMAP server that it needed and went to get the
tarball, and it has gone missing from the zope.org site ;p

can someone please direct me to where i might find this elusive product.
thanks

--
best regards, tav


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] Running Zope 2.2.1 as NT service

2000-08-27 Thread Alexander Chelnokov

Hello zope,

The option seems to be unavailable under W2000. 2.1.6 could be run that
way without any trouble.

Best regards,
 Alexander N. Chelnokov
Ural Scientific Institute of Traumatology and Orthopaedics
str.Bankovsky, 7. Ekaterinburg 620014 Russia 
ICQ: 25640913



___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] wherefore art thou NotMail?

2000-08-27 Thread Ben Leslie

Hi tav!

On Sun, 27 Aug 2000, tav wrote:

 i was going to make use of the Bank Holiday weekend by trying out some zope
 products that i havent had time to play with... and NotMail was high on my
 list.
 
 i managed to install the IMAP server that it needed and went to get the
 tarball, and it has gone missing from the zope.org site ;p
 
 can someone please direct me to where i might find this elusive product.
 thanks


The original thing should be there somewhere. i was working on something
oname NotMail2 (yeah I'm not exactly imaginative), which worked to some
degree, it should still be on zope under my member area (Benno, or benno
I think). 

I got swamped by other work and never finished debugging it and then 
something else called WorldPilot ?? or something came out, which does the
same basically the same thing.

If you still really want to use NotMail and can't find it on the zope
website email me and I can send you a tar ball.

Benno

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] is dtml-unless someIndirectVariable possible ?

2000-08-27 Thread Rik Hoekstra


I have a lot of REQUEST like this one to check, depending on what
documents are in the folder.

dtml-unless SOMEREQ
dtml-call "REQUEST.set('SOMEREQ','defaultvalue')"
/dtml-unless


RH: this should work. It works with me

so i gave all documents concerned 2 properties
myPropName,myPropValue

(in our example
myPropName : SOMEREQ
myPropValue : defaultvalue)

So i'm able to iterate the documents and check the properties and
set the REQUEST.

dtml-in "objectValues(['DTML Document'])"
dtml-if "_.hasattr(this(), 'myPropName') == 1"
  dtml-call "REQUEST.set(myPropName,myPropValue)"
/dtml-if
/dtml-in

this works OK.

But, I can't find a way to generate the
dtml-unless SOMEREQ tag.

Passing the value of myPropName seems to fail (erreur while
parsing the syntax, or check the 'myPropName' instead of his
value).
I tried a lot of things and syntax around dtml-unless
myPropName, but it failed.

RH: Um, as you describe it, you mix up the name of the  property and its
value (but that might be a matter of desciption). Try something like the
following
dtml-unless "myPropName==SOMEREQ"
dtml-call "REQUEST.set('myPropName', defaultvalue)"
/dtml-unless

note that 1) this will only work if there is a myPropName and a defaultvalue
variable in the namespace and 2) this won't change the value of the property

hth

Rik


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Barcodes, magnetic cards, etc.

2000-08-27 Thread Jan H. Haul

On Wed, 23 Aug 2000, Erik Enge wrote:
 
  And, by the way, do you know if there exist a magnetic card scanner
  that plugs in to the PS/2?  And if yes, which information would get
  from such a card?  Just a number, or are there other possibilities?
 
 [Curtis Maloney]

 What is on the card is, strangely enough, what is on the card.  Magstripe
 readers commonly interface to ps/2 keyboard ports via a 'chok' or 'wedge',
 which just plugs inline with your regular keyboard.

Several vendors (afair, Keytronic and Cherry at least) make
keyboards with integrated magnetic or smart card readers, both in
regular PS/2 format as well as smaller keyboards for the POS
(cash register) market.
In effect, these keyboards behave such that when you swipe a
card, the contents of the selected track (magnetic cards usually
have three tracks, see the relevant ISO standards for details) is
"typed". Often, the magnetic card data is prefixed by an
identifier, but that's about it. If you swipe a card (or scan a
barcode with your keyboard-attached barcode reader) while in a
text editor, you'll see what the reader "types" just as if the
user typed it.

Most of the barcodes are standardized, albeit by different
standards bodies. UPC, EAN and such are used on food cans and the
like. 2 of 5 and similar are used for various purposes, e.g.,
labelling sample bottles for medical labs so you are not treated
for that other person's ailments...

Use your favorite search engine on bar codes and magnetic cards.
This is not really a Zope issue, as Zope never notices that the
article ID or whatsnot was scanned, not typed.

Jan

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] is dtml-unless someIndirectVariable possible ?

2000-08-27 Thread Didier Georgieff

On 27 Aug 2000, at 11:49, Rik Hoekstra [EMAIL PROTECTED] (Rik Hoekstra) wrote:

 RH: Um, as you describe it, you mix up the name of the 
 property and its value 
 Try something like the following
 dtml-unless "myPropName==SOMEREQ"
 dtml-call "REQUEST.set('myPropName', defaultvalue)"
 /dtml-unless

 note that 1) this will only work if there is a myPropName and a defaultvalue
 variable in the namespace and 2) this won't change the value of the property

Well, i was not clear.

In 
dtml-unless SOMEREQ
 dtml-call "REQUEST.set('SOMEREQ','defaultvalue')"
/dtml-unless
the problem is SOMEREQ is *hard* coded in the DTML document.

I need to have EXACTLY the same behaviour (checking if 
SOMEREQ is in the REQUEST, and set it.

If i use a property (PropName) for putting the name of what i want 
to check (SOMEREQ in my case), only the REQUEST.set works.

the dtml-unless is checking for PropName in the REQUESt and 
NOT *value* of PropName

So in your example, SOMEREQ is *still* hard coded. From what i 
understood.

 (but that might be a matter of desciption). 
Sorry, but as you already guess it, Zope is not my native language 
and English either ;-
So thanks for trying to understand MY english ;-

Didier.

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] is dtml-unless someIndirectVariable possible ?

2000-08-27 Thread Bill Welch

Try

dtml-unless "_['myPropName']"






___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Sub Class Question

2000-08-27 Thread R. David Murray

On Sat, 26 Aug 2000, Loren Stafford wrote:
   def index_object(self):
 if self.nextEventTime() is not None:
 CatalogAware.index_object.im_func(self)
 # see Python Reference Manual "The standard type hierarchy"
 # for the built-in type im_func

I realize this is a Python and a not a Zope question, but
what is the difference between

  CatalogAware.index_object.im_func(self)

and

  CatalogAware.index_object(self)

?

--RDM


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] Calling list.remove() bug

2000-08-27 Thread Tim Cook


Platform information:

Zope version: Zope 2.2.1b1 (binary release, python 1.5.2,
linux2-x86) 
Python version: 1.5.2 (#10, Dec 6 1999, 12:16:27) [GCC 2.7.2.3] 
System Platform: linux2 

-

Notice in add_weekly the dtml-call day_list.
It does nothing but with out it I get this traceback:

   Zope Error

   Zope has encountered an error while publishing
this resource. 

   Error Type: AttributeError
   Error Value: __getitem__

 
Traceback (innermost last):
  File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line
222, in publish_module
  File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line
187, in publish
  File /usr/local/zope/2.2/lib/python/Zope/__init__.py, line 221,
in zpublisher_exception_hook
(Object: Traversable)
  File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line
171, in publish
  File /usr/local/zope/2.2/lib/python/ZPublisher/mapply.py, line
160, in mapply
(Object: add_weekly)
  File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line
112, in call_object
(Object: add_weekly)
  File /usr/local/zope/2.2/lib/python/OFS/DTMLMethod.py, line
172, in __call__
(Object: add_weekly)
  File
/usr/local/zope/2.2/lib/python/DocumentTemplate/DT_String.py,
line 502, in __call__
(Object: add_weekly)
  File /usr/local/zope/2.2/lib/python/DocumentTemplate/DT_In.py,
line 691, in renderwob
(Object: done_list)
  File
/usr/local/zope/2.2/lib/python/DocumentTemplate/DT_Util.py, line
337, in eval
(Object: _['sequence-item'] in day_list)
(Info: day_list)
  File string, line 0, in ?
AttributeError: (see above)





--
DTML METHOD: period_begin
Selects a set of dates in the past 41 days that are either the
first day of the month or a Sunday. Returns the list.

dtml-call "REQUEST.set('first_day', ZopeTime() )"
dtml-call "REQUEST.set('to_day', ZopeTime() )"
dtml-call "REQUEST.set('day_list', [])"

  dtml-in "_.range(0,40)"
dtml-call "REQUEST.set('rpt_date', first_day -
_['sequence-item'])"

 dtml-if "rpt_date.lessThanEqualTo( to_day )"
   dtml-if "(rpt_date.day()==1) or rpt_date.dow()==0"
  dtml-call "day_list.append(rpt_date.strftime('%Y / %m
/ %d'))"
   /dtml-if
 /dtml-if

  /dtml-in

dtml-return day_list

---
DTML METHOD: add_weekly
Input form to report weekly activities. 


dtml-call "REQUEST.set('day_list', period_begin)"
dtml-call "REQUEST.set('done_list', [])"

dtml-in "objectValues(['DTML Document'])"
  dtml-if "doc_type == 'weekly'"
 dtml-call "done_list.append(week_begin.strftime('%Y / %m /
%d'))"
  /dtml-if
/dtml-in

dtml-call day_list


dtml-in done_list
   dtml-if "_['sequence-item'] in day_list"
 dtml-call "day_list.remove(_['sequence-item'])"
   /dtml-if
/dtml-in


more code here that uses day_list in a SELECT/SELECT and
takes more form input.
...


Is this a bug or should I clean up my code??? s


-- Tim Cook --
FreePM Project Coordinator http://www.freepm.org
OS Health Care Alliance Supporter http://www.oshca.org

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] How to get URL of folder (name unknown) with a certain property?

2000-08-27 Thread Tim Hicks

I am trying to figure out how to get hold of the URL (using
absolute_url I presume) of a folder with a property called
"sehs_root_folder" set to "yes".  I do not know what the name of this
folder is, so I am finding it difficult to use the hasattr function,
and I don't have any way of knowing where abouts in the document tree
the folder is (except that it must be a 'parent' folder of the one
that contains the dtml-method that I am running the code from).

Does that make any sense?  I'm finding it difficult to even express my
question, so searching the mailing list archives is proving fruitless.

I'd appreciate any pointers

tim

ps.  The reason I'm trying to do this is to make my site more
portable.  I would like to be able to change servers and/or folder
names on my server without damaging all the links and addresses to
images/files on the site.  As such, everywhere that I have any sort of
link/address on the site, I currently use the following:

dtml-var path/address/to/whatever/

dtml-var path is a method that resides in the 'root' folder of the
site, and in it, I put the current appropriate path for the site.
However, I would like to make this method automatically figure out the
appropriate path.  Therefore, I gave the 'root folder' a property
called "sehs_root_folder" that I hope to search for.  If you have a
more efficient way of solving my problem, please let me know.


Tim:  [EMAIL PROTECTED]


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] ZServer stepping on Content-Type and Content-Length?

2000-08-27 Thread Jeff Hoffman

Hello,

I am playing around with the new ExtFile product released a few days ago,
in addition to a similar product I wrote myself. Both are exhibiting an
unusual behavior. In the index_html method, I have:

  RESPONSE.setHeader('Content-Type', 'video/foo')
  RESPONSE.setHeader('Content-Length', 1212)

Then, I return the file data. If I launch python and do:

  import Zope, ZPublisher
  ZPublisher.Zope('/path/to/myfile.mpg', d=1)

I can trace the execution of these lines. The headers are set correctly in
the response and, as far as I can tell, are returned correctly in the last
statement my trace executed ("return response").

However, when I telnet to my web port and do:

  HEAD /path/to/myfile.mpg HTTP/1.0

I get:

  Content-Type: video/mpeg
  Content-Length: 0

Remember, I set content-type to video/foo, and length to 1212. These have
been stepped on, I believe, by ZServer. I found this section in 
ZServer/medusa/default_handler.py:

  request['Last-Modified'] = http_date.build_http_date (mtime)
  request['Content-Length'] = file_length
  self.set_content_type (path, request)

While I don't know, for sure, that this is what's causing my problem, it
looks suspect to me.

The curious thing is, using Zope's File object (defined in
lib/python/OFS/Image.py), I get the correct Content-Length coming back. I
did not check to see if Content-Type was overwritten or not. As far as I
can tell, there is no difference in the way my code returns the file data
versus the way Zope's File object does.

Anyone know what's going on?

--Jeff

---
Jeff K. Hoffman   704.849.0731 x108
Chief Technology Officer  mailto:[EMAIL PROTECTED]
Going Virtual, L.L.C. http://www.goingv.com/


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] How to get PARENTS[-1] from within a Python Product

2000-08-27 Thread Dieter Maurer

Ira Hochman writes:
  How does one retrieve the equivalent of PARENTS[-1] from within a Python
  Product in Zope?
ZPublisher places "REQUEST" at the top of the acquisition chain.
"PARENTS" is an attribute of "REQUEST".

Therefore, you should be able to simple use "self.PARENTS[-1]".

If it does not, try "self.REQUEST.PARENTS[-1]".



Dieter

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] keeping state of tree over different documents

2000-08-27 Thread Dieter Maurer

Marcus Schopen writes:
  The problem that occurs is, that the tree`s open/close state is not correctly 
 maintained over the different documents. A solution to that might be to append the 
 state of the tree after selection of a link to the it's URL as ?tree-s= ; that 
 means pass the future state of the tree to the selected page by using URL-Parameters.
  
  Any ideas how to do that or any other ideas?
I think, this is a great idea!
It would avoid the cookie to save the state and
would therefore be much more robust.

I have extended the TreeTag to allow explicite control 
of the hotspot (i.e. the icon to control opening/closing
a branch). The extension is not yet general enough to
support passing the future state (after the operation)
but still uses the incremental state change.
The extension is not easy to understand and packaged
with our changes to the TreeTag.

There may be another way to influence the hotspot as
Zope magically adds a "target" in the left frame
of its management screen. I did not yet look at
how it works.

You find the function to compute the new state in
"TreeDisplay.TreeTag.apply_diff".



Dieter

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Calling list.remove() bug

2000-08-27 Thread Kapil Thangavelu

Tim Cook wrote:

 -
 
 Notice in add_weekly the dtml-call day_list.
 It does nothing but with out it I get this traceback:
 
Zope Error
 
Zope has encountered an error while publishing
 this resource.
 
Error Type: AttributeError
Error Value: __getitem__
 
 
 Traceback (innermost last):
   File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line

 (Object: done_list)
   File
 /usr/local/zope/2.2/lib/python/DocumentTemplate/DT_Util.py, line
 337, in eval
 (Object: _['sequence-item'] in day_list)
 (Info: day_list)
   File string, line 0, in ?
 AttributeError: (see above)
 
 --
 DTML METHOD: period_begin
 Selects a set of dates in the past 41 days that are either the
 first day of the month or a Sunday. Returns the list.
snip
 ---
 DTML METHOD: add_weekly
 Input form to report weekly activities.
 
- dtml-call "REQUEST.set('day_list', period_begin)"
 dtml-call "REQUEST.set('done_list', [])"
 

 
 dtml-call day_list
 
 dtml-in done_list
dtml-if "_['sequence-item'] in day_list"
  dtml-call "day_list.remove(_['sequence-item'])"
/dtml-if
 /dtml-in
 
 
 more code here that uses day_list in a SELECT/SELECT and
 takes more form input.
 ...
 
 Is this a bug or should I clean up my code??? s
 


When you call request.set your setting daylist to the method not the
results of the method. try switching it to

dtml-call "REQUEST.set('day_list', period_begin(_.None, _))"

Kapil

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] FSSession problems...

2000-08-27 Thread Curtis Maloney

On Fri, 25 Aug 2000, Pavlos Christoforou wrote:
 On Fri, 25 Aug 2000, Curtis Maloney wrote:
  Greetings,
 
  I'm using FSSession to store login details about visitors to our site. 
  It is important that users only be able to see their own data (of
  course).
 
  Today, however, I find out that some mistakes have been happening. 
  People are finding themselves logged in when they haven't yet, and others
  finding they're logged in as someone else.  This is, obivously, a
  problem.
 
  I cannot see how this could be happening, since the Session ID is stored
  in a cookie, which should be unique to the client.

 This is very weird indeed. Nobody has ever reported a similar problem. Can
 you send me the DTML method that calls the FSSession?

Yes.  Very weird.  I'm not doing anything fancy.  dtml-call FSSession is in 
the standard_html_header.  Once the users name/password has been verified 
from the db, i use:

dtml-call "FSSession.set('ReturnerID',ReturnerID)"

to set the value, and test if the user is logged in with :

dtml-if "FSSession.has_key('ReturnerID')"

Logging out works fine, with:

dtml-if "FSSession.has_key('ReturnerID')"
  dtml-call "FSSession.delete('ReturnerID')"
/dtml-if

This was aparently working fine for quite some time (about a month of public 
usage), until last week.  We have examined logs, and seen that one person 
accidentaly used the system under someone elses ReturnerID, and then 
rectified their mistake.

 Pavlos


I really would rather continue using FSSession, as it has worked fine for me 
in the past, and I find it very simle to use.  It would also save me from 
having to totaly rewrite the site. (o8

Then again, I am considering using Zope level user authentication in the next 
revision of this site, but that is already planned to be a major overhaul.

Really, I just want to know what's going wrong...

Have a better one,
Curtis

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] FSSession problems...

2000-08-27 Thread Curtis Maloney

On Sat, 26 Aug 2000, Timothy Wilson wrote:
 On Fri, 25 Aug 2000, Curtis Maloney wrote:
  Today, however, I find out that some mistakes have been happening. 
  People are finding themselves logged in when they haven't yet, and others
  finding they're logged in as someone else.  This is, obivously, a
  problem.

 Warning! Shot in the dark ahead. :-)

 Is it possible that your visitors who are experiencing this problem are
 sitting behind a proxy that is improperly caching their cookies. I've seen
 something like this where you could log in to zope.org, go to a different
 machine and find that you were logged in there too.


Not something I hadn't considered.  But I dismissed it fairly quickly, as I 
saw the behaviour displayed on two machines in house, which do not use a 
proxy.

What I _have_ considered, tho, is that Apache, which is set in ProxyForward 
mode, might be confusing the issue somewhat.

 -Tim

Curtis.

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] End User Customization of Python Product DTML

2000-08-27 Thread Kapil Thangavelu

I've been fumbling with this for the last week or so.

I've got a Python Product NewsSyndicate, which setups feeds for a bunch
of RSS channels.

I'd like to have the display for that content be end user customized in
the management interface not through editing dtml on the file system and
I'd like to keep this product in python (as opposed to a zclass split). 

i experimented with a folder that i instantiated with various dtml_views
upon product creation. i then set the view methods of all the generated
rss channels equal to the views in this folder. it works, but it seems a
bit flaky. in retrospect this seems like a bad way to do it, since i'm
basically setting up hundreds of references to a method, and if it gets
deleted in the management screen i can't reassociate easily a new one to
the exisiting channels. if anyone has any ideas i'd love to hear them.

Kapil

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




[Zope] Automatic creation of searchable documents from Oracle DB tables

2000-08-27 Thread Chris Beaumont
Title: Automatic creation of searchable
documents from Orac


Hi Kapil, (and fellow Zopatistas)

Well, it's been difficult, but I finally feel as if I'm on the
verge or understanding this a bit better..

Thank you for taking the time to explain this.
I would think, it's a fairly simple thing I'm trying to do.
Hehehe.. Famous last words.. huh?

So, anyway, I've been staying up till 2 am almost every night
trying to absorb as much of this as I can, but I have an (extensive)
web development, but not a programmer's background, and I'm very much
a Zope newbie, so I need to ask you some more questions.. I hope you
don't mind..

You can get a feel for what I am talking about by looking at any
of the programs or workshops on the website I manage,
www.msri.org.
Currently, I'm doing this site by rendering these fields of info
through templates into static pages in Frontier, but I'd like to
transition to Zope.
(Its the old webmaster's dream of the self-maintaining
site *LOL*)

So here's where I'm at so far.. I have built an Oracle 7
database to hold the event info.. Everything fine there, everything
works.. now for the fun stuff..

I have several tables in this event section of the
database, programs, workshops and talks. (there actually is one
other table for other kinds of events) Each kind of event is treated
somewhat differently in the schema. It's a very simple setup with
nothing exotic going on.. Logically, a given workshop is
usually tied to a program..and a given talk is usually tied to a
parent workshop.

I have been successful in setting up the basic web-database
interaction. I made the basic insert and query forms that are
described in the ZSQL Users Guide, and as I said in my previous
posting my next goal is to be able to create separate documents from
the data in the individual records that are inserted into the
tables.. I'd like to be able to search them along with the other Zope
documents on the site, at once, (using a ZCatalog..hopefully) I also
need to be able to quickly build several different kinds of
automatically-maintained lists from SQL queries that home in on
various subsets of the event data. (Ultimately, this system will be
expanded to handle people data, which will involve some
very large lists of people spanning over 20 years, so this system
needs to have decent performance with large datasets...But, even
then, the result set of a given query will always be quite
small..)

Starting with (on the insert record side) I have an SQL Method
for each event type that describes the permissable arguments, and the
code describing the multi-field insert.

(I have a sequence and trigger already working on the database
side of things that implements a unique ID -the primary key- for each
new program, so the ID is not one of the arguments passed through the
ZSQL Method..should I change this? - I could do this some other
way..)

I also have another SQL method for each type of event that does
a select * from event_type so that I can implement pulldowns
in the select form for the child workshops of a program. (This is
really nice and is one of the reasons I think Zope will be great for
building a highly useable web interface to this database,
widgets like this make it easy to keep referential integrity..)

Then, one (in the case of the event types without possible
parents) or both of the SQL Methods are called in an DTML
Document input form. When the form is submitted a DTML Method is
triggered, which right now only shows an acknowledging thank you to
the person who submits the information.

So, if I understand you correctly, **I should then use that
action to create a class that is tied to the primary key of the
database table. Is there an example somewhere of this RDBMS
table-keyed automatic creation of ZClasses or DTML
documents?*

I think ZClasses would be preferable because there are
several kinds of event pages I'd like to generate for each kind of
event.. (for example, sometimes we have short-term housing
information we want to show, and a few weeks before a given event, as
more information becomes available, I'd like to be able to have it
added .. For example, as an event time nears, I almost always have to
put up schedules of the talks in a given workshop..)

Anyway, if you have the time and can think of any handy pointers
to documentation or relevant examples, Id appreciate it.. But even if
not, you already have given me a good start.. It shouldn't be
very hard, but even though I've been putting in a lot of time
searching, finding information has been difficult for me.. The
closest I could find to what I want to do is the (very) few
snippets of information available about pluggable brains.
But there isn't even a HOWTO on this, a question that should be a
common question.. If anyone has any pointers for a beginner.
I'd be really grateful..

Thank you..

Chris





I really appreciate your help..

Chris

[EMAIL PROTECTED]


Some considerations.

1. Duplicating data is bad.

2. Let the RDMBS do as 

[Zope] Atomasoft NanoSoft O.S. Screenshots (Toward a better liberty)

2000-08-27 Thread Jonathan Desp

Hi,

You can see the screenshots here:

http://www.atomasoft.com/products/screenshots.html

And you can read my email below,  I tryed several time to send this concrete
email to the fabulous internet.


 Hi Nanotechnologists around the world, (Toward a better liberty)

 Atomasoft NanoSoft O.S. screenshots are ready!

 Now you can see what the Atomasoft team did, Ed Minchau made some
 screenshots for all of you. Maybe we will be able to get some support:
 money, or PHDs, or just money would be great '-) we know where to invest
 this money.

 of course the screenshots are ugly and they don't look very advanced like
 those screenshots for example:

 Yasara:

 http://ajax.kfunigraz.ac.at/~kriegere/diashow2.jpg

 but it will lead to that kind of software. The only difference between
 Yasara and NanoSoft is that NanoSoft is new. Yasara is just another life
 science simulation software.

 NanoSoft is the O.S., the screenshots are showing "NanoSim" NanoSim is our
 module, our application, for the simulation part, NanoSoft O.S. will be a
 core kernel, using the powerful AI program from Ed, which is very very
 talented in AI and then make those simulation and design faster, and
 smarter. Ed wrote that program since 9 years and he will use it for
 NanoSoft, for build that nanotechnology, faster, and then help everbody
with
 Nanotech, getting to people a better liberty.

 We are programmers, not specialist in imaging, so that's why the
screenshot
 are a little bit, not clean, we will fix that soon. But we move forward,
and
 we will change the world with that software. We got several good and new
 ideas, and nobody presently see them, so nobody wants to sponsor our
 research. I asked several government agency, DARPA, NSF, no one would like
 to sponsor the vision of Matter will become software. In 2020, nobody will
 run without NanoSoft O.S., because it will become the major platform where
 people design and simulate and chat, and trade and build on. We try to
merge
 several philosophy together: supply chain software, AutoCad properties,
CAM,
 CAD, MSI, E-Business suites, Napters, those are just keywords of course.
But
 you can get a good image of our vision.

 Unfortunately, people in general are lazy/selfish and they don't help,
they
 are lazy, they look at the floor, saying "Yes, I want to die, I don't want
 to build this nanotech".  A lot of people around me are blind, they think
 that we all need to die, even if in theory, with this nanotech, we could
 live a lot more longer. We need to learn them that yes, it's possible to
 become in a total liberty with Nanotechnology.

 The Atomasoft team is presently very very little, but I think that we are
 strong and that we will help this humanity from the mess of today, where
 everybody die. We could become immortal with NanoSoft. That's real, I can
 see it right now, without NanoSoft, people can't build the future
Nanotech.

 So presently, the team is like in that shape:

 ___
 "It's a game that's misunderstood by people who don't play rugby," Parrado
 said in a phone call from his home in Montevideo, Uruguay. "They don't
 understand the team spirit, the sacrifice you make of yourself for another
 player so he can score. We survived from that spirit.
 __

 Remember the film Alive? Stupid people saw it like an Action/Holywood
movie,
 but me, I saw the story like a Bible Story, where people believe in god,
 because it's the last thing to do, where people is getting hope. So our
team
 of programmers are like those 16 survivors and we need help, we are not
16,
 we are 6 though ;-)

 Well if you want to help, just email me. Saying "I want to Help" and
Helping
 the team for real, it's very different.

 Personal and current information on the chairman and CEO of Atomasoft:

 (which are not very important, but some people would like so much to see
 those information)

 1. I'm in school presently, I'm working on my chemistry, and I'm still
very
 stupid in chemistry.
 2. I didnot succeed to enter to Caltech yet, but I'm still trying to
enter,
 I'll enter one day.
 3. I'm making the first project for Atomasoft, with my friend Ted Strauss,
 that will bring to the NanoSoft team, some money (yeah, they need to eat
 sometime, hope you believe me). The project is called "MEMS Conference"
and
 so far you can read  at MEMSConference.com, I plan to take this money, and
 invest it into a booming MEMS Field, so that I could get more money for
 NanoSoft.

 If you don't want to get such email in your In-Box, then just left those
 mailing lists. They are there for that.

 Sorry for my english,

 Very truly yours,

 
 Jonathan Desp
 Chairman and CEO, Atomasoft Inc.
 Matter will become software
 http://www.atomasoft.com/jonathan
 

 "Ask not what your universe can do for you; ask what you can do for your
 universe."




___
Zope maillist  -  [EMAIL PROTECTED]

Re: [Zope] Calling list.remove() bug

2000-08-27 Thread Tim Cook

Kapil Thangavelu wrote:
 
 Tim Cook wrote:
 
  -
 
  Notice in add_weekly the dtml-call day_list.
  It does nothing but with out it I get this traceback:
 
 Zope Error
 
 Zope has encountered an error while publishing
  this resource.
 
 Error Type: AttributeError
 Error Value: __getitem__
 
 
  Traceback (innermost last):
File /usr/local/zope/2.2/lib/python/ZPublisher/Publish.py, line
 
  (Object: done_list)
File
  /usr/local/zope/2.2/lib/python/DocumentTemplate/DT_Util.py, line
  337, in eval
  (Object: _['sequence-item'] in day_list)
  (Info: day_list)
File string, line 0, in ?
  AttributeError: (see above)
 
  --
  DTML METHOD: period_begin
  Selects a set of dates in the past 41 days that are either the
  first day of the month or a Sunday. Returns the list.
 snip
  ---
  DTML METHOD: add_weekly
  Input form to report weekly activities.
 
 - dtml-call "REQUEST.set('day_list', period_begin)"
  dtml-call "REQUEST.set('done_list', [])"
 
 
 
  dtml-call day_list
 
  dtml-in done_list
 dtml-if "_['sequence-item'] in day_list"
   dtml-call "day_list.remove(_['sequence-item'])"
 /dtml-if
  /dtml-in
 
  
  more code here that uses day_list in a SELECT/SELECT and
  takes more form input.
  ...
 
  Is this a bug or should I clean up my code??? s
 
 
 When you call request.set your setting daylist to the method not the
 results of the method. try switching it to
 
 dtml-call "REQUEST.set('day_list', period_begin(_.None, _))"
 
 Kapil
 

Hmm, thanks.  I ran a little test stub that set day_list both
ways with the var rendered each time.  They returned exactly the
same list. 

But, your suggestion did correct the problem that I had.

So, as a newbie warning to others just because it renders
correctly doesn't mean that it's behavior is going to be correct
in a programmatic sense.  

So, why did the dtml-call or dtml-var calls cause the add_weekly
method to work?   

(Too many years of procedural code and not enough OOP zen!).

-- Tim Cook --
FreePM Project Coordinator http://www.freepm.org
OS Health Care Alliance Supporter http://www.oshca.org

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Automatic creation of searchable documents from OracleDB tables

2000-08-27 Thread R. David Murray

On Sun, 27 Aug 2000, Chris Beaumont wrote:
 Then, one (in the case of the event types without possible "parents") 
 or both of the SQL Methods are called in an DTML Document input form. 
 When the form is submitted a DTML Method is triggered, which right 
 now only shows an acknowledging thank you to the person who submits 
 the information.
 
 So, if I understand you correctly, **I should then use that action to 
 create a class that is tied to the primary key of the database table. 
 Is there an example somewhere of this RDBMS table-keyed "automatic" 
 creation of ZClasses or DTML documents?*
[...]
 Anyway, if you have the time and can think of any handy pointers to 
 documentation or relevant examples, Id appreciate it.. But even if 
 not, you already have given me a good start..  It shouldn't be very 

I'm still not clear on why you want to instantiate objects instead
of just dynamically generating the pages out of the database.  But
if instantiating ZClasses when the action method is called is what
you want to do, check out the HowTo Adding ZClass Instances Programatically:

 http://www.zope.org/Members/taz/addZClasses

--RDM


___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Sub Class Question

2000-08-27 Thread Loren Stafford

From: "R. David Murray" [EMAIL PROTECTED]


 On Sat, 26 Aug 2000, Loren Stafford wrote:
def index_object(self):
  if self.nextEventTime() is not None:
  CatalogAware.index_object.im_func(self)
  # see Python Reference Manual "The standard type hierarchy"
  # for the built-in type im_func

 I realize this is a Python and a not a Zope question, but
 what is the difference between

   CatalogAware.index_object.im_func(self)

 and

   CatalogAware.index_object(self)

 ?

 --RDM


Here's what MJ told me about that case. I'm not sure it applies to your
case. Did you try it? Did it work?

-- Loren

- Original Message -
From: "Martijn Pieters" [EMAIL PROTECTED]
To: "Loren Stafford" [EMAIL PROTECTED]; "zope-dev"
[EMAIL PROTECTED]
Sent: March 01, 2000 11:57 AM
Subject: [Zope-dev] Re: What is im_func?

 From: "Loren Stafford" [EMAIL PROTECTED]
  Could you elaborate on what im_func is and what it's role is here.
 
  # Only index if nextEventTime returns something
  def index_object(self):
  if self.nextEventTime() is not None:
  CatalogAware.index_object.im_func(self)

 im_func is a part of Python introspection. It is the pure function
 definition of a class, not bound to that class, so I can pass in an
 alternate self.

 I am trying to call a superclass method here, and normally
 CatalogAware.index_object() would suffice. But because of Extension
Classes,
 Python gets confused as to what is a class method, and what is a regular
 function. It will accuse me of calling an unbound method, which of course
I
 am not. I circumvent this by calling the unbound function, and passing in
 self explicitly.

 Martijn Pieters



___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Oracle ZODB (Paul's talk in Paris)

2000-08-27 Thread Kapil Thangavelu

Paul Everitt wrote:
 
 It isn't published or checked in.  We're trying very hard to focus on
 getting current bits under control rather than continually releasing
 new, undocumented bits.  The Zope community has been awfully clear to us
 on making better sense of what is already there.
 
 --Paul

This is indeed quite true.  Some of the interesting parts of Zope are
still without documentation and this is doubly so for most products.
However this is a substantial development(marketingmindshare
perspectives) and from my understanding of what this would do it should
generally be transparent at the application level. I'm curious about
what kind of documentation would be nesc. before this might be released.
I'm just not sure how its any different from the Interbase Storage in
terms of the documentation need, esp. if its unsupported. The Storage
Level of the ZODB is supposed to be extremely low-level, and i think
most Zope users could care less as long it works.

my two cents

Kapil

btw. the notes from the paris meeting were quite refreshing. lots of
good stuff on the fronts. congratulations and thanks to the members of
both DC and the zope community. 

ps. I've got to ask, Is there any prelim work being done on SOAP?

  -Original Message-
  From: Satheesh Babu [mailto:[EMAIL PROTECTED]]
  Sent: Friday, August 25, 2000 10:37 AM
  To: [EMAIL PROTECTED]
  Subject: [Zope] Oracle ZODB (Paul's talk in Paris)
 
 
  Hi folks,
 
  I read  the mail about EuroZope conference. Notes on
  Paul's speech says "they have an Oracle ZODB backend.
  They have deployed it. Pending documentation..."
 
  Way to go DC!
 
  WHERE IS IT?
 
  I searched in CVS, couldn't find it at all... If anyone
  can point me towards this, it'll be greatly appreciated?
 
 
  Many thanks in advance
 
  vsb
 
  ___
  Zope maillist  -  [EMAIL PROTECTED]
  http://lists.zope.org/mailman/listinfo/zope
  **   No cross posts or HTML encoding!  **
  (Related lists -
   http://lists.zope.org/mailman/listinfo/zope-announce
   http://lists.zope.org/mailman/listinfo/zope-dev )
 
 
 ___
 Zope maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope-dev )

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )




Re: [Zope] Calling list.remove() bug

2000-08-27 Thread Tim Cook

Kapil Thangavelu wrote:

 dtml-var "foobar(_.None, _)"
 
 this passes it None for a client, and the current namespace as the
 mapping, and no keyword args.
 
 hope that was clearer than mud.
 

So the 'key' to this confusion is that we are passing the 'Zope
namespace' to the python method (function) call?
(Which I guess is REALLY just a Python namespace anyway?)

Maybe I should study the Python source where this occurs. It's
still VERY foggy! g

-- Tim Cook --
FreePM Project Coordinator http://www.freepm.org
OS Health Care Alliance Supporter http://www.oshca.org

___
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )