diff options
| author | Zakaria BOUZIANE | 2014-10-07 15:44:58 +0200 | 
|---|---|---|
| committer | Zakaria BOUZIANE | 2014-10-07 15:44:58 +0200 | 
| commit | d2eb3a6d8b7fca06712426d416302934a56a0a28 (patch) | |
| tree | 74074b2a9b8026ec6274ff456df7347fea37302f | |
| parent | bf37e97d8a86814b1bc2f844cbcff86ab0a43266 (diff) | |
| download | chouette-core-d2eb3a6d8b7fca06712426d416302934a56a0a28.tar.bz2 | |
HUB Export : SISMO profile
22 files changed, 254 insertions, 41 deletions
| diff --git a/app/exporters/chouette/hub/connection_link_exporter.rb b/app/exporters/chouette/hub/connection_link_exporter.rb index c7d1820d8..e70c773b9 100644 --- a/app/exporters/chouette/hub/connection_link_exporter.rb +++ b/app/exporters/chouette/hub/connection_link_exporter.rb @@ -6,6 +6,8 @@ class Chouette::Hub::ConnectionLinkExporter      @connection_link = connection_link      @directory = directory      @template = File.open('app/views/api/hub/correspondances.hub.erb' ){ |f| f.read } +    @departure = Chouette::StopArea.find(@connection_link.departure_id) if @connection_link.departure_id +    @arrival = Chouette::StopArea.find(@connection_link.arrival_id) if @connection_link.arrival_id    end    def render() diff --git a/app/exporters/chouette/hub/direction_exporter.rb b/app/exporters/chouette/hub/direction_exporter.rb new file mode 100644 index 000000000..27f89b4a1 --- /dev/null +++ b/app/exporters/chouette/hub/direction_exporter.rb @@ -0,0 +1,39 @@ +class Chouette::Hub::DirectionExporter +  include ERB::Util +  attr_accessor :journey_pattern, :directory, :template +   +  def initialize(journey_pattern, directory) +    @journey_pattern = journey_pattern +    @directory = directory +    @template = File.open('app/views/api/hub/directions.hub.erb' ){ |f| f.read } +    @arrival_stop_point = Chouette::StopPoint.find(@journey_pattern.arrival_stop_point_id) if @journey_pattern.arrival_stop_point_id +    @direction = Chouette::StopArea.find(@arrival_stop_point.stop_area_id) if @arrival_stop_point +    route = Chouette::Route.find(@journey_pattern.route_id) if @journey_pattern.route_id +    @line = Chouette::Line.find(route.line_id) if route +  end +   +  def render() +    ERB.new(@template).result(binding) +  end +   +  def hub_name +    "/DIRECTION.TXT" +  end +   +  def self.save( journey_patterns, directory, hub_export) +    journey_patterns.each do |journey_pattern| +      self.new( journey_pattern, directory).tap do |specific_exporter| +        specific_exporter.save +      end +    end +    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|DIRECTION_COUNT", :arguments => {"0" => journey_patterns.size}) +  end +   +  def save +    File.open(directory + hub_name , "a") do |f| +      f.write("DIRECTION\n") if f.size == 0 +      f.write(render) +    end if journey_pattern.present? +  end +end + diff --git a/app/exporters/chouette/hub/exporter.rb b/app/exporters/chouette/hub/exporter.rb index 4dcc00045..8b9bc226e 100644 --- a/app/exporters/chouette/hub/exporter.rb +++ b/app/exporters/chouette/hub/exporter.rb @@ -30,15 +30,15 @@ class Chouette::Hub::Exporter    def select_lines(object, ids)      if object == "network" -      ids.present? ? Chouette::Line.includes(:routes).where( :network_id => ids.split(",")).order(:name) : -        Chouette::Line.joins(:network).includes(:routes).order(:name) +      ids.present? ? Chouette::Line.includes(:routes).where( :network_id => ids.split(",")).order(:objectid) : +        Chouette::Line.joins(:network).includes(:routes).order(:objectid)      elsif object == "company" -      ids.present? ? Chouette::Line.includes(:routes).where( :company_id => ids.split(",")).order(:name) : -        Chouette::Line.joins(:company).includes(:routes).order(:name) +      ids.present? ? Chouette::Line.includes(:routes).where( :company_id => ids.split(",")).order(:objectid) : +        Chouette::Line.joins(:company).includes(:routes).order(:objectid)      elsif object == "line" && ids.present? -      Chouette::Line.includes(:routes).where( :id => ids.split(",")).order(:name) +      Chouette::Line.includes(:routes).where( :id => ids.split(",")).order(:objectid)      else -      Chouette::Line.includes(:routes).order(:name) +      Chouette::Line.includes(:routes).order(:objectid)      end    end @@ -81,9 +81,23 @@ class Chouette::Hub::Exporter          @time_tables = select_time_tables(options[:start_date], options[:end_date])          @lines = select_lines( options[:o], options[:id] ) -        @routes = lines.map(&:routes).flatten.sort {|a,b| (a.name && b.name) ? a.name <=> b.name : a.id <=> b.id} if lines_exportable? -        @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(:objectid) if routes_exportable? +         +        #@routes = @lines.map(&:routes).flatten.sort {|a,b| (a.name && b.name) ? a.name <=> b.name : a.id <=> b.id} if lines_exportable? +        @routes = [] +        if @lines +          @lines.each { |line| @routes << Chouette::Route.where( "line_id = ?", line.id ) } +        end +        #@routes = @routes.flatten + +        #@journey_patterns = Chouette::JourneyPattern.where(:route_id => @routes.map(&:id)).order(:objectid) if routes_exportable? +        @journey_patterns = [] +        if @routes +          @routes.each { |subroutes| @journey_patterns << Chouette::JourneyPattern.where( :route_id => subroutes.map(&:id) ).order(:objectid) } +        end +        @journey_patterns = @journey_patterns.flatten + +        @routes = @routes.flatten +        @vehicle_journeys = Chouette::VehicleJourney.where(:route_id => @routes.map(&:id)).order(:objectid) if routes_exportable?          vjs = []          tts = [] @@ -96,7 +110,7 @@ class Chouette::Hub::Exporter          @time_tables = tts.flatten.uniq          @vehicle_journeys = vjs.uniq -        vehicle_journey_at_stops = Chouette::VehicleJourneyAtStop.where( :vehicle_journey_id => @vehicle_journeys.map(&:id) ).order(:id) if vehicle_journeys_exportable? +        vehicle_journey_at_stops = Chouette::VehicleJourneyAtStop.where( :vehicle_journey_id => @vehicle_journeys.map(&:id) ) #.order(:id) if vehicle_journeys_exportable?          if time_tables_exportable?            Chouette::Hub::TimeTableExporter.save(@time_tables, temp_dir, hub_export) @@ -104,10 +118,19 @@ class Chouette::Hub::Exporter            log_overflow_warning(Chouette::TimeTable)          end +        if journey_patterns_exportable? +          Chouette::Hub::RouteExporter.save(@routes, temp_dir, hub_export) +          Chouette::Hub::JourneyPatternExporter.save(@journey_patterns, temp_dir, hub_export) +          Chouette::Hub::DirectionExporter.save(@journey_patterns, temp_dir, hub_export) +        else +          log_overflow_warning(Chouette::JourneyPattern) if routes_exportable? +        end +                  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) +          #Chouette::Hub::VehicleJourneyAtStopExporter.save(vehicle_journey_at_stops, temp_dir, hub_export) +          Chouette::Hub::VehicleJourneyAtStopExporter.save(@vehicle_journeys, temp_dir, hub_export, vehicle_journey_at_stops.count)          else            log_overflow_warning(Chouette::VehicleJourney)          end @@ -119,16 +142,10 @@ class Chouette::Hub::Exporter          Chouette::Hub::CommercialStopAreaExporter.save(commercial_stop_areas, temp_dir, hub_export)          Chouette::Hub::PhysicalStopAreaExporter.save(physical_stop_areas, temp_dir, hub_export) -        connection_links = Chouette::ConnectionLink.where( "departure_id IN (?) AND arrival_id IN (?)", (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)), (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)) ) +        connection_links = Chouette::ConnectionLink.where( "departure_id IN (?) AND arrival_id IN (?)", (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)), (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)) ).order(:id)          Chouette::Hub::ConnectionLinkExporter.save(connection_links, temp_dir, hub_export) -        if journey_patterns_exportable? -          Chouette::Hub::JourneyPatternExporter.save(@journey_patterns, temp_dir, hub_export) -        else -          log_overflow_warning(Chouette::JourneyPattern) if routes_exportable? -        end -                  if lines_exportable?            Chouette::Hub::LineExporter.save(@lines, temp_dir, hub_export)            networks = Chouette::Network.where( :id => @lines.map(&:network_id)) diff --git a/app/exporters/chouette/hub/journey_pattern_exporter.rb b/app/exporters/chouette/hub/journey_pattern_exporter.rb index 03f20e6bf..27333d90e 100644 --- a/app/exporters/chouette/hub/journey_pattern_exporter.rb +++ b/app/exporters/chouette/hub/journey_pattern_exporter.rb @@ -7,6 +7,19 @@ class Chouette::Hub::JourneyPatternExporter      @directory = directory      @template = File.open('app/views/api/hub/chemins.hub.erb' ){ |f| f.read }      @type = "COM" +    if @journey_pattern.route +      if @journey_pattern.route.line_id +        @line = Chouette::Line.find(@journey_pattern.route.line_id) +      end +    end +    @stop_areas = [] +    if @journey_pattern.stop_points +      @stop_points = @journey_pattern.stop_points.order(:position) +      if @stop_points +        @stop_points.each { |sp| @stop_areas << Chouette::StopArea.find(sp.stop_area_id) } +      end +    end +    @stop_areas = @stop_areas.flatten    end    def render() diff --git a/app/exporters/chouette/hub/line_exporter.rb b/app/exporters/chouette/hub/line_exporter.rb index f8cf07b60..9804bf96c 100644 --- a/app/exporters/chouette/hub/line_exporter.rb +++ b/app/exporters/chouette/hub/line_exporter.rb @@ -6,6 +6,8 @@ class Chouette::Hub::LineExporter      @line = line      @directory = directory      @template = File.open('app/views/api/hub/lignes.hub.erb' ){ |f| f.read } +    @company = @line.company +    @network = @line.network      if (line.group_of_lines.count > 0)        @group_of_line = line.group_of_lines[0].objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2')      end diff --git a/app/exporters/chouette/hub/physical_stop_area_exporter.rb b/app/exporters/chouette/hub/physical_stop_area_exporter.rb index 23e5d73ec..13e236b68 100644 --- a/app/exporters/chouette/hub/physical_stop_area_exporter.rb +++ b/app/exporters/chouette/hub/physical_stop_area_exporter.rb @@ -7,6 +7,9 @@ class Chouette::Hub::PhysicalStopAreaExporter      @directory = directory      @template = File.open('app/views/api/hub/arrets_physiques.hub.erb' ){ |f| f.read }      @type = "NNNNNNNNNNNNNNNNNN" +    if @stop_area.parent_id +      @parent = Chouette::StopArea.find(@stop_area.parent_id) +    end      @stop_area.referential.projection_type = "27562"      wgs84 = '+proj=lonlat +datum=WGS84 +ellps=WGS84' diff --git a/app/exporters/chouette/hub/route_exporter.rb b/app/exporters/chouette/hub/route_exporter.rb new file mode 100644 index 000000000..2d25df9e0 --- /dev/null +++ b/app/exporters/chouette/hub/route_exporter.rb @@ -0,0 +1,44 @@ +class Chouette::Hub::RouteExporter +  include ERB::Util +  attr_accessor :route, :directory, :template +   +  def initialize(route, directory) +    @route = route +    @directory = directory +    @template = File.open('app/views/api/hub/schemas.hub.erb' ){ |f| f.read } +    @line = Chouette::Line.find(@route.line_id) if @route.line_id +    @stop_areas = [] +    if @route.stop_points +      @stop_points = @route.stop_points.order(:position) +      if @stop_points +        @stop_points.each { |sp| @stop_areas << Chouette::StopArea.find(sp.stop_area_id) } +      end +    end +    @stop_areas = @stop_areas.flatten +  end +   +  def render() +    ERB.new(@template).result(binding) +  end +   +  def hub_name +    "/SCHEMA.TXT" +  end +   +  def self.save( routes, directory, hub_export) +    routes.each do |route| +      self.new( route, directory).tap do |specific_exporter| +        specific_exporter.save +      end +    end +    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|SCHEMA_COUNT", :arguments => {"0" => routes.size}) +  end +   +  def save +    File.open(directory + hub_name , "a") do |f| +      f.write("SCHEMA\n") if f.size == 0 +      f.write(render) +    end if route.present? +  end +end + diff --git a/app/exporters/chouette/hub/vehicle_journey_at_stop_exporter.rb b/app/exporters/chouette/hub/vehicle_journey_at_stop_exporter.rb index 12cb5e1df..25e3bb864 100644 --- a/app/exporters/chouette/hub/vehicle_journey_at_stop_exporter.rb +++ b/app/exporters/chouette/hub/vehicle_journey_at_stop_exporter.rb @@ -2,11 +2,16 @@ class Chouette::Hub::VehicleJourneyAtStopExporter    include ERB::Util    attr_accessor :vehicle_journey_at_stop, :directory, :template -  def initialize(vehicle_journey_at_stop, directory) +  def initialize(vehicle_journey_at_stop, directory, index, id)      @vehicle_journey_at_stop = vehicle_journey_at_stop      @directory = directory +    @vehicle_journey_num = index +    @vehicle_journey_id = id      @template = File.open('app/views/api/hub/horaires.hub.erb' ) { |f| f.read } -    @stop_area_code = Chouette::StopArea.find(@vehicle_journey_at_stop.stop_point.stop_area_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') +    stop_point = @vehicle_journey_at_stop.stop_point +    stop_area = stop_point.stop_area +    @stop_area_code = stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if stop_area +    @stop_area_id = stop_area.id if stop_area      @arrival_time = @vehicle_journey_at_stop.arrival_time.sec + 60 * @vehicle_journey_at_stop.arrival_time.min + 60 * 60 * @vehicle_journey_at_stop.arrival_time.hour      @arrival_type = "A"      @departure_time = @vehicle_journey_at_stop.departure_time.sec + 60 *  @vehicle_journey_at_stop.departure_time.min + 60 * 60 *  @vehicle_journey_at_stop.departure_time.hour @@ -21,13 +26,23 @@ class Chouette::Hub::VehicleJourneyAtStopExporter      "/HORAIRE.TXT"    end -  def self.save( vehicle_journey_at_stops, directory, hub_export) -    vehicle_journey_at_stops.each do |vehicle_journey_at_stop| -      self.new( vehicle_journey_at_stop, directory).tap do |specific_exporter| -        specific_exporter.save +  def self.save( vehicle_journeys, directory, hub_export, vehicle_journey_at_stops_count) +    id = 1 +    vehicle_journeys.each_index do |index| +      vehicle_journey_at_stops = Chouette::VehicleJourneyAtStop.where( :vehicle_journey_id => vehicle_journeys[index].id ).order(:arrival_time) +      vehicle_journey_at_stops.each do |vehicle_journey_at_stop| +        self.new( vehicle_journey_at_stop, directory, index, id).tap do |specific_exporter| +          specific_exporter.save +          id += 1 +        end        end      end -    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|VEHICLE_JOURNEY_AT_STOP_COUNT", :arguments => {"0" => vehicle_journey_at_stops.size}) +    #vehicle_journey_at_stops.each do |vehicle_journey_at_stop| +    #  self.new( vehicle_journey_at_stop, directory).tap do |specific_exporter| +    #    specific_exporter.save +    #  end +    #end +    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|VEHICLE_JOURNEY_AT_STOP_COUNT", :arguments => {"0" => vehicle_journey_at_stops_count})    end    def save diff --git a/app/exporters/chouette/hub/vehicle_journey_exporter.rb b/app/exporters/chouette/hub/vehicle_journey_exporter.rb index 96b458953..b710b2d7a 100644 --- a/app/exporters/chouette/hub/vehicle_journey_exporter.rb +++ b/app/exporters/chouette/hub/vehicle_journey_exporter.rb @@ -19,16 +19,27 @@ class Chouette::Hub::VehicleJourneyExporter      @departure_time_sec = departure_time.sec + ( departure_time.min + departure_time.hour * 60 ) * 60      @arrival_time_sec = arrival_time.sec + ( arrival_time.min + arrival_time.hour * 60 ) * 60      @validity = 0 -    @vehicle_journey.time_tables.map(&:int_day_types).each { |v| @validity += v } +    @vehicle_journey.time_tables.map(&:int_day_types).each { |v| @validity |= v } -    periods = Chouette::TimeTablePeriod.where( :time_table_id => @vehicle_journey.time_tables.map(&:id) ).map(&:id) +    periods = Chouette::TimeTable.where( :id => @vehicle_journey.time_tables.map(&:id) ).map(&:objectid)      @periods = ""      unless periods.empty?  -      @periods += periods[0].to_s +      @periods += periods[0].sub(/(\w*\:\w*\:)(\w*)/, '\2')        periods.shift      end      unless periods.empty? -      periods.each { |p| @periods += "|" + p.to_s } +      periods.each { |p| @periods += "|" + p.sub(/(\w*\:\w*\:)(\w*)/, '\2') } +    end +    # USE @renvoi for PMR and TAD and create RENVOI.TXT File +    @renvoi = "" +    if @vehicle_journey.mobility_restricted_suitability +      @renvoi = "1" +    end +    File.open(directory + "/RENVOI.TXT" , "a") do |f| +      if f.size == 0 +        f.write("RENVOI\n")  +        f.write("a:PMR:1\n") +      end      end    end diff --git a/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb b/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb index 3a45f2cab..37b4cc8f9 100644 --- a/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb +++ b/app/exporters/chouette/hub/vehicle_journey_operation_exporter.rb @@ -7,6 +7,65 @@ class Chouette::Hub::VehicleJourneyOperationExporter      @number = index      @directory = directory      @template = File.open('app/views/api/hub/courses_operations.hub.erb' ) { |f| f.read } +    # HUB TMode vs. Neptune TMode +    # transport_mode = "TAD_PMR" if (@vehicle_journey.flexible_service && @vehicle_journey.mobility_restricted_suitability) # SISMO profile : NO TAD_PMR MODE. +    if @vehicle_journey.flexible_service +      transport_mode = "TAD"  +    else +      case @vehicle_journey.transport_mode +      when "Interchange" +        transport_mode = "" +      when "Unknown" +        transport_mode = "" +      when "Coach" +        if @vehicle_journey.mobility_restricted_suitability +          transport_mode = "CAR_PMR" +        else +          transport_mode = "CAR" +        end +      when "Air" +        transport_mode = "AVION" +      when "Waterborne" +        transport_mode = "BATEAU" +      when "Bus" +        if @vehicle_journey.mobility_restricted_suitability +          transport_mode = "BUS_PMR" +        else +          transport_mode = "BUS" +        end +      when "Ferry" +        transport_mode = "BATEAU" +      when "Walk" +        transport_mode = "" +      when "Metro" +        transport_mode = "METRO" +      when "Shuttle" +        transport_mode = "" +      when "RapidTransit" +        transport_mode = "" +      when "Taxi" +        transport_mode = "TAXIBUS" +      when "LocalTrain" +        transport_mode = "TRAIN" +      when "Train" +        transport_mode = "TRAIN" +      when "LongDistance_train" +        transport_mode = "TRAIN" +      when "Tramway" +        transport_mode = "TRAM" +      when "Trolleybus" +        transport_mode = "TROLLEY" +      when "PrivateVehicle" +        transport_mode = "" +      when "Bicycle" +        transport_mode = "VELO" +      when "Other" +        transport_mode = "" +      else +        transport_mode = "" +      end +    end +    @transport_mode = transport_mode    end    def render() @@ -28,7 +87,7 @@ class Chouette::Hub::VehicleJourneyOperationExporter      #    specific_exporter.save      #  end      #end -    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|VEHICLE_JOURNEY_COUNT", :arguments => {"0" => vehicle_journeys.size}) +    hub_export.log_messages.create( :severity => "ok", :key => "EXPORT|VEHICLE_JOURNEY_OPERATION_COUNT", :arguments => {"0" => vehicle_journeys.size})    end    def save diff --git a/app/views/api/hub/arrets_generiques.hub.erb b/app/views/api/hub/arrets_generiques.hub.erb index bb989920f..89fe718a2 100644 --- a/app/views/api/hub/arrets_generiques.hub.erb +++ b/app/views/api/hub/arrets_generiques.hub.erb @@ -1 +1 @@ -<%= @stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @stop_area.name %>;<%= @stop_area.nearest_topic_name %>;<%= @type %>;;;;;;<%= @stop_area.comment %>;<%= @stop_area.id %> +<%= @stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @stop_area.objectid %>;<%= @stop_area.name if @stop_area.name %>;<%= @stop_area.nearest_topic_name if @stop_area.nearest_topic_name %>;<%= @type %>;;<%= (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[0] : '' %>;<%=  (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[1] : '' %>;<%= @stop_area.city_name if @stop_area.city_name %>;<%= @stop_area.country_code if @stop_area.country_code %>;<%= @stop_area.comment if @stop_area.comment %>;<%= @stop_area.id %> diff --git a/app/views/api/hub/arrets_physiques.hub.erb b/app/views/api/hub/arrets_physiques.hub.erb index a63ee2335..8164ae35c 100644 --- a/app/views/api/hub/arrets_physiques.hub.erb +++ b/app/views/api/hub/arrets_physiques.hub.erb @@ -1 +1 @@ -<%= @stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @stop_area.name %>;;<%= @type %>;<%= Chouette::StopArea.find(@stop_area.parent_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[0] : -1 %>;<%=  (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[1] : -1 %>;<%= @stop_area.city_name %>;<%= @stop_area.country_code %>;<%= @stop_area.comment %>;<%= @stop_area.id %> +<%= @stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @stop_area.objectid %>;<%= @stop_area.name if @stop_area.name %>;<%= @stop_area.nearest_topic_name if @stop_area.nearest_topic_name %>;<%= @type %>;<%= @parent.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @parent %>;<%= (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[0] : -1 %>;<%=  (@stop_area.latitude && @stop_area.longitude) ? RGeo::CoordSys::Proj4::transform_coords(@from_projection, @to_projection, @stop_area.longitude, @stop_area.latitude)[1] : -1 %>;<%= @stop_area.city_name if @stop_area.city_name %>;<%= @stop_area.country_code if @stop_area.country_code %>;<%= @stop_area.comment if @stop_area.comment %>;<%= @stop_area.id %> diff --git a/app/views/api/hub/chemins.hub.erb b/app/views/api/hub/chemins.hub.erb index 37c5b1260..9d94cebd0 100644 --- a/app/views/api/hub/chemins.hub.erb +++ b/app/views/api/hub/chemins.hub.erb @@ -1 +1 @@ -<%= Chouette::Line.find(@journey_pattern.route.line_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @journey_pattern.registration_number %>;<%= @journey_pattern.name %>;<%= @journey_pattern.route.wayback == 'A' ? 1 : 2 %>;<%= @type %>;<% @journey_pattern.stop_points.each do |sp| %>;<%= Chouette::StopArea.find(sp.stop_area_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= sp.stop_area_id %>;;<% end %> +<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @journey_pattern.objectid %>;<%= @journey_pattern.registration_number if @journey_pattern.registration_number %>;<%= @journey_pattern.name if @journey_pattern.name %>;<%= (@journey_pattern.route.wayback == 'A' ? 1 : 2) if @journey_pattern.route %>;<%= @type %>;<% @stop_areas.each do |s| %>;<%= s.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if s.objectid %>;<%= s.id %>;;<% end %> diff --git a/app/views/api/hub/correspondances.hub.erb b/app/views/api/hub/correspondances.hub.erb index 91fdd9215..77c558953 100644 --- a/app/views/api/hub/correspondances.hub.erb +++ b/app/views/api/hub/correspondances.hub.erb @@ -1 +1 @@ -<%= Chouette::StopArea.find(@connection_link.departure_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @connection_link.departure_id %>;<%= Chouette::StopArea.find(@connection_link.arrival_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @connection_link.arrival_id %>;<%= @connection_link.link_distance %>;<%= @connection_link.default_duration %>;<%= @connection_link.id %> +<%= @departure.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @departure %>;<%= @connection_link.departure_id %>;<%= @arrival.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @connection_link.arrival_id %>;<%= @connection_link.link_distance %>;<%= @connection_link.default_duration %>;<%= @connection_link.id %> diff --git a/app/views/api/hub/courses.hub.erb b/app/views/api/hub/courses.hub.erb index b0ef2fe2b..cf711ca6b 100644 --- a/app/views/api/hub/courses.hub.erb +++ b/app/views/api/hub/courses.hub.erb @@ -1,2 +1,2 @@ -<%= @numero %>;;;<%= @departure_stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @departure_time_sec %>;<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= "D" %>;<%= (@route.wayback == "R") ? 2 : 1 %>;<%= @validity %>;;<%= @departure_stop_area.id %>;;<%= @periods %>;<%= 1 %>; -<%= @numero %>;;;<%= @arrival_stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @arrival_time_sec %>;<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= "A" %>;<%= (@route.wayback == "R") ? 2 : 1 %>;<%= @validity %>;;<%= @arrival_stop_area.id %>;;<%= @periods %>;<%= 1 %>; +<%= @numero %>;;;<%= @departure_stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @departure_stop_area %>;<%= @departure_time_sec %>;<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @journey_pattern %>;<%= "D" %>;<%= (@route.wayback == "R") ? 2 : 1 %>;<%= @validity %>;;<%= @departure_stop_area.id if @departure_stop_area %>;<%= @renvoi %>;<%= @periods %>;<%= 1 %>;<%= @vehicle_journey.id %> +<%= @numero %>;;;<%= @arrival_stop_area.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @arrival_stop_area %>;<%= @arrival_time_sec %>;<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @journey_pattern %>;<%= "A" %>;<%= (@route.wayback == "R") ? 2 : 1 %>;<%= @validity %>;;<%= @arrival_stop_area.id if @arrival_stop_area %>;<%= @renvoi %>;<%= @periods %>;<%= 1 %>;<%= @vehicle_journey.id %> diff --git a/app/views/api/hub/courses_operations.hub.erb b/app/views/api/hub/courses_operations.hub.erb index ee6b27581..503018825 100644 --- a/app/views/api/hub/courses_operations.hub.erb +++ b/app/views/api/hub/courses_operations.hub.erb @@ -1 +1 @@ -<%= @number %>;<%= @vehicle_journey.published_journey_identifier %>;;;<%= @vehicle_journey.transport_mode %>;; +<%= @number %>;<%= @vehicle_journey.published_journey_identifier %>;;;<%= @transport_mode %>;; diff --git a/app/views/api/hub/directions.hub.erb b/app/views/api/hub/directions.hub.erb new file mode 100644 index 000000000..bce4b0a9c --- /dev/null +++ b/app/views/api/hub/directions.hub.erb @@ -0,0 +1 @@ +<%= @direction.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @direction %>;<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line %>;<%= (@journey_pattern.route.wayback == 'A' ? 1 : 2) if @journey_pattern.route %>;<%= @journey_pattern.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @journey_pattern.objectid %> diff --git a/app/views/api/hub/horaires.hub.erb b/app/views/api/hub/horaires.hub.erb index 7716976d6..c9d170be8 100644 --- a/app/views/api/hub/horaires.hub.erb +++ b/app/views/api/hub/horaires.hub.erb @@ -1,2 +1,2 @@ -<%= @stop_area_code %>;<%= @arrival_time %>;<%= @arrival_type %>;<%= @vehicle_journey_at_stop.vehicle_journey_id %>;<%= @vehicle_journey_at_stop.vehicle_journey.journey_pattern_id %>;<%= @vehicle_journey_at_stop.stop_point.stop_area.id %>;<%= @vehicle_journey_at_stop.id %> -<%= @stop_area_code %>;<%= @departure_time %>;<%= @departure_type %>;<%= @vehicle_journey_at_stop.vehicle_journey_id %>;<%= @vehicle_journey_at_stop.vehicle_journey.journey_pattern_id %>;<%= @vehicle_journey_at_stop.stop_point.stop_area.id %>;<%= @vehicle_journey_at_stop.id %> +<%= @stop_area_code %>;<%= @arrival_time %>;<%= @arrival_type %>;<%= @vehicle_journey_num %>;<%= @vehicle_journey_at_stop.vehicle_journey.journey_pattern_id %>;<%= @stop_area_id %>;<%= 2 * @vehicle_journey_id - 1 %> +<%= @stop_area_code %>;<%= @departure_time %>;<%= @departure_type %>;<%= @vehicle_journey_num %>;<%= @vehicle_journey_at_stop.vehicle_journey.journey_pattern_id %>;<%= @stop_area_id %>;<%= 2 * @vehicle_journey_id %> diff --git a/app/views/api/hub/lignes.hub.erb b/app/views/api/hub/lignes.hub.erb index f8b007044..7fb7d24a8 100644 --- a/app/views/api/hub/lignes.hub.erb +++ b/app/views/api/hub/lignes.hub.erb @@ -1 +1 @@ -<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @line.number %>;<%= @line.name %>;;;<%= Chouette::Company.find(@line.company_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= Chouette::Network.find(@line.network_id).objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') %>;<%= @group_of_line %>;<%= @line.id %> +<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line.objectid %>;<%= @line.number %>;<%= @line.name %>;<%= @line.registration_number %>;;<%= @ompany.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @ompany %>;<%= @network.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @network %>;<%= @group_of_line %>;<%= @line.id %> diff --git a/app/views/api/hub/schemas.hub.erb b/app/views/api/hub/schemas.hub.erb new file mode 100644 index 000000000..3a93294f8 --- /dev/null +++ b/app/views/api/hub/schemas.hub.erb @@ -0,0 +1 @@ +<%= @line.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if @line %>;<%= @route.wayback == 'A' ? 1 : 2 %><% @stop_areas.each do |s| %>;<%= s.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') if s.objectid %>;<%= s.id %><% end %> diff --git a/config/deploy.rb b/config/deploy.rb index 5d3324c74..ba622453f 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -12,7 +12,7 @@ set :group_writable, true  set :rake, "bundle exec rake"  set :keep_releases, 4  set :rails_env, "production" #added for delayed job -set :user, "metienne" +set :user, "zbouziane"  set :deploy_via, :copy  set :copy_via, :scp  set :copy_exclude, ".git/*" diff --git a/config/locales/exports.yml b/config/locales/exports.yml index bc9683d0b..041bde2c8 100644 --- a/config/locales/exports.yml +++ b/config/locales/exports.yml @@ -43,7 +43,10 @@ en:        ACCES_LINK_COUNT: "Access Link count : %{0}"        ACCES_POINT_COUNT: "Access Point count : %{0}"        TIME_TABLE_COUNT: "Time Table count : %{0}" +      DIRECTION_COUNT: "Direction count : %{0}" +      SCHEMA_COUNT: "Schema count : %{0}"        VEHICLE_JOURNEY_COUNT: "Vehicle journey count : %{0}" +      VEHICLE_JOURNEY_OPERATION_COUNT: "Vehicle journey operation count : %{0}"        VEHICLE_JOURNEY_AT_STOP_COUNT: "Vehicle journey At Stop count : %{0}"        PHYSICAL_STOP_AREA_COUNT: "Physical Stop Areas count : %{0}"        COMMERCIAL_STOP_AREA_COUNT: "Logical Stop Areas count : %{0}" @@ -161,7 +164,10 @@ fr:        ACCES_LINK_COUNT: "Nombre de liaison d'accès exportées : %{0}"        ACCES_POINT_COUNT: "Nombre de points d'accès exportés : %{0}"        TIME_TABLE_COUNT: "Nombre de tableaux de marche : %{0}" +      DIRECTION_COUNT: "Nombre de directions  : %{0}" +      SCHEMA_COUNT: "Nombre de schémas : %{0}"        VEHICLE_JOURNEY_COUNT: "Nombre de courses : %{0}" +      VEHICLE_JOURNEY_OPERATION_COUNT: "Nombre de courses opérations : %{0}"        VEHICLE_JOURNEY_AT_STOP_COUNT: "Nombre d'horaires : %{0}"        PHYSICAL_STOP_AREA_COUNT: "Nombre d'arrêts physiques : %{0}"        COMMERCIAL_STOP_AREA_COUNT: "Nombre d'arrêts logiques : %{0}" | 
