update docs
authorClaromes <claromes@hey.com>
Sun, 16 Jun 2024 00:04:30 +0000 (21:04 -0300)
committerClaromes <claromes@hey.com>
Sun, 16 Jun 2024 00:04:30 +0000 (21:04 -0300)
README.md
docs/quickstart.rst
docs/todo.rst
waybacktweets/api/export_tweets.py
waybacktweets/api/parse_tweets.py

index 935553b3f67d42d61dccc6966c674ddd48047b4f..5a8890f6a1f59f9d5a954306a2d0b8f732a505fd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,20 +23,26 @@ waybacktweets --from 20150101 --to 20191231 --limit 250 jack
 ### Using Wayback Tweets as a Python Module
 
 ```python
-from waybacktweets import WaybackTweets
-from waybacktweets.utils import parse_date
+from waybacktweets import WaybackTweets, TweetsParser, TweetsExporter
 
-username = "jack"
-collapse = "urlkey"
-timestamp_from = parse_date("20150101")
-timestamp_to = parse_date("20191231")
-limit = 250
-offset = 0
-matchtype = "exact"
-
-api = WaybackTweets(username, collapse, timestamp_from, timestamp_to, limit, offset, matchtype)
+USERNAME = "jack"
 
+api = WaybackTweets(USERNAME)
 archived_tweets = api.get()
+
+if archived_tweets:
+    field_options = [
+        "archived_timestamp",
+        "original_tweet_url",
+        "archived_tweet_url",
+        "archived_statuscode",
+    ]
+
+    parser = TweetsParser(archived_tweets, USERNAME, field_options)
+    parsed_tweets = parser.parse()
+
+    exporter = TweetsExporter(parsed_tweets, USERNAME, field_options)
+    exporter.save_to_csv()
 ```
 
 ### Using Wayback Tweets as a Web App
index 8700ee362fdfaa9491b2e625edb34c8268679c15..f98a5031c71223332eae86909b1cdd501227d495 100644 (file)
@@ -20,21 +20,27 @@ Using Wayback Tweets as a Python Module
 
 .. code-block:: python
 
-    from waybacktweets import WaybackTweets
-    from waybacktweets.utils import parse_date
+    from waybacktweets import WaybackTweets, TweetsParser, TweetsExporter
 
-    username = "jack"
-    collapse = "urlkey"
-    timestamp_from = parse_date("20150101")
-    timestamp_to = parse_date("20191231")
-    limit = 250
-    offset = 0
-    matchtype = "exact"
-
-    api = WaybackTweets(username, collapse, timestamp_from, timestamp_to, limit, offset, matchtype)
+    USERNAME = "jack"
 
+    api = WaybackTweets(USERNAME)
     archived_tweets = api.get()
 
+    if archived_tweets:
+        field_options = [
+            "archived_timestamp",
+            "original_tweet_url",
+            "archived_tweet_url",
+            "archived_statuscode",
+        ]
+
+        parser = TweetsParser(archived_tweets, USERNAME, field_options)
+        parsed_tweets = parser.parse()
+
+        exporter = TweetsExporter(parsed_tweets, USERNAME, field_options)
+        exporter.save_to_csv()
+
 Web App
 -------------
 
index 1dce34299a778cba4d7aa2b490863cc657a7365e..cda3ea5aa1987d898f9c526cf3de49c4bd6d0c6c 100644 (file)
@@ -13,3 +13,7 @@ TODO
 
 |uncheck| Code: Develop a scraper to download snapshots from https://archive.today (`Not planned`)
 
+|uncheck| Code: Unit Tests (`Planned`)
+
+|uncheck| Code: Mapping and parsing of other Twitter-related URLs (`Planned`)
+
index cb789f6f2a16a6705ff370641ff37391a1cda974..4cd5d836526da5fddb9447e3614131a7c316dfa3 100644 (file)
@@ -14,8 +14,8 @@ class TweetsExporter:
 
     :param data: The parsed archived tweets data.
     :param username: The username associated with the tweets.
-    :param field_options: The fields to be included in the exported data.
-    """
+    :param field_options: The fields to be included in the exported data. Options include "archived_urlkey", "archived_timestamp", "original_tweet_url", "archived_tweet_url", "parsed_tweet_url", "parsed_archived_tweet_url", "available_tweet_text", "available_tweet_is_RT", "available_tweet_info", "archived_mimetype", "archived_statuscode", "archived_digest", "archived_length".
+    """  # noqa: E501
 
     def __init__(
         self, data: Dict[str, List[Any]], username: str, field_options: List[str]
index e42f6c583f4912e1236c93c89e47fcac2cb7c0b6..28404e8cf9cdee58900392c54f7373eb9c47e1be 100644 (file)
@@ -147,8 +147,8 @@ class TweetsParser:
 
     :param archived_tweets_response: The response from the archived tweets.
     :param username: The username associated with the tweets.
-    :param field_options: The fields to be included in the parsed data.
-    """
+    :param field_options: The fields to be included in the parsed data. Options include "archived_urlkey", "archived_timestamp", "original_tweet_url", "archived_tweet_url", "parsed_tweet_url", "parsed_archived_tweet_url", "available_tweet_text", "available_tweet_is_RT", "available_tweet_info", "archived_mimetype", "archived_statuscode", "archived_digest", "archived_length".
+    """  # noqa: E501
 
     def __init__(
         self,