Support for odd user URLs

This commit is contained in:
Dylan 2023-03-05 21:31:35 +00:00
parent adc85e2e51
commit b06f844494
2 changed files with 10 additions and 2 deletions

View File

@ -8,6 +8,7 @@ from flask.testing import FlaskClient
client = FlaskClient(twitfix.app) client = FlaskClient(twitfix.app)
testUser="https://twitter.com/jack" testUser="https://twitter.com/jack"
testUserWeirdURLs=["https://twitter.com/jack?lang=en","https://twitter.com/jack/with_replies","https://twitter.com/jack/media","https://twitter.com/jack/likes","https://twitter.com/jack/with_replies?lang=en","https://twitter.com/jack/media?lang=en","https://twitter.com/jack/likes?lang=en","https://twitter.com/jack/"]
testTextTweet="https://twitter.com/jack/status/20" testTextTweet="https://twitter.com/jack/status/20"
testVideoTweet="https://twitter.com/Twitter/status/1263145271946551300" testVideoTweet="https://twitter.com/Twitter/status/1263145271946551300"
testMediaTweet="https://twitter.com/Twitter/status/1118295916874739714" testMediaTweet="https://twitter.com/Twitter/status/1118295916874739714"
@ -41,12 +42,19 @@ def test_textTweetExtract():
assert 'extended_entities' not in tweet assert 'extended_entities' not in tweet
assert tweet["is_quote_status"]==False assert tweet["is_quote_status"]==False
def test_textUserExtract(): def test_UserExtract():
user = twExtract.extractUser(testUser) user = twExtract.extractUser(testUser)
assert user["screen_name"]=="jack" assert user["screen_name"]=="jack"
assert user["id"]==12 assert user["id"]==12
assert user["created_at"] == "Tue Mar 21 20:50:14 +0000 2006" assert user["created_at"] == "Tue Mar 21 20:50:14 +0000 2006"
def test_UserExtractWeirdURLs():
for url in testUserWeirdURLs:
user = twExtract.extractUser(url)
assert user["screen_name"]=="jack"
assert user["id"]==12
assert user["created_at"] == "Tue Mar 21 20:50:14 +0000 2006"
def test_videoTweetExtract(): def test_videoTweetExtract():
tweet = twExtract.extractStatus(testVideoTweet) tweet = twExtract.extractStatus(testVideoTweet)
assert tweet["full_text"]==videoVNF_compare['description'] assert tweet["full_text"]==videoVNF_compare['description']

View File

@ -7,7 +7,7 @@ from . import twExtractError
guestToken=None guestToken=None
pathregex = r"\w{1,15}\/(status|statuses)\/(\d{2,20})" pathregex = r"\w{1,15}\/(status|statuses)\/(\d{2,20})"
userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#].*)?$" userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#/].*)?$"
def getGuestToken(): def getGuestToken():
global guestToken global guestToken
if guestToken is None: if guestToken is None: