diff --git a/test_vx.py b/test_vx.py index 61e09bd..409b97f 100644 --- a/test_vx.py +++ b/test_vx.py @@ -8,6 +8,7 @@ from flask.testing import FlaskClient client = FlaskClient(twitfix.app) 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" testVideoTweet="https://twitter.com/Twitter/status/1263145271946551300" testMediaTweet="https://twitter.com/Twitter/status/1118295916874739714" @@ -41,12 +42,19 @@ def test_textTweetExtract(): assert 'extended_entities' not in tweet assert tweet["is_quote_status"]==False -def test_textUserExtract(): +def test_UserExtract(): user = twExtract.extractUser(testUser) assert user["screen_name"]=="jack" assert user["id"]==12 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(): tweet = twExtract.extractStatus(testVideoTweet) assert tweet["full_text"]==videoVNF_compare['description'] diff --git a/twExtract/__init__.py b/twExtract/__init__.py index a5d548e..645b075 100644 --- a/twExtract/__init__.py +++ b/twExtract/__init__.py @@ -7,7 +7,7 @@ from . import twExtractError guestToken=None pathregex = r"\w{1,15}\/(status|statuses)\/(\d{2,20})" -userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#].*)?$" +userregex = r"^https?:\/\/(?:www\.)?twitter\.com\/(?:#!\/)?@?([^/?#]*)(?:[?#/].*)?$" def getGuestToken(): global guestToken if guestToken is None: