@@ -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