[Zope-dev] FAQ Submission
Amos Latteier
amos@aracnet.com
Thu, 04 Mar 1999 10:28:12 -0800
At 12:32 PM 3/4/99 -0500, you wrote:
>On Thu, 4 Mar 1999, Michel Pelletier wrote:
>
>> When your debugging your DTML, it's a pain to keep deleting and creating
>> new instances of your object in order to load the new dtml files off of
>> the disk. This function comes in handy:
>>
>> def refresh_docs(self, REQUEST):
>> """ refresh documents from disk (for debug purposes) """
>>
>> for id,title in self.defaultDocs:
>> try:
>> self._delObject(id)
>> except:
>> pass
>> try:
>> self.defaultDocFile(id, title, id)
>> except:
>> pass
>> return self.manage_main(self, REQUEST)
>
>I think Skip provided a better way to deal with this, but I am not sure if
>it has made it in the official DocumentTemplate release.
Michel's use of a debug flag is cool. Only, are you aware of Z_DEBUG_MODE
(aka BOBO_DEBUG_MODE, aka __bobo_debug_mode__)? It's purpose is exactly
things like this. It gives more informative errors, and should make all
objects that care operate in debug mode.
For example, I believe that HTMLFiles should check for this and reload it's
content if it is set.
Check out this snippet of code from Main.py
for n in 'Z', 'BOBO':
if os.environ.has_key('%s_DEBUG_MODE' % n):
n=string.lower(os.environ['%s_DEBUG_MODE' % n])
if n=='no' or n=='off': continue
try: n=string.atoi(n)
except: pass
if n: Globals.DevelopmentMode=1
Now you know how to check for debug mode in your own objects, check for
'DevelopmentMode'
-Amos