From: Alex R. <sh...@gr...> - 2005-04-04 15:41:25
|
Hello, I was debugging the recent callbacks change related to Media objects. What I found is that there's a problem with dragging an object from Media View into individual gallery of e.g. a Person. Apparently, the "data" obtained during drag has gramps_id (O0001) instead of an object's handle. I'm not too savvy with DnD. Could it be changed to handle, or is there a good reason why we carry gramps ID? Alex P.S. I have just committed other fixes. --=20 Alexander Roitman http://www.gramps-project.org |
From: <ben...@ug...> - 2006-12-19 00:00:49
|
Hi, for my placecheck tool I want to save the options. However, one of the options is a regex. This produces the xml file: <?xml version="1.0" encoding="utf-8"?> <options> <module name="placecheck"> <option name="regex" value="s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s*"/> <option name="latlonconv" value="-DGtDG"/> <option name="latlonfile" value="None"/> </module> </options> This cannot be read in again by the parser, as the regex value cannot be parsed function (line 218 in _Options.py ) Is there a way around this? Or is it just not possible to store the regex in the options? Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: Alex R. <sh...@gr...> - 2006-12-19 00:20:35
|
Benny, On Tue, 2006-12-19 at 01:00 +0100, ben...@ug... wrote: > for my placecheck tool I want to save the options. However, one of the op= tions > is a regex. This produces the xml file: > <?xml version=3D"1.0" encoding=3D"utf-8"?> > <options> > <module name=3D"placecheck"> > <option name=3D"regex" value=3D"s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s= *"/> > <option name=3D"latlonconv" value=3D"-DGtDG"/> > <option name=3D"latlonfile" value=3D"None"/> > </module> > </options> >=20 > This cannot be read in again by the parser, as the regex value cannot be = parsed > function (line 218 in _Options.py ) > Is there a way around this? Or is it just not possible to store the regex= in the > options? My guess is that this happens because of the xml special chars, < and >. So you can escape them when writing: text =3D text.replace('<','<') text =3D text.replace('>','>') then save. Then on the parsing, you can do the opposite. Of course this should probably be in the _Options.py and not your code. Please file a bug report, I should be able to fix it soon. Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: Don A. <don...@co...> - 2006-12-19 00:46:43
|
An easier and faster way is to do: from xml.sax.saxutils import escape text =3D escape(text) On Mon, 2006-12-18 at 16:20 -0800, Alex Roitman wrote: > Benny, >=20 > On Tue, 2006-12-19 at 01:00 +0100, ben...@ug... wrote: > > for my placecheck tool I want to save the options. However, one of the = options > > is a regex. This produces the xml file: > > <?xml version=3D"1.0" encoding=3D"utf-8"?> > > <options> > > <module name=3D"placecheck"> > > <option name=3D"regex" value=3D"s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)= \s*"/> > > <option name=3D"latlonconv" value=3D"-DGtDG"/> > > <option name=3D"latlonfile" value=3D"None"/> > > </module> > > </options> > >=20 > > This cannot be read in again by the parser, as the regex value cannot b= e parsed > > function (line 218 in _Options.py ) > > Is there a way around this? Or is it just not possible to store the reg= ex in the > > options? >=20 > My guess is that this happens because of the xml special chars, < and >. > So you can escape them when writing: > text =3D text.replace('<','<') > text =3D text.replace('>','>') > then save. Then on the parsing, you can do the opposite. >=20 > Of course this should probably be in the _Options.py and not your code. > Please file a bug report, I should be able to fix it soon. >=20 > Alex >=20 > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share y= our > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > _______________________________________________ Gramps-devel mailing list= Gra...@li... https://lists.sourceforge.net/lists/lis= tinfo/gramps-devel |
From: Alex R. <sh...@gr...> - 2006-12-19 00:53:46
|
On Mon, 2006-12-18 at 17:46 -0700, Don Allingham wrote: > An easier and faster way is to do: >=20 > from xml.sax.saxutils import escape >=20 > text =3D escape(text) I was going to do that but forgot which xml module this is in :-) Anyway, module writers should not deal with it, it should go into the _Options.py into save() method. Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: Alex R. <sh...@gr...> - 2006-12-19 04:55:10
|
Benny, I have committed a fix to the SVN. The existing XML file is garbage, but with the new code things will be saved properly and then parsed properly. Alex On Tue, 2006-12-19 at 01:00 +0100, ben...@ug... wrote: > Hi, >=20 > for my placecheck tool I want to save the options. However, one of the op= tions > is a regex. This produces the xml file: > <?xml version=3D"1.0" encoding=3D"utf-8"?> > <options> > <module name=3D"placecheck"> > <option name=3D"regex" value=3D"s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s= *"/> > <option name=3D"latlonconv" value=3D"-DGtDG"/> > <option name=3D"latlonfile" value=3D"None"/> > </module> > </options> --=20 Alexander Roitman http://www.gramps-project.org |
From: <ben...@ug...> - 2006-12-19 08:11:49
|
Quoting Alex Roitman <sh...@gr...>: > Benny, > > I have committed a fix to the SVN. The existing XML file > is garbage, but with the new code things will be saved > properly and then parsed properly. > > Alex Thanks. Nice to know somebody was working while I was asleep. Benny > > On Tue, 2006-12-19 at 01:00 +0100, ben...@ug... wrote: >> Hi, >> >> for my placecheck tool I want to save the options. However, one of >> the options >> is a regex. This produces the xml file: >> <?xml version="1.0" encoding="utf-8"?> >> <options> >> <module name="placecheck"> >> <option name="regex" value="s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s*"/> >> <option name="latlonconv" value="-DGtDG"/> >> <option name="latlonfile" value="None"/> >> </module> >> </options> > > -- > Alexander Roitman http://www.gramps-project.org > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <rom...@ya...> - 2006-12-19 07:37:02
|
After the fix ... 125675: ERROR: gramps.py: line 147: Unhandled exception Traceback (most recent call last): File "/home/nono/grampsvn/share/gramps/plugins/FindDupes.py", line 171, in on_merge_ok_clicked self.options.handler.save_options() File "/home/nono/grampsvn/share/gramps/PluginUtils/_Options.py", line 379, in save_options self.option_list_collection.save() File "/home/nono/grampsvn/share/gramps/PluginUtils/_Options.py", line 212, in save f.write(' <option name="%s" value="%s"/>\n' % ( File "/usr/lib/python2.4/site-packages/_xmlplus/sax/saxutils.py", line 31, in escape data = data.replace("&", "&") AttributeError: 'float' object has no attribute 'replace' Maybe you should look at other GRAMPS' tools/plugins using sax or XML parsing ... Alex Roitman a écrit : > Benny, > > I have committed a fix to the SVN. The existing XML file > is garbage, but with the new code things will be saved > properly and then parsed properly. > > Alex > > On Tue, 2006-12-19 at 01:00 +0100, ben...@ug... wrote: >> Hi, >> >> for my placecheck tool I want to save the options. However, one of the options >> is a regex. This produces the xml file: >> <?xml version="1.0" encoding="utf-8"?> >> <options> >> <module name="placecheck"> >> <option name="regex" value="s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s*"/> >> <option name="latlonconv" value="-DGtDG"/> >> <option name="latlonfile" value="None"/> >> </module> >> </options> -- Jérôme Rapinat ___________________________________________________________________________ Yahoo! Mail rvente le mail ! Duvrez le nouveau Yahoo! Mail et son interface rlutionnaire. http://fr.mail.yahoo.com |
From: Alex R. <sh...@gr...> - 2006-12-19 07:43:42
|
On Tue, 2006-12-19 at 08:40 +0100, J=C3=A9r=C3=B4me wrote: > After the fix ... [snip] > File "/usr/lib/python2.4/site-packages/_xmlplus/sax/saxutils.py",=20 > line 31, in escape > data =3D data.replace("&", "&") > AttributeError: 'float' object has no attribute 'replace' Fixed in 7819. > Maybe you should look at other GRAMPS' tools/plugins using sax or XML=20 > parsing ... Maybe I should. Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: <rom...@ya...> - 2006-12-19 07:48:15
|
>> Maybe you should look at other GRAMPS' tools/plugins using sax or XML >> parsing ... > > Maybe I should. Before posting, I look at most tools, this seems to be the only one ;) but where is the reports ? no menu :( and there are load into GRAMPS (plugins status)!!! Alex Roitman a écrit : > On Tue, 2006-12-19 at 08:40 +0100, Jérôme wrote: >> After the fix ... > [snip] >> File "/usr/lib/python2.4/site-packages/_xmlplus/sax/saxutils.py", >> line 31, in escape >> data = data.replace("&", "&") >> AttributeError: 'float' object has no attribute 'replace' > > Fixed in 7819. > >> Maybe you should look at other GRAMPS' tools/plugins using sax or XML >> parsing ... > > Maybe I should. > > Alex > ___________________________________________________________________________ Duvrez une nouvelle fa d'obtenir des rnses outes vos questions ! Profitez des connaissances, des opinions et des expences des internautes sur Yahoo! Questions/Rnses http://fr.answers.yahoo.com |
From: <rom...@ya...> - 2006-12-19 08:10:03
|
>> Maybe I should. 'need to' was my direction, or 'would have' would be more suitable :-[ In the same idea: where *are* reports or where *is* the menu 'reports' ... > Before posting, I look at most tools, this seems to be the only one ;) > but where is the reports ? no menu :( and there are load into GRAMPS (plugins status)!!! ___________________________________________________________________________ Yahoo! Mail rvente le mail ! Duvrez le nouveau Yahoo! Mail et son interface rlutionnaire. http://fr.mail.yahoo.com |
From: Alex R. <sh...@gr...> - 2006-12-19 17:54:54
|
On Tue, 2006-12-19 at 08:51 +0100, J=C3=A9r=C3=B4me wrote: > but where is the reports ? no menu :( and there are load into GRAMPS=20 > (plugins status)!!! This was due to changes Don made to the ViewManager. He should correct this soon. Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: Don A. <don...@co...> - 2006-12-19 18:49:32
|
This is fixed now.=20 I would like to remind everyone not to panic over changes in the subversion working copy. As we make changes, we will make errors like this. If you find one, just let us know. The subversion working copy is the up-to-the-minute version that we are hacking on. It hasn't been tested, and will contain bugs, and should be considered unstable. =20 Don On Tue, 2006-12-19 at 09:54 -0800, Alex Roitman wrote: > On Tue, 2006-12-19 at 08:51 +0100, J=C3=A9r=C3=B4me wrote: > > but where is the reports ? no menu :( and there are load into GRAMPS=20 > > (plugins status)!!! >=20 > This was due to changes Don made to the ViewManager. > He should correct this soon. >=20 > Alex >=20 > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share y= our > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > _______________________________________________ Gramps-devel mailing list= Gra...@li... https://lists.sourceforge.net/lists/lis= tinfo/gramps-devel |
From: Alex R. <sh...@gr...> - 2006-12-20 05:12:03
|
Benny, On Mon, 2006-12-18 at 20:58 -0800, Alex Roitman wrote: > > <option name=3D"regex" value=3D"s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)= \s*"/> As I said, the SVN has the correct saving now that escapes XML chars. It just struck me that you may also need to take care of things like \" and \n and so on. This should not be done in the Options.py because this must be done when python strings are formed. e.g.: $ python >>> a =3D '\"something' >>> a '"something' So that \" becomes " and then will save as " and be parsed again as ". So if regex needs \" then it should do '\\"' to get the correct python string, etc. I am not sure if this is an issue for you, but something to keep in mind when creating weird strings :-) Alex --=20 Alexander Roitman http://www.gramps-project.org |
From: <ben...@ug...> - 2006-12-20 08:59:38
|
Quoting Alex Roitman <sh...@gr...>: > Benny, > > On Mon, 2006-12-18 at 20:58 -0800, Alex Roitman wrote: >> > <option name="regex" value="s*(?P<city>.*)\s*[.,]\s*(?P<state>.*)\s*"/> > > As I said, the SVN has the correct saving now that escapes XML chars. Indeed, it works now. No problems upto now. I plan to search a downloaded file from the mapserver ftpsite, to retrieve latitude/longitude given city name, ... I will present a comboboxentry, with some predefined regex to search in known file types. > It just struck me that you may also need to take care of things > like \" and \n and so on. This should not be done in the Options.py > because this must be done when python strings are formed. I will test it. However, if the user enters \n and '" in the entrybox, I can only pass that to the options, and expect it to store it correctly. I'll test it this evening. Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <ben...@ug...> - 2007-02-16 12:57:49
|
Duncun, you should list on http://developers.gramps-project.org/tiki-index.php?page=UnsupportedPlugins also which version of GRAMPS to use. Last time I checked DenominoViso it was for 2.0.11, not 2.2.x I'm rewriting my place plugin, I'll add it shortly. Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <rom...@ya...> - 2007-02-16 13:16:35
|
Benny, > Last time I checked DenominoViso it was for 2.0.11, not 2.2.x "The ancestor tree is made with Gramps with my home grown plugin DenominoViso (version 11 Feb 2007). Just download the python file and store it in your .gramps/plugins directory. It is supposed to work with Gramps 2.2.6 and produce output both Firefox and Opera can display." http://www.home.versatel.nl/m.d.nauta/index.html * 2.2.6 sound good :) just an issue with gramps localized version on <html:title> : plugin paste my gettext header (fr.po) !!! * 2.2.7SVN 13377: ERROR: gramps.py: line 147: Unhandled exception Traceback (most recent call last): File "/home/nono/grampsvn/share/gramps/ViewManager.py", line 1178, in <lambda> lst[0], lst[1], lst[2], lst[3], lst[4], lst[5]) File "/home/nono/grampsvn/share/gramps/ReportBase/_ReportDialog.py", line 670, in report except Error, msg: NameError: global name 'Error' is not defined * 2.3SVN I get a simple dialog: MediaModel object has no attribute 'datalist' ben...@ug... a écrit : > Duncun, > > you should list on > http://developers.gramps-project.org/tiki-index.php?page=UnsupportedPlugins > also which version of GRAMPS to use. Last time I checked DenominoViso it was > for 2.0.11, not 2.2.x > > I'm rewriting my place plugin, I'll add it shortly. > > Benny ___________________________________________________________________________ Yahoo! Mail rvente le mail ! Duvrez le nouveau Yahoo! Mail et son interface rlutionnaire. http://fr.mail.yahoo.com |
From: Duncan L. <dli...@gm...> - 2007-02-16 13:16:39
|
On Fri, 2007-02-16 at 13:56 +0100, ben...@ug... wrote: > Duncun, >=20 > you should list on > http://developers.gramps-project.org/tiki-index.php?page=3DUnsupportedPlu= gins > also which version of GRAMPS to use. Last time I checked DenominoViso it= was > for 2.0.11, not 2.2.x He updated it, and I've now added a comment. Thanks for the message. > I'm rewriting my place plugin, I'll add it shortly. Great Duncan --=20 Linux user: 372812 | GPG key ID: 21A8C63A | http://lithgow-schmidt.dk |
From: <bm...@ca...> - 2007-09-12 07:56:14
|
Don, your thumbnail patch fails on unexisting images: 219404: ERROR: gramps.py: line 148: Unhandled exception Traceback (most recent call last): File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", line 970, in change_page self.__do_change_page(num) File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", line 989, in __do_change_page self.active_page.set_active() File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", line 501, in set_active self.build_tree() File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", line 608, in build_tree self.rebuild_trees(active.handle) File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", line 799, in rebuild_trees self.rebuild( self.table_2, pos_2, person, lst) File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", line 856, in rebuild image = ThumbNails.get_thumbnail_path(obj.get_path()) File "/home/benny/programms/gramps/gramps23/src/ThumbNails.py", line 265, in get_thumbnail_path elif os.path.getmtime(src_file) > os.path.getmtime(filename): File "posixpath.py", line 143, in getmtime return os.stat(filename).st_mtime OSError: [Errno 2] Bestand of map bestaat niet: '/home/benny/programms/gramps/gramps2/example/gramps/654px-Aksel_Andersson.jpg' ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <bm...@ca...> - 2007-09-12 08:04:32
|
I hack on something else, so can't look into that now, but I also noticed: http://bugs.gramps-project.org/view.php?id=1226 Benny Quoting ben...@ug...: > Don, > > your thumbnail patch fails on unexisting images: > > 219404: ERROR: gramps.py: line 148: Unhandled exception > Traceback (most recent call last): > File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", > line 970, in > change_page > self.__do_change_page(num) > File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", > line 989, in > __do_change_page > self.active_page.set_active() > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 501, in set_active > self.build_tree() > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 608, in build_tree > self.rebuild_trees(active.handle) > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 799, in rebuild_trees > self.rebuild( self.table_2, pos_2, person, lst) > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 856, in rebuild > image = ThumbNails.get_thumbnail_path(obj.get_path()) > File "/home/benny/programms/gramps/gramps23/src/ThumbNails.py", line 265, in > get_thumbnail_path > elif os.path.getmtime(src_file) > os.path.getmtime(filename): > File "posixpath.py", line 143, in getmtime > return os.stat(filename).st_mtime > OSError: [Errno 2] Bestand of map bestaat niet: > '/home/benny/programms/gramps/gramps2/example/gramps/654px-Aksel_Andersson.jpg' > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2005. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Gramps-devel mailing list > Gra...@li... > https://lists.sourceforge.net/lists/listinfo/gramps-devel > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: Don A. <do...@gr...> - 2007-09-12 18:59:43
|
This should be fixed now. On Wed, 2007-09-12 at 09:56 +0200, bm...@ca... wrote: > Don, > > your thumbnail patch fails on unexisting images: > > 219404: ERROR: gramps.py: line 148: Unhandled exception > Traceback (most recent call last): > File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", line 970, in > change_page > self.__do_change_page(num) > File "/home/benny/programms/gramps/gramps23/src/ViewManager.py", line 989, in > __do_change_page > self.active_page.set_active() > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 501, in set_active > self.build_tree() > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 608, in build_tree > self.rebuild_trees(active.handle) > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 799, in rebuild_trees > self.rebuild( self.table_2, pos_2, person, lst) > File "/home/benny/programms/gramps/gramps23/src/DataViews/_PedigreeView.py", > line 856, in rebuild > image = ThumbNails.get_thumbnail_path(obj.get_path()) > File "/home/benny/programms/gramps/gramps23/src/ThumbNails.py", line 265, in > get_thumbnail_path > elif os.path.getmtime(src_file) > os.path.getmtime(filename): > File "posixpath.py", line 143, in getmtime > return os.stat(filename).st_mtime > OSError: [Errno 2] Bestand of map bestaat niet: > '/home/benny/programms/gramps/gramps2/example/gramps/654px-Aksel_Andersson.jpg' > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. |
From: <bm...@ca...> - 2007-09-26 08:29:19
|
Luiz, there was a bug with pt_BR translation, see: http://bugs.gramps-project.org/view.php?id=1251 I corrected it with English strings. Some remarks: 1/do make before you commit to avoid this problems 2/run the check_po tool in the po directory on your translation 3/so ending must be same, here no /n at ending. Also, all subsval like %s must be present, or GRAMPS will crash in your translation 4/you did not do these changes to trunk. That is up to you, but as long as you do not work on the trunk branch, it is worthwhile in my opinion to keep both files equal Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <bm...@ca...> - 2007-10-01 09:02:01
|
Luiz, congratulations with your fine translation work. However, brazilian users will still see dates in English (about 1900), as there is no portugese date handler, and no relationship info in portugese See http://www.gramps-project.org/wiki/index.php?title=Date_Handler and http://www.gramps-project.org/wiki/index.php?title=Relationship_Calculator Translation here needs some python coding skills, but you can base your code on eg the french module as that should be analogue, so not much real coding skill is needed. Do give it a try! Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <bm...@ca...> - 2007-10-11 13:27:23
|
Don, all, something mysterious undocumented in filters i cannot figure the reason out for. Perhaps you know what it is there fore. When rules are sought for on the system from the read in custom_filters.xml files, the code looks at: try: exec "self.r = Rules.%s.private['%s']" % (self.namespace,last_name) except KeyError: .... So a rule is sought, and in the end, if not found, it with above code searched for in the private dictionary. Now in file Rules/Person/__init__.py I see # This is the name->class storage for private rule classes private = {} So this code works, but the above dictionary is not present in eg Rules/Event/__init__.py, so the code throws an AttributeError, which is not caught. The fix is easy: change except KeyError: into except (ImportError, KeyError, AttributeError): However, as I do not know what private is for, deleting the lookup in private in the first place would be better if not used anyway. Anybody remember what it is supposed to be for? I see the register(rule) in Rules/Person/__init__.py method fills up the private dictionary, but do not find a file effectively calling this register method. Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: <bm...@ca...> - 2007-10-12 09:49:12
|
Don, bug in 3.0 after your change: in note.py: def get(self, markup=False): """ Return the text string associated with the note. @param markup: If note should be returned with markup or plain text @type markup: boolean @returns: Returns the text string defining the note contents. @rtype: str """ text = self.text if not markup and text.starts_with(ROOT_START_TAG): text = self.delete_tags(text) I get a message box (not the bug reporter, which I find strange, as hard to know what the error is without a full trace), saying in essence: unicode object has to attribute starts_with Benny ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |