diff options
| author | Alban Peignier | 2017-08-27 23:50:35 +0200 |
|---|---|---|
| committer | Alban Peignier | 2017-08-27 23:50:35 +0200 |
| commit | d79f84398849e9c32fdf41582d299dd914fb8452 (patch) | |
| tree | e03fee9d967d8d4435784c9650806c8cfa47ca78 /app/controllers/api | |
| parent | 4a9923079ed9d1658f7c6321ceab1d7e5c086037 (diff) | |
| download | chouette-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.rb | 22 |
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') |
