X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/16f5a5ac0c674b258996fcbde1c3fda2e651906a..f435fce007d7817bd35f3beb93f0e3a844446154:/app/models/trace.rb diff --git a/app/models/trace.rb b/app/models/trace.rb index a1e984676..2d055fd28 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -95,7 +95,7 @@ class Trace < ActiveRecord::Base end def mime_type - filetype = `/usr/bin/file -bz #{trace_name}`.chomp + filetype = `/usr/bin/file -Lbz #{trace_name}`.chomp gzipped = filetype =~ /gzip compressed/ bzipped = filetype =~ /bzip2 compressed/ zipped = filetype =~ /Zip archive/ @@ -117,7 +117,7 @@ class Trace < ActiveRecord::Base end def extension_name - filetype = `/usr/bin/file -bz #{trace_name}`.chomp + filetype = `/usr/bin/file -Lbz #{trace_name}`.chomp gzipped = filetype =~ /gzip compressed/ bzipped = filetype =~ /bzip2 compressed/ zipped = filetype =~ /Zip archive/ @@ -174,7 +174,7 @@ class Trace < ActiveRecord::Base # Read in xml as text and return it's Node object representation def self.from_xml(xml, create = false) - p = XML::Parser.string(xml) + p = XML::Parser.string(xml, :options => XML::Parser::Options::NOERROR) doc = p.parse doc.find("//osm/gpx_file").each do |pt| @@ -197,7 +197,7 @@ class Trace < ActiveRecord::Base trace.id = pt["id"].to_i # .to_i will return 0 if there is no number that can be parsed. # We want to make sure that there is no id with zero anyway - raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id == 0 + raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id.zero? end # We don't care about the time, as it is explicitly set on create/update/delete @@ -218,7 +218,7 @@ class Trace < ActiveRecord::Base def xml_file # TODO: *nix specific, could do to work on windows... would be functionally inferior though - check for '.gz' - filetype = `/usr/bin/file -bz #{trace_name}`.chomp + filetype = `/usr/bin/file -Lbz #{trace_name}`.chomp gzipped = filetype =~ /gzip compressed/ bzipped = filetype =~ /bzip2 compressed/ zipped = filetype =~ /Zip archive/