diff --git a/btsync/client.py b/btsync/client.py index 31764a9..e0d02f0 100644 --- a/btsync/client.py +++ b/btsync/client.py @@ -17,7 +17,7 @@ def __init__(self, error): self.message = error['message'] def __str__(self): - return self.message + return self.message # pragma: no cover class Client(object): @@ -93,19 +93,23 @@ def _authenticate(self): @property def os_type(self): - return self._make_request(params={'action': 'getostype'})['os'] + return self._make_request( + params={'action': 'getostype'}).get('os', None) @property def version(self): - return self._make_request(params={'action': 'getversion'})['version'] + return self._make_request( + params={'action': 'getversion'}).get('version', None) @property def new_version(self): - return self._make_request(params={'action': 'checknewversion'})['version'] + return self._make_request( + params={'action': 'checknewversion'}).get('version', None) @property def sync_folders(self): - folders = self._make_request(params={'action': 'getsyncfolders'})['folders'] + folders = self._make_request( + params={'action': 'getsyncfolders'}).get('folders', []) return [ Folder(**folder) for folder in folders ] diff --git a/btsync/models.py b/btsync/models.py index 067c6ec..03ce794 100644 --- a/btsync/models.py +++ b/btsync/models.py @@ -38,6 +38,13 @@ class Folder(Model): ('peers', lambda peers: [Peer(**peer) for peer in peers]), ('readonlysecret', str), ('secrettype', int), + ('files', int), + ('status', str), + ('last_modified', str), + ('indexing', bool), + ('has_key', bool), + ('error', str), + ('date_added', str), )