Skip to content

Commit

Permalink
Remove unused profile API
Browse files Browse the repository at this point in the history
  • Loading branch information
zedeus committed Jan 5, 2022
1 parent ab0c487 commit d726894
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 38 deletions.
14 changes: 4 additions & 10 deletions src/api.nim
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,6 @@ import asyncdispatch, httpclient, uri, strutils
import packedjson
import types, query, formatters, consts, apiutils, parser

proc getGraphProfile*(username: string): Future[Profile] {.async.} =
let
variables = %*{"screen_name": username, "withHighlightedLabel": true}
js = await fetch(graphUser ? {"variables": $variables})
result = parseGraphProfile(js, username)

proc getGraphListBySlug*(name, list: string): Future[List] {.async.} =
let
variables = %*{"screenName": name, "listSlug": list, "withHighlightedLabel": false}
Expand Down Expand Up @@ -38,14 +32,14 @@ proc getListMembers*(list: List; after=""): Future[Result[Profile]] {.async.} =
proc getProfile*(username: string): Future[Profile] {.async.} =
let
ps = genParams({"screen_name": username})
url = userShow ? ps
result = parseUserShow(await fetch(url, oldApi=true), username)
js = await fetch(userShow ? ps, oldApi=true)
result = parseUserShow(js, username=username)

proc getProfileById*(userId: string): Future[Profile] {.async.} =
let
ps = genParams({"user_id": userId})
url = userShow ? ps
result = parseUserShowId(await fetch(url, oldApi=true), userId)
js = await fetch(userShow ? ps, oldApi=true)
result = parseUserShow(js, id=userId)

proc getTimeline*(id: string; after=""; replies=false): Future[Timeline] {.async.} =
let
Expand Down
3 changes: 1 addition & 2 deletions src/consts.nim
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,12 @@ const
search* = api / "2/search/adaptive.json"

timelineApi = api / "2/timeline"
tweet* = timelineApi / "conversation"
timeline* = timelineApi / "profile"
mediaTimeline* = timelineApi / "media"
listTimeline* = timelineApi / "list.json"
tweet* = timelineApi / "conversation"

graphql = api / "graphql"
graphUser* = graphql / "E4iSsd6gypGFWx2eUhSC1g/UserByScreenName"
graphList* = graphql / "ErWsz9cObLel1BF-HjuBlA/ListBySlug"
graphListId* = graphql / "JADTh6cjebfgetzvF3tQvQ/List"

Expand Down
31 changes: 5 additions & 26 deletions src/parser.nim
Original file line number Diff line number Diff line change
Expand Up @@ -26,42 +26,21 @@ proc parseProfile(js: JsonNode; id=""): Profile =

result.expandProfileEntities(js)

proc parseUserShow*(js: JsonNode; username: string): Profile =
if js.isNull:
return Profile(username: username)

with error, js{"errors"}:
proc parseUserShow*(js: JsonNode; username=""; id=""): Profile =
if id.len > 0:
result = Profile(id: id)
else:
result = Profile(username: username)
if error.getError == suspended:
result.suspended = true
return

result = parseProfile(js)

proc parseUserShowId*(js: JsonNode; userId: string): Profile =
if js.isNull:
return Profile(id: userId)
if js.isNull: return

with error, js{"errors"}:
result = Profile(id: userId)
if error.getError == suspended:
result.suspended = true
return

result = parseProfile(js)

proc parseGraphProfile*(js: JsonNode; username: string): Profile =
if js.isNull: return
with error, js{"errors"}:
result = Profile(username: username)
if error.getError == suspended:
result.suspended = true
return

let user = js{"data", "user", "legacy"}
let id = js{"data", "user", "rest_id"}.getStr
result = parseProfile(user, id)

proc parseGraphList*(js: JsonNode): List =
if js.isNull: return

Expand Down

0 comments on commit d726894

Please sign in to comment.