Skip to content

Commit 6367a79

Browse files
committed
Typecheck wikidot user ID
1 parent 2fab049 commit 6367a79

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

scuttle/versions/v1.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,15 @@ def thread_posts(self, thread_id, *,
8888

8989
def thread_posts_since(self, thread_id, since, *,
9090
limit, offset, direction):
91-
if isinstance(since, int):
92-
data = {
93-
'timestamp': since,
94-
'limit': 20 if limit is None else limit,
95-
'offset': 0 if offset is None else offset,
96-
'direction': 'asc' if direction is None else direction,
97-
}
98-
return self._request("thread/{}/since", thread_id, data)
99-
raise TypeError("`since` must be a UNIX timestamp")
91+
if not isinstance(since, int):
92+
raise TypeError("`since` must be a UNIX timestamp")
93+
data = {
94+
'timestamp': since,
95+
'limit': 20 if limit is None else limit,
96+
'offset': 0 if offset is None else offset,
97+
'direction': 'asc' if direction is None else direction,
98+
}
99+
return self._request("thread/{}/since", thread_id, data)
100100

101101
def post(self, post_id):
102102
return self._request("post/{}", post_id)
@@ -108,22 +108,34 @@ def post_parent(self, post_id):
108108
return self._request("post/{}/parent", post_id)
109109

110110
def wikidotuser(self, wikidotuser_id):
111+
if not isinstance(wikidotuser_id, int):
112+
raise TypeError("The Wikidot user ID must be an int")
111113
return self._request("wikidotuser/{}", wikidotuser_id) # TODO typecheck
112114
return self._request("wikidotuser/username/{}", wikidotuser_id)
113115

114116
def wikidotuser_avatar(self, wikidotuser_id):
117+
if not isinstance(wikidotuser_id, int):
118+
raise TypeError("The Wikidot user ID must be an int")
115119
return self._request("wikidotuser/{}/avatar", wikidotuser_id)
116120

117121
def wikidotuser_pages(self, wikidotuser_id):
122+
if not isinstance(wikidotuser_id, int):
123+
raise TypeError("The Wikidot user ID must be an int")
118124
return self._request("wikidotuser/{}/pages", wikidotuser_id) # TODO POST
119125

120126
def wikidotuser_posts(self, wikidotuser_id):
127+
if not isinstance(wikidotuser_id, int):
128+
raise TypeError("The Wikidot user ID must be an int")
121129
return self._request("wikidotuser/{}/posts", wikidotuser_id) # TODO POST
122130

123131
def wikidotuser_revisions(self, wikidotuser_id):
132+
if not isinstance(wikidotuser_id, int):
133+
raise TypeError("The Wikidot user ID must be an int")
124134
return self._request("wikidotuser/{}/revisions", wikidotuser_id) # TODO POST
125135

126136
def wikidotuser_votes(self, wikidotuser_id):
137+
if not isinstance(wikidotuser_id, int):
138+
raise TypeError("The Wikidot user ID must be an int")
127139
return self._request("wikidotuser/{}/votes", wikidotuser_id)
128140

129141
def tags(self):

0 commit comments

Comments
 (0)