doublequotes in regexp 1.5.2 - zope/externalmethod

  • Thread starter Florian Konnertz
  • Start date
F

Florian Konnertz

Hi,

I have to do a little script for an old zope website running on
python1.5.2 and have a regexp problem.

(for those who know zope: I have to change all stx links in a dtml doc
to html which is not done for any reason. It's an old zope (2.3.2) :(
python is 1.5.2 I tried with string.find, but i get a "string object
has no atribute 'find'" error - find is documented for python-1.5.2 :-/
So i guesses i have to use an External Method where i can use re.)

In this method i do a re.findall for the stx link, i tried with several
expressions, and one i need to use does not work which seems quite
strange to me. I tried to track this down to the simplest parts, but up
to now unsuccessfully so i need your help, please.
BTW in cli mode everything is fine if i start the same script with python1.5
Apparently it's a fault of the '"' character, the double quotes.

Here are the most simple pattern i tried, the double quotes quoted with
\ and not, in triple quotes and not etc. Everytime i add the double
quotes, my pattern fails. And my text definetly has several stx links in
it!!

pattern = r'"\S+'
pattern = r'''"\S+'''
pattern = r'''\"\S+'''

Everything without d.quotes is ok, i.e.
urlchars = r'[A-Za-z0-9/:mad:_%~#=&\.\-\?\+\$,]+'
urlendchar = r'[A-Za-z0-9/]'
url = r'["=]?((about|gopher|http|https|ftp|mailto|file):%s'
% urlendchar

this is the pattern i need:
link = r'(".+?"):%s' % (url)

which works fine on the cli.

TIA,
Florian
 
U

Ulrich Petri

Florian Konnertz said:
Hi,

I have to do a little script for an old zope website running on
python1.5.2 and have a regexp problem.

(for those who know zope: I have to change all stx links in a dtml doc
to html which is not done for any reason. It's an old zope (2.3.2) :(
python is 1.5.2 I tried with string.find, but i get a "string object
has no atribute 'find'" error - find is documented for python-1.5.2 :-/
So i guesses i have to use an External Method where i can use re.)
In python 1.5.2 you have to use:

import string

s="blah pattern blah"
pos = string.find(s, "pattern")


for Zope this would be:
<dtml-var "_.string.find(REQUEST['somevar'], 'somepattern')">

HTH

Ciao Ulrich
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,818
Latest member
Brigette36

Latest Threads

Top