aboutsummaryrefslogtreecommitdiffstats
path: root/app/exporters
diff options
context:
space:
mode:
authorZakaria BOUZIANE2014-09-15 09:23:20 +0200
committerZakaria BOUZIANE2014-09-15 09:23:20 +0200
commit686dd5c553c1df0260285fc0648fb152acfb15c5 (patch)
treefc2f7fe6e2129846d5fc06fe909e6393ea8d5f9f /app/exporters
parente1c8a62852616fcfcc6a79b6cc4aefc50e4bd628 (diff)
downloadchouette-core-686dd5c553c1df0260285fc0648fb152acfb15c5.tar.bz2
Adding course_operation.txt to HUB Export
Diffstat (limited to 'app/exporters')
-rw-r--r--app/exporters/chouette/hub/exporter.rb2
-rw-r--r--app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb35
2 files changed, 37 insertions, 0 deletions
diff --git a/app/exporters/chouette/hub/exporter.rb b/app/exporters/chouette/hub/exporter.rb
index 5f1a1508f..96e125814 100644
--- a/app/exporters/chouette/hub/exporter.rb
+++ b/app/exporters/chouette/hub/exporter.rb
@@ -84,6 +84,7 @@ class Chouette::Hub::Exporter
@journey_patterns = Chouette::JourneyPattern.where( :route_id => routes.map(&:id) ).order(:name) if routes_exportable?
@vehicle_journeys = Chouette::VehicleJourney.where( :route_id => routes.map(&:id) ).order(:id) if routes_exportable?
+ @vehicle_journeys = Chouette::VehicleJourney.where( :route_id => routes.map(&:id) ).order(:id) if routes_exportable?
vjs = []
tts = []
@@ -107,6 +108,7 @@ class Chouette::Hub::Exporter
if vehicle_journeys_exportable?
Chouette::Hub::VehicleJourneyExporter.save(@vehicle_journeys, temp_dir, hub_export)
Chouette::Hub::VehicleJourneyAtStopExporter.save(vehicle_journey_at_stops, temp_dir, hub_export)
+ Chouette::Hub::VehicleJourneyOperationExporter.save(@vehicle_journeys, temp_dir, hub_export)
else
log_overflow_warning(Chouette::VehicleJourney)
end
diff --git a/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb b/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb
new file mode 100644
index 000000000..37b71c3c1
--- /dev/null
+++ b/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb
@@ -0,0 +1,35 @@
+class Chouette::Hub::VehicleJourneyExporter
+ include ERB::Util
+ attr_accessor :vehicle_journey, :directory, :template
+
+ def initialize(vehicle_journey, directory)
+ @vehicle_journey = vehicle_journey
+ @directory = directory
+ @template = File.open('app/views/api/hub/courses_operations.hub.erb' ) { |f| f.read }
+ end
+
+ def render()
+ ERB.new(@template).result(binding)
+ end
+
+ def hub_name
+ "/COURSE_OPERATION.TXT"
+ end
+
+ def self.save( vehicle_journeys, directory, hub_export)
+ vehicle_journeys.each do |vehicle_journey|
+ self.new( vehicle_journey, directory).tap do |specific_exporter|
+ specific_exporter.save
+ end
+ end
+ hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|VEHICLE_JOURNEY_OPERATION_COUNT", :arguments => {"0" => vehicle_journeys.size})
+ end
+
+ def save
+ File.open(directory + hub_name , "a") do |f|
+ f.write("COURSE_OPERATION\n") if f.size == 0
+ f.write(render)
+ end if vehicle_journey.present?
+ end
+end
+