Source code for scrubadub.detectors.twitter

import re

from scrubadub.detectors.catalogue import register_detector
from .base import RegexDetector
from ..filth import TwitterFilth


[docs]@register_detector class TwitterDetector(RegexDetector): """Use regular expression magic to remove twitter usernames from dirty dirty ``text``. """ filth_cls = TwitterFilth name = 'twitter' autoload = True # https://help.twitter.com/en/managing-your-account/twitter-username-rules#error # Twitter user names must be 15 or less charachtors and only contain a-zA-Z0-9_ # Twitter and admin are not allowed in user names # (?<!\w) prevents it matching email addresses regex = re.compile(( r"(?<!\w)@((?!((admin)|(twitter)))[a-z0-9_]){2,15}\b" ), re.VERBOSE | re.IGNORECASE)