diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-04 18:29:51 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-10-04 18:29:51 +0200 |
commit | ac02fb3af8f028cedda92a33f0957bbb712c9a21 (patch) | |
tree | db5a34f60d58d1754e85e7c48aeb191f60a9ca8e /chimere/utils.py | |
parent | 58aba7b0661d51e98132e2ed1b726c865316b4a2 (diff) | |
download | Chimère-ac02fb3af8f028cedda92a33f0957bbb712c9a21.tar.bz2 Chimère-ac02fb3af8f028cedda92a33f0957bbb712c9a21.zip |
Import: Allow import from uploaded files
Diffstat (limited to 'chimere/utils.py')
-rw-r--r-- | chimere/utils.py | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/chimere/utils.py b/chimere/utils.py index 4cd6f45..4ecf3c4 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -138,8 +138,9 @@ class ImportManager: files.append(None) return files - def get_source_file(self, source, suffixes, dest_dir=None, + def get_source_file(self, suffixes, dest_dir=None, extra_url=None): + source = self.importer_instance.source_file if not hasattr(source, 'read'): if not source: source = self.importer_instance.source \ @@ -182,12 +183,9 @@ class KMLManager(ImportManager): self.importer_instance = importer_instance self.ns = ns - def get(self, source=None): + def get(self): u""" Get data from the source - Args: - - source (None): input file if not provided get it from the distant - source provided in the importer instance. Return a tuple with: - number of new item ; @@ -196,7 +194,7 @@ class KMLManager(ImportManager): """ from models import Marker new_item, updated_item, msg = 0, 0, '' - source, msg = self.get_source_file(source, ['.kml']) + source, msg = self.get_source_file(['.kml']) if msg: return (0, 0, msg) doc = source @@ -277,12 +275,9 @@ class ShapefileManager(ImportManager): u""" Shapefile importer """ - def get(self, source=None): + def get(self): u""" Get data from the source - Args: - - source (None): input file if not provided get it from the distant - source provided in the importer instance. Return a tuple with: - number of new item ; @@ -292,8 +287,7 @@ class ShapefileManager(ImportManager): from models import Marker, Route new_item, updated_item, msg = 0, 0, '' tmpdir = tempfile.mkdtemp() - sources, msg = self.get_source_file(source, - ['.shp', '.dbf', '.prj', '.shx'], + sources, msg = self.get_source_file(['.shp', '.dbf', '.prj', '.shx'], dest_dir=tmpdir) if msg: return (0, 0, msg) @@ -483,19 +477,16 @@ class OSMManager(ImportManager): """ default_source = settings.CHIMERE_XAPI_URL - def get(self, source=None): + def get(self): u""" Get data from the source - Args: - - source (None): input file if not provided get it from the distant - source provided in the importer instance. Return a tuple with: - new items; - updated items; - error detail on error. """ - source, msg = self.get_source_file(source, ['.osm'], + source, msg = self.get_source_file(['.osm'], extra_url=self.importer_instance.filtr) if not source: return (0, 0, msg) |