Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

Commit

Permalink
CR fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
akariv committed May 17, 2017
1 parent 3d334fb commit 7129273
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 12 deletions.
9 changes: 5 additions & 4 deletions tabulator/helpers.py
Expand Up @@ -43,16 +43,17 @@ def detect_scheme_and_format(source):
if source.startswith('%s://' % sql_scheme):
return (None, 'sql')

# Format: datapackage
if source.endswith('/datapackage.json'):
return (None, 'datapackage')

# General
parsed = urlparse(source)
scheme = parsed.scheme.lower()
if len(scheme) < 2:
scheme = config.DEFAULT_SCHEME
format = os.path.splitext(parsed.path or parsed.netloc)[1][1:].lower() or None

# Format: datapackage
if parsed.path.endswith('datapackage.json'):
return (None, 'datapackage')

return (scheme, format)


Expand Down
3 changes: 1 addition & 2 deletions tabulator/parsers/datapackage.py
Expand Up @@ -49,11 +49,10 @@ def close(self):

def reset(self):
if isinstance(self.__resource, six.string_types):
print(self.__datapackage.resources)
named_resource = next(iter(filter(
lambda res: res.descriptor['name'] == self.__resource,
self.__datapackage.resources
)))
))) # TODO: use data_package.getResource(name) when v1 is released
self.__resource_iter = named_resource.iter()
else:
self.__resource_iter = \
Expand Down
17 changes: 11 additions & 6 deletions tests/formats/test_datapackage.py
Expand Up @@ -55,12 +55,17 @@ def test_second_resource():


def test_named_resource():
with Stream('data/datapackage.json', resource='number-two', headers=1) as stream:
assert stream.headers == ['id', 'name']
assert stream.read(keyed=True) == [
{'id': 1, 'name': '中国人'},
{'id': 2, 'name': 'english'},
]
curdir = os.getcwd()
try:
os.chdir('data/')
with Stream('datapackage.json', resource='number-two', headers=1) as stream:
assert stream.headers == ['id', 'name']
assert stream.read(keyed=True) == [
{'id': 1, 'name': '中国人'},
{'id': 2, 'name': 'english'},
]
finally:
os.chdir(curdir)


def test_datapackage_list():
Expand Down

0 comments on commit 7129273

Please sign in to comment.