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 <[email protected]> (大前 潤)
>
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/trac-users/9c03519d-6bc0-4c83-a9fa-e83d0108a309n%40googlegroups.com.