diff options
Diffstat (limited to '')
-rw-r--r-- | api.py | 11 | ||||
-rw-r--r-- | track_status.py | 8 |
2 files changed, 9 insertions, 10 deletions
@@ -75,18 +75,17 @@ class User: def __str__(self): return self.value - -class Error(RuntimeError): +class APIError(RuntimeError): pass -class InvalidResponseError(Error): +class InvalidAPIResponseError(APIError): def __init__(self, response): self.response = response def __str__(self): return str(self.response) -class ConnectionError(Error): +class APIConnectionError(APIError): pass class API: @@ -114,10 +113,10 @@ class API: with urllib.request.urlopen(url) as request: response = json.loads(request.read().decode()) if 'response' not in response: - raise InvalidResponseError(response) + raise InvalidAPIResponseError(response) return response['response'] except URLError: - raise ConnectionError() + raise APIConnectionError() @staticmethod def _format_param_values(xs): diff --git a/track_status.py b/track_status.py index 3953428..78c0dce 100644 --- a/track_status.py +++ b/track_status.py @@ -4,7 +4,7 @@ import logging, time -import api +from api import * def format_user(user): if user.has_last_name(): @@ -52,7 +52,7 @@ def print_status_update(user): else: user_went_offline(user) -USER_FIELDS = api.User.Field.ONLINE, api.User.Field.LAST_SEEN +USER_FIELDS = User.Field.ONLINE, User.Field.LAST_SEEN def update_status(api, uids): return {user.get_uid(): user for user in api.users_get(uids, USER_FIELDS)} @@ -67,7 +67,7 @@ def loop_update_status(api, uids, timeout=DEFAULT_TIMEOUT): time.sleep(timeout) try: updated_users = update_status(api, uids) - except api.ConnectionError: + except APIConnectionError: continue for uid in updated_users: if users[uid].is_online() != updated_users[uid].is_online(): @@ -101,7 +101,7 @@ if __name__ == '__main__': level=logging.INFO, datefmt='%Y-%m-%d %H:%M:%S') - api = api.API(api.Language.EN) + api = API(Language.EN) try: loop_update_status(api, args.uids, timeout=args.timeout) |