From 45f272f218d8558f816b26fba90bcaf8639b0a2e Mon Sep 17 00:00:00 2001 From: Dylan Date: Sun, 2 Jul 2023 14:16:08 +0100 Subject: [PATCH 1/2] WhatsApp Basic support (#108) --- twitfix.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/twitfix.py b/twitfix.py index 544b613..816e368 100644 --- a/twitfix.py +++ b/twitfix.py @@ -37,7 +37,11 @@ generate_embed_user_agents = [ "test"] def isValidUserAgent(user_agent): - return user_agent in generate_embed_user_agents + if user_agent in generate_embed_user_agents: + return True + elif "WhatsApp/" in user_agent: + return True + return False @app.route('/') # If the useragent is discord, return the embed, if not, redirect to configured repo directly def default(): From 8133482d490075314cd5153438994f2eb693e311 Mon Sep 17 00:00:00 2001 From: Dylan Date: Sun, 2 Jul 2023 14:56:14 +0100 Subject: [PATCH 2/2] Attempt to fix #107 (Cannot replicate locally) --- test_vx.py | 2 +- twitfix.py | 3 +++ vxlogging.py | 10 +++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/test_vx.py b/test_vx.py index be4bc09..aeeb124 100644 --- a/test_vx.py +++ b/test_vx.py @@ -239,7 +239,7 @@ def test_directEmbed(): def test_message404(): resp = client.get("https://twitter.com/jack/status/12345",headers={"User-Agent":"test"}) assert resp.status_code==200 - assert msgs.failedToScan in str(resp.data) + assert "Failed to scan your link!" in str(resp.data) def test_combine(): twt,e = twitfix.vnfFromCacheOrDL(testMultiMediaTweet) diff --git a/twitfix.py b/twitfix.py index 816e368..ef0a7f2 100644 --- a/twitfix.py +++ b/twitfix.py @@ -61,8 +61,11 @@ def oembedend(): @app.route('/') # Default endpoint used by everything def twitfix(sub_path): + user_agent = request.headers.get('user-agent') match = pathregex.search(sub_path) + if match is not None: + sub_path = match.group(0) if request.url.endswith(".mp4") or request.url.endswith("%2Emp4"): twitter_url = "https://twitter.com/" + sub_path diff --git a/vxlogging.py b/vxlogging.py index 46b2540..cc26c91 100644 --- a/vxlogging.py +++ b/vxlogging.py @@ -2,21 +2,21 @@ IS_DEBUG = False def info(message): message = str(message) - print(f" ➤ [ I ] {message}") + print(f" > [ I ] {message}") def success(message): message = str(message) - print(f" ➤ [ ✔ ] {message}") + print(f" > [ ✔ ] {message}") def error(message): message = str(message) - print(f" ➤ [ ✘ ] {message}") + print(f" > [ ✘ ] {message}") def warn(message): message = str(message) - print(f" ➤ [ ! ] {message}") + print(f" > [ ! ] {message}") def debug(message): if IS_DEBUG: message = str(message) - print(f" ➤ [ D ] {message}") \ No newline at end of file + print(f" > [ D ] {message}") \ No newline at end of file