@@ -44,3 +44,59 @@ def get_revision(self, revision_id):
44
44
45
45
def get_full_revision (self , revision_id ):
46
46
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