Thank you so much - that looks to have worked perfectly. On Friday 14 June 2024 at 03:41:13 UTC+1 Jun Omae wrote:
> Hi, > > On 2024/06/14 5:20, 'JP 99' via Trac Users wrote: > > Hi, ubuntu 22.04/trac-1.6/tracspamfilter-1.5.3/accountmanager-0.6.0 > > > > Account Policy set to RegistrationFilterAdapter. > > > > Registering a user "test" I get in trac.log: > > > > Trac[filtersystem] ERROR: Filter strategy <Component > tracspamfilter.filters.registration.RegistrationFilterStrategy> raised > exception: 'Fragment' object has no attribute 'replace' > > Traceback (most recent call last): > > File > "/usr/local/lib/python3.10/dist-packages/tracspamfilter/filters/registration.py", > > line 81, in test > > check.validate_registration(req) > > File "/usr/local/lib/python3.10/dist-packages/acct_mgr/register.py", > line 289, in validate_registration > > raise RegistrationError(tag_( > > acct_mgr.register.RegistrationError: Username <b>test</b> doesn't match > local naming policy. > > > > During handling of the above exception, another exception occurred: > > > > Traceback (most recent call last): > > File > "/usr/local/lib/python3.10/dist-packages/tracspamfilter/filtersystem.py", > line 200, in test > > retval = strategy.test(req, author, content, ip) > > File > "/usr/local/lib/python3.10/dist-packages/tracspamfilter/filters/registration.py", > > line 84, in test > > msg = e.message.replace('\n', '') > > AttributeError: 'Fragment' object has no attribute 'replace' > > It seems to be an issue of the spam-filter plugin. Please try the > following patch: > > Index: tracspamfilter/filters/registration.py > =================================================================== > --- tracspamfilter/filters/registration.py (revision 17823) > +++ tracspamfilter/filters/registration.py (working copy) > @@ -16,7 +16,8 @@ > > from trac.config import BoolOption, IntOption > from trac.core import Component, ExtensionPoint, implements > -from trac.util.html import tag > +from trac.util.html import striptags, tag > +from trac.util.text import to_unicode > > from tracspamfilter.api import IFilterStrategy, N_ > > @@ -81,11 +82,7 @@ > check.validate_registration(req) > except RegistrationError as e: > karma -= abs(self.karma_points) > - msg = e.message.replace('\n', '') > - args = e.msg_args > - if args: > - msg = msg % args > - msg.replace('<b>', '*').replace('</b>', '*') > + msg = striptags(to_unicode(e)) > self.log.debug("Registration check returned %s", msg) > checks.append('%s: %s' % (check.__class__.__name__, msg)) > except Exception as e: > > > -- > Jun Omae <jun...@gmail.com> (大前 潤) > > -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to trac-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/trac-users/9c03519d-6bc0-4c83-a9fa-e83d0108a309n%40googlegroups.com.