Skip to content

Commit d661cfe

Browse files
committed
Add remaining methods (untested)
1 parent f27fa95 commit d661cfe

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

scuttle/versions/v1.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,59 @@ def get_revision(self, revision_id):
4444

4545
def get_full_revision(self, revision_id):
4646
return self._request("revision/{}/full", revision_id)
47+
48+
def all_forums(self):
49+
return self._request("forum")
50+
51+
def forum(self, forum_id):
52+
return self._request("forum/{}", forum_id)
53+
54+
def forum_threads(self, forum_id, since=None):
55+
if since is None:
56+
return self._request("forum/{}/threads", forum_id)
57+
elif isinstance(since, int): # TODO other arguments and move since to data
58+
return self._request("forum/{}/since/{}", [forum_id, since])
59+
else:
60+
raise TypeError("`since` must be a UNIX timestamp")
61+
62+
def thread(self, thread_id):
63+
return self._request("thread/{}", thread_id)
64+
65+
def thread_posts(self, thread_id):
66+
return self._request("thread/{}/posts", thread_id) # TODO POST, including since
67+
68+
def post(self, post_id):
69+
return self._request("post/{}", post_id)
70+
71+
def post_children(self, post_id):
72+
return self._request("post/{}/children", post_id)
73+
74+
def post_parent(self, post_id):
75+
return self._request("post/{}/parent", post_id)
76+
77+
def wikidotuser(self, wikidotuser_id):
78+
return self._request("wikidotuser/{}", wikidotuser_id) # TODO typecheck
79+
return self._request("wikidotuser/username/{}", wikidotuser_id)
80+
81+
def wikidotuser_avatar(self, wikidotuser_id):
82+
return self._request("wikidotuser/{}/avatar", wikidotuser_id)
83+
84+
def wikidotuser_pages(self, wikidotuser_id):
85+
return self._request("wikidotuser/{}/pages", wikidotuser_id) # TODO POST
86+
87+
def wikidotuser_posts(self, wikidotuser_id):
88+
return self._request("wikidotuser/{}/posts", wikidotuser_id) # TODO POST
89+
90+
def wikidotuser_revisions(self, wikidotuser_id):
91+
return self._request("wikidotuser/{}/revisions", wikidotuser_id) # TODO POST
92+
93+
def wikidotuser_votes(self, wikidotuser_id):
94+
return self._request("wikidotuser/{}/votes", wikidotuser_id)
95+
96+
def tags(self):
97+
return self._request("tag")
98+
99+
def tag(self, tag_name):
100+
return self._request("tag/{}/pages", tag_name) # TODO allow POST and ids and stuff
101+
102+

0 commit comments

Comments
 (0)