Changeset - 4cbd89099230
[Not reviewed]
0 4 1
Brett Smith - 7 years ago 2017-05-12 12:12:21
brettcsmith@brettcsmith.org
errors: Start module.
5 files changed with 23 insertions and 33 deletions:
0 comments (0 inline, 0 general)
oxrlib/errors.py
Show inline comments
 
new file 100644
 
class LoaderError(Exception): pass
 
class LoaderNoDataError(LoaderError): pass
 
class LoaderBadRequestError(LoaderError): pass
 
class LoaderSourceError(LoaderError): pass
 
class NoLoadersError(Exception): pass
oxrlib/loaders.py
Show inline comments
...
 
@@ -6,21 +6,3 @@ import urllib.parse
 

	
 
class LoaderError(Exception):
 
    pass
 

	
 

	
 
class LoaderNoDataError(LoaderError):
 
    pass
 

	
 

	
 
class LoaderBadRequestError(LoaderError):
 
    pass
 

	
 

	
 
class LoaderSourceError(LoaderError):
 
    pass
 

	
 

	
 
class NoLoadersError(Exception):
 
    pass
 

	
 
from . import errors
 

	
...
 
@@ -36,3 +18,3 @@ class FileCache:
 
        except FileNotFoundError as error:
 
            raise LoaderNoDataError(path) from error
 
            raise errors.LoaderNoDataError(path) from error
 

	
...
 
@@ -69,7 +51,7 @@ class OXRAPIRequest:
 
        elif status_code == 404 or status_code == 410:
 
            exc_class = LoaderNoDataError
 
            exc_class = errors.LoaderNoDataError
 
        elif status_code >= 500:
 
            exc_class = LoaderSourceError
 
            exc_class = errors.LoaderSourceError
 
        else:
 
            exc_class = LoaderBadRequestError
 
            exc_class = errors.LoaderBadRequestError
 
        with response_body:
...
 
@@ -99,3 +81,3 @@ class LoaderChain:
 
                    response = getattr(loader, orig_func.__name__)(*args, **kwargs)
 
                except LoaderError as this_error:
 
                except errors.LoaderError as this_error:
 
                    error = this_error
...
 
@@ -105,3 +87,3 @@ class LoaderChain:
 
            else:
 
                raise NoLoadersError() if error is None else error
 
                raise errors.NoLoadersError() if error is None else error
 
        return load_wrapper
tests/test_FileCache.py
Show inline comments
...
 
@@ -6,2 +6,3 @@ import pytest
 
from . import relpath
 
import oxrlib.errors
 
import oxrlib.loaders
...
 
@@ -31,3 +32,3 @@ def test_cache_not_found(dummycache, date, base):
 
        cache_file = dummycache.historical(date, base)
 
    except oxrlib.loaders.LoaderNoDataError:
 
    except oxrlib.errors.LoaderNoDataError:
 
        pass
tests/test_LoaderChain.py
Show inline comments
...
 
@@ -4,2 +4,3 @@ import pytest
 

	
 
import oxrlib.errors
 
import oxrlib.loaders
...
 
@@ -9,3 +10,3 @@ from . import any_date
 
SUCCESS_S = '"success"\n'
 
ERROR = oxrlib.loaders.LoaderNoDataError("test")
 
ERROR = oxrlib.errors.LoaderNoDataError("test")
 

	
...
 
@@ -45,3 +46,3 @@ def test_no_loaders(lchain, any_date):
 
        lchain.historical(any_date, 'USD')
 
    except oxrlib.loaders.NoLoadersError:
 
    except oxrlib.errors.NoLoadersError:
 
        pass
tests/test_OXRAPIRequest.py
Show inline comments
...
 
@@ -9,2 +9,3 @@ import urllib.parse
 
import pytest
 
import oxrlib.errors
 
import oxrlib.loaders
...
 
@@ -84,7 +85,7 @@ def test_success(api_client, any_date, base):
 
@pytest.mark.parametrize('status_code,expect_exctype', [
 
    (400, oxrlib.loaders.LoaderBadRequestError),
 
    (403, oxrlib.loaders.LoaderBadRequestError),
 
    (404, oxrlib.loaders.LoaderNoDataError),
 
    (410, oxrlib.loaders.LoaderNoDataError),
 
    (500, oxrlib.loaders.LoaderSourceError),
 
    (400, oxrlib.errors.LoaderBadRequestError),
 
    (403, oxrlib.errors.LoaderBadRequestError),
 
    (404, oxrlib.errors.LoaderNoDataError),
 
    (410, oxrlib.errors.LoaderNoDataError),
 
    (500, oxrlib.errors.LoaderSourceError),
 
])
0 comments (0 inline, 0 general)