aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2019-08-13 13:48:03 +0100
committerGravatar jesopo2019-08-13 13:48:03 +0100
commit03c7e8f0665c1036ece49155340697aa3b2d107d (patch)
tree55cb3283e4c27389b2b0a75107feef5be66243c9 /modules
parent"!yt" without args should get .message from BufferLine (diff)
signature
return matching string from buffer.find() as most uses were redundantly regexing
Diffstat (limited to 'modules')
-rw-r--r--modules/ip_addresses.py5
-rw-r--r--modules/sed.py13
-rw-r--r--modules/shorturl.py3
-rw-r--r--modules/soundcloud.py3
-rw-r--r--modules/title.py6
-rw-r--r--modules/tweets/__init__.py3
-rw-r--r--modules/youtube.py2
7 files changed, 17 insertions, 18 deletions
diff --git a/modules/ip_addresses.py b/modules/ip_addresses.py
index 1f4fd6d7..07b1a463 100644
--- a/modules/ip_addresses.py
+++ b/modules/ip_addresses.py
@@ -7,7 +7,7 @@ import dns.resolver
URL_GEOIP = "http://ip-api.com/json/%s"
REGEX_IPv6 = r"(?:(?:[a-f0-9]{1,4}:){2,}|[a-f0-9:]*::)[a-f0-9:]*"
REGEX_IPv4 = r"(?:\d{1,3}\.){3}\d{1,3}"
-REGEX_IP = re.compile("(%s)|(%s)" % (REGEX_IPv4, REGEX_IPv6), re.I)
+REGEX_IP = re.compile("%s|%s" % (REGEX_IPv4, REGEX_IPv6), re.I)
class DnsSetting(utils.Setting):
def parse(self, value: str) -> typing.Any:
@@ -109,8 +109,7 @@ class Module(ModuleManager.BaseModule):
if not ip:
line = event["target"].buffer.find(REGEX_IP)
if line:
- match = REGEX_IP.search(line.message)
- ip = match.group(1) or match.group(2)
+ ip = line.match
if not ip:
raise utils.EventError("No IP provided")
diff --git a/modules/sed.py b/modules/sed.py
index 0716d04d..c54c56fd 100644
--- a/modules/sed.py
+++ b/modules/sed.py
@@ -54,12 +54,13 @@ class Module(ModuleManager.BaseModule):
for_user = event["user"].nickname if self._closest_setting(event,
"sed-sender-only", False) else None
- line = event["target"].buffer.find(pattern, from_self=False,
+ match = event["target"].buffer.find(pattern, from_self=False,
for_user=for_user, not_pattern=REGEX_SED)
- if line:
- new_message = re.sub(pattern, replace, line.message, count)
- if line.action:
- prefix = "* %s" % line.sender
+ if match:
+ new_message = re.sub(pattern, replace, match.line.message,
+ count)
+ if match.line.action:
+ prefix = "* %s" % match.line.sender
else:
- prefix = "<%s>" % line.sender
+ prefix = "<%s>" % match.line.sender
event["stdout"].write("%s %s" % (prefix, new_message))
diff --git a/modules/shorturl.py b/modules/shorturl.py
index 668ac0a4..77a9a352 100644
--- a/modules/shorturl.py
+++ b/modules/shorturl.py
@@ -72,8 +72,7 @@ class Module(ModuleManager.BaseModule):
else:
url = target.buffer.find(utils.http.REGEX_URL)
if url:
- url = re.search(utils.http.REGEX_URL, url.message).group(0)
- url = utils.http.url_sanitise(url)
+ url = utils.http.url_sanitise(url.match)
if not url:
raise utils.EventError("No URL provided/found.")
return url
diff --git a/modules/soundcloud.py b/modules/soundcloud.py
index 5b24b28e..a91faa10 100644
--- a/modules/soundcloud.py
+++ b/modules/soundcloud.py
@@ -30,8 +30,7 @@ class Module(ModuleManager.BaseModule):
else:
last_soundcloud = event["target"].buffer.find(REGEX_SOUNDCLOUD)
if last_soundcloud:
- url = re.match(REGEX_SOUNDCLOUD,
- last_soundcloud.message).string
+ url = last_soundcloud.match
if not query and not url:
raise utils.EventError("no search phrase provided")
diff --git a/modules/title.py b/modules/title.py
index 703ea476..9308dddc 100644
--- a/modules/title.py
+++ b/modules/title.py
@@ -84,9 +84,9 @@ class Module(ModuleManager.BaseModule):
if len(event["args"]) > 0:
url = event["args_split"][0]
else:
- url = event["target"].buffer.find(utils.http.REGEX_URL)
- if url:
- url = re.search(utils.http.REGEX_URL, url.message).group(0)
+ match = event["target"].buffer.find(utils.http.REGEX_URL)
+ if match:
+ url = match.match
if not url:
raise utils.EventError("No URL provided/found.")
diff --git a/modules/tweets/__init__.py b/modules/tweets/__init__.py
index 9aaaab17..c07cd739 100644
--- a/modules/tweets/__init__.py
+++ b/modules/tweets/__init__.py
@@ -152,7 +152,8 @@ class Module(ModuleManager.BaseModule):
else:
target = event["target"].buffer.find(REGEX_TWITTERURL)
if target:
- target = target.message
+ target = target.match
+
if target:
url_match = re.search(REGEX_TWITTERURL, target)
if url_match or target.isdigit():
diff --git a/modules/youtube.py b/modules/youtube.py
index 1746c7e1..8675ff78 100644
--- a/modules/youtube.py
+++ b/modules/youtube.py
@@ -124,7 +124,7 @@ class Module(ModuleManager.BaseModule):
search = event["args"]
else:
url = event["target"].buffer.find(REGEX_YOUTUBE)
- url = url.message if url else None
+ url = url.match if url else None
if not url:
safe_setting = event["target"].get_setting("youtube-safesearch", True)