diff --git a/datapackage/resource.py b/datapackage/resource.py index d3b2dae..6c0622b 100644 --- a/datapackage/resource.py +++ b/datapackage/resource.py @@ -105,7 +105,7 @@ def remote_data_path(self): if url: return url else: - path = self._absolute_path(self.descriptor.get('path')) + path = self._absolute_path(self.descriptor.get('path'), '/') if path and _is_url(path): return path @@ -189,10 +189,14 @@ def _load_data(self): if self._resource_file: return self._resource_file.read() - def _absolute_path(self, path): + def _absolute_path(self, path, sep=None): if path is None or self._base_path is None: return path - return os.path.join(self._base_path, path) + if sep is None: + return os.path.join(self._base_path, path) + else: + return sep.join([self._base_path.rstrip(sep), + path.lstrip(sep)]) class TabularResource(Resource):