Просмотр исходного кода

Include username in status requests

Zed 7 лет назад
Родитель
Сommit
a43950dcf5
2 измененных файлов с 4 добавлено и 5 удалено
  1. 3 4
      src/api.nim
  2. 1 1
      src/nitter.nim

+ 3 - 4
src/api.nim

@@ -14,10 +14,9 @@ const
   timelineParams = "?include_available_features=1&include_entities=1&include_new_items_bar=false&reset_error_state=false"
   timelineParams = "?include_available_features=1&include_entities=1&include_new_items_bar=false&reset_error_state=false"
   showUrl = "i/profiles/show/$1" & timelineParams
   showUrl = "i/profiles/show/$1" & timelineParams
   timelineUrl = showUrl % "$1/timeline/tweets"
   timelineUrl = showUrl % "$1/timeline/tweets"
-  timelineMediaUrl = showUrl % "$1/media_timeline"
   profilePopupUrl = "i/profiles/popup"
   profilePopupUrl = "i/profiles/popup"
   profileIntentUrl = "intent/user"
   profileIntentUrl = "intent/user"
-  tweetUrl = "i/status/"
+  tweetUrl = "status"
   videoUrl = "videos/tweet/config/$1.json"
   videoUrl = "videos/tweet/config/$1.json"
   tokenUrl = "guest/activate.json"
   tokenUrl = "guest/activate.json"
 
 
@@ -198,7 +197,7 @@ proc getTimeline*(username: string; after=""): Future[Timeline] {.async.} =
   result.tweets = parseTweets(html)
   result.tweets = parseTweets(html)
   await getVideos(result.tweets)
   await getVideos(result.tweets)
 
 
-proc getTweet*(id: string): Future[Conversation] {.async.} =
+proc getTweet*(username: string; id: string): Future[Conversation] {.async.} =
   let headers = newHttpHeaders({
   let headers = newHttpHeaders({
     "Accept": "application/json, text/javascript, */*; q=0.01",
     "Accept": "application/json, text/javascript, */*; q=0.01",
     "Referer": $base,
     "Referer": $base,
@@ -211,7 +210,7 @@ proc getTweet*(id: string): Future[Conversation] {.async.} =
   })
   })
 
 
   let
   let
-    url = base / tweetUrl / id
+    url = base / username / tweetUrl / id
     html = await fetchHtml(url, headers)
     html = await fetchHtml(url, headers)
 
 
   if html.isNil:
   if html.isNil:

+ 1 - 1
src/nitter.nim

@@ -43,7 +43,7 @@ routes:
   get "/@name/status/@id":
   get "/@name/status/@id":
     cond '.' notin @"name"
     cond '.' notin @"name"
 
 
-    let conversation = await getTweet(@"id")
+    let conversation = await getTweet(@"name", @"id")
     if conversation.isNil or conversation.tweet.id.len == 0:
     if conversation.isNil or conversation.tweet.id.len == 0:
       resp Http404, showError("Tweet not found")
       resp Http404, showError("Tweet not found")