diff options
| author | Tomás Touceda <chiiph@leap.se> | 2013-08-29 17:41:43 -0300 | 
|---|---|---|
| committer | Tomás Touceda <chiiph@leap.se> | 2013-08-30 15:05:38 -0300 | 
| commit | 97d72aeda6ea094590069ba0d671c00404409d83 (patch) | |
| tree | d6001b34ad44ec5a365eb36525a89b769620ba7c | |
| parent | 5ef6f1ae070ed7e5236aab119d7785f70e54b8e3 (diff) | |
Do not raise on not 2XX error codes
Also accept unicode ascii keys
| -rw-r--r-- | changes/bug_minor_issues | 4 | ||||
| -rw-r--r-- | src/leap/keymanager/__init__.py | 15 | ||||
| -rw-r--r-- | src/leap/keymanager/openpgp.py | 4 | 
3 files changed, 16 insertions, 7 deletions
| diff --git a/changes/bug_minor_issues b/changes/bug_minor_issues new file mode 100644 index 00000000..91a69ed1 --- /dev/null +++ b/changes/bug_minor_issues @@ -0,0 +1,4 @@ +  o Do not raise exception when a GET request doesn't return 2XX +    code. Nickserver uses error codes for more verbosity in the +    result. +  o Accept unicode ascii keys along with str.
\ No newline at end of file diff --git a/src/leap/keymanager/__init__.py b/src/leap/keymanager/__init__.py index 05cbccaa..2f39ad9e 100644 --- a/src/leap/keymanager/__init__.py +++ b/src/leap/keymanager/__init__.py @@ -127,11 +127,16 @@ class KeyManager(object):              self._ca_cert_path is not None,              'We need the CA certificate path!')          res = self._fetcher.get(uri, data=data, verify=self._ca_cert_path) -        # assert that the response is valid -        res.raise_for_status() -        leap_assert( -            res.headers['content-type'].startswith('application/json'), -            'Content-type is not JSON.') +        # Nickserver now returns 404 for key not found and 500 for +        # other cases (like key too small), so we are skipping this +        # check for the time being +        # res.raise_for_status() + +        # Responses are now text/plain, although it's json anyway, but +        # this will fail when it shouldn't +        # leap_assert( +        #     res.headers['content-type'].startswith('application/json'), +        #     'Content-type is not JSON.')          return res      def _put(self, uri, data=None): diff --git a/src/leap/keymanager/openpgp.py b/src/leap/keymanager/openpgp.py index aa04ed09..7946db85 100644 --- a/src/leap/keymanager/openpgp.py +++ b/src/leap/keymanager/openpgp.py @@ -301,9 +301,9 @@ class OpenPGPScheme(EncryptionScheme):          Put key contained in ascii-armored C{key_data} in local storage.          :param key_data: The key data to be stored. -        :type key_data: str +        :type key_data: str or unicode          """ -        leap_assert_type(key_data, str) +        leap_assert_type(key_data, (str, unicode))          # TODO: add more checks for correct key data.          leap_assert(key_data is not None, 'Data does not represent a key.') | 
