aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/api
diff options
context:
space:
mode:
authorAlban Peignier2017-08-27 23:50:35 +0200
committerAlban Peignier2017-08-27 23:50:35 +0200
commitd79f84398849e9c32fdf41582d299dd914fb8452 (patch)
treee03fee9d967d8d4435784c9650806c8cfa47ca78 /app/controllers/api
parent4a9923079ed9d1658f7c6321ceab1d7e5c086037 (diff)
downloadchouette-core-d79f84398849e9c32fdf41582d299dd914fb8452.tar.bz2
Create STIF::NetexFile to read zip content and create ReferentialMetadata from real data. Refs #4273
Diffstat (limited to 'app/controllers/api')
-rw-r--r--app/controllers/api/v1/netex_imports_controller.rb22
1 files changed, 18 insertions, 4 deletions
diff --git a/app/controllers/api/v1/netex_imports_controller.rb b/app/controllers/api/v1/netex_imports_controller.rb
index 212ba1302..cb863b9fc 100644
--- a/app/controllers/api/v1/netex_imports_controller.rb
+++ b/app/controllers/api/v1/netex_imports_controller.rb
@@ -48,10 +48,6 @@ module Api
end
def create_referential
- # TODO: >>> REMOVE ME !!!!
- metadata = ReferentialMetadataKludge.make_metadata_from_name! netex_import_params['name']
- # <<< REMOVE ME !!!!
-
@new_referential =
Referential.new(
name: netex_import_params['name'],
@@ -62,6 +58,24 @@ module Api
@new_referential.save
end
+ def metadata
+ metadata = ReferentialMetadata.new
+
+ if netex_import_params['file']
+ netex_file = STIF::NetexFile.new(netex_import_params['file'].to_io)
+ frame = netex_file.frames.first
+
+ if frame
+ metadata.periodes = frame.periods
+
+ line_objectids = frame.line_refs.map { |ref| "STIF:CODIFLIGNE:Line:#{ref}" }
+ metadata.line_ids = @workbench.lines.where(objectid: line_objectids).pluck(:id)
+ end
+ end
+
+ metadata
+ end
+
def netex_import_params
params
.require('netex_import')