Browse Source

Fix new api

xitter updated their api so that the 0th "instruction" in TweetDetails
is not necessarily the one containing the thread.
Yuchen Pei 10 months ago
parent
commit
eec7fd9f70
1 changed files with 13 additions and 4 deletions
  1. 13 4
      exitter.el

+ 13 - 4
exitter.el

@@ -453,7 +453,10 @@ ONEPLUS A3010 Build/PKQ1.181203.001)")
     (alist-get
     (alist-get
      'entries
      'entries
      (let-alist resp
      (let-alist resp
-       (elt .data.threaded_conversation_with_injections_v2.instructions 0))))))
+       (seq-find
+        (lambda (ins)
+          (equal (alist-get 'type ins) "TimelineAddEntries"))
+        .data.threaded_conversation_with_injections_v2.instructions))))))
 
 
 ;;; .content.entryType == "TimelineTimelineItem":
 ;;; .content.entryType == "TimelineTimelineItem":
 
 
@@ -487,6 +490,8 @@ ONEPLUS A3010 Build/PKQ1.181203.001)")
       (exitter-filter-tweet-result .item.itemContent.tweet_results.result))
       (exitter-filter-tweet-result .item.itemContent.tweet_results.result))
      ((equal .item.itemContent.itemType "TimelineTimelineCursor")
      ((equal .item.itemContent.itemType "TimelineTimelineCursor")
       (message "TimelineTimelineCursor encountered. More tweets available"))
       (message "TimelineTimelineCursor encountered. More tweets available"))
+     ((equal .content.entryType "TimelineTimelineCursor")
+      (message "TimelineTimelineCursor encountered. More tweets available"))
      (t (error "Entry with unknown entryType or itemType: %s" (pp entry))))))
      (t (error "Entry with unknown entryType or itemType: %s" (pp entry))))))
 
 
 (defun exitter-filter-tweet-result (result)
 (defun exitter-filter-tweet-result (result)
@@ -524,6 +529,8 @@ ONEPLUS A3010 Build/PKQ1.181203.001)")
        ret))
        ret))
     ("TweetWithVisibilityResults"
     ("TweetWithVisibilityResults"
      (message "Aaaaaaads"))
      (message "Aaaaaaads"))
+    ("TweetTombstone"
+     (message (let-alist result .tombstone.text.text)))
     (_
     (_
      (error "result with unknown __typename: %s" result))))
      (error "result with unknown __typename: %s" result))))
 
 
@@ -558,9 +565,11 @@ Including ancestors and descendants, if any."
 
 
 (defun exitter-save-posts (filtered-details id)
 (defun exitter-save-posts (filtered-details id)
   ;; (pp filtered-details)
   ;; (pp filtered-details)
-  (exitter-save-text-and-switch-to-buffer
-   (exitter-format-posts filtered-details)
-   (format (file-name-concat exitter-dir (format "%s.org" id)))))
+  (if (length= filtered-details 0)
+      (message "Empty filtered-details - will not save.")
+    (exitter-save-text-and-switch-to-buffer
+     (exitter-format-posts filtered-details)
+     (format (file-name-concat exitter-dir (format "%s.org" id))))))
 
 
 (defun exitter-post-url (user post-id)
 (defun exitter-post-url (user post-id)
   (format "https://x.com/%s/status/%s" user post-id))
   (format "https://x.com/%s/status/%s" user post-id))