Patrick Decat wrote:
Traceback (innermost last):
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module App.Management, line 85, in manage_workspace
Redirect: http://202.71.106.119:7080/error_log/manage_main
The problem, apparently, raises it's head in the 3rd line of the
traceback. The code there reads:
def call_object(object, args, request):
result=apply(object,args) # Type s<cr> to step into published object.
return result
So, I'm not sending the correct arguments to Zope. This is my first
External Script in years (and I'd only written a couple before). So,
please help me with this. The script is below in its (short) entirety.
It works just fine from the command prompt. The idea is explained in the
comments. Please help me understand how to pass it arguments.
TIA,
beno
"""
This function is to be used as a wrapper before passing to
VirtualHostMonster so that I can convert URLs such as this:
http://footprints.2012.vi/War_Parties.Christianity.Americas.North_America.United_States.War.War_Crimes.index.pt?foo=bar
into
http://footprints.2012.vi/War_Parties/Christianity/Americas/North_America/United_States/War/War_Crimes.index.pt?foo=bar
I choose to use the former for purposes of getting my pages ranked by
Google (since they dislike deep directory structures), but prefer the d
eep dir structure for my use in my Zope instance.
"""
import re
from urlparse import urlparse
def URL_Rewrite(old_url):
item6 = ''
item4 = ''
testPound = re.compile('[a-z_A-Z0-9:\/\.]*[#][a-zA-Z0-9:\/\.]*')
testQuestion = re.compile('[a-z_A-Z0-9:\/\.]*[\?][a-zA-Z0-9:\/\.]*')
testEnding = re.compile('[a-zA-Z_0-9:\/\.#\?]*[p][t]')
if re.match(testPound,old_url):
item6 = '#'
elif re.match(testQuestion,old_url):
item6 = '?'
if re.match(testEnding,old_url):
item4 = '.pt'
parts = urlparse(old_url)
item0 = parts[0]
# The next rule is required because urlparse() deletes the '://'
item0 = item0 + '://'
item1 = parts[1]
item2 = '/x/c/s/j/en-us'
subPartsOf2 = re.split('.pt',parts[2])
item3 = re.sub('\.','/',subPartsOf2[0])
# The other sub-part is an empty string
# The next rule is required because for some reason a ';' gets added by
urlparse()
item3 = re.sub(';','',item3)
item5 = parts[3]
item7 = parts[4]
item8 = parts[5]
new_url = item0 + item1 + item2 + item3 + item4 + item5 + item6 + item7
+ item8
return new_url
_______________________________________________
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 )