def large_picture
f = File.new(large_picture_name, "rb")
- logger.info "large picture file: '#{f.path}', bytes: #{File.size(f.path)}"
data = f.sysread(File.size(f.path))
- logger.info "have read data, bytes: '#{data.length}'"
f.close
data
end
def icon_picture
f = File.new(icon_picture_name, "rb")
- logger.info "icon picture file: '#{f.path}'"
data = f.sysread(File.size(f.path))
f.close
data
gzipped = filetype =~ /gzip compressed/
bzipped = filetype =~ /bzip2 compressed/
zipped = filetype =~ /Zip archive/
+ tarred = filetype =~ /tar archive/
if gzipped
mimetype = "application/x-gzip"
mimetype = "application/x-bzip2"
elsif zipped
mimetype = "application/x-zip"
+ elsif tarred
+ mimetype = "application/x-tar"
else
mimetype = "application/gpx+xml"
end
elsif bzipped
system("bunzip2 -c #{trace_name} > #{tmpfile.path}")
elsif zipped
- system("unzip -p #{trace_name} -x '__MACOSX/*' > #{tmpfile.path}")
+ system("unzip -p #{trace_name} -x '__MACOSX/*' > #{tmpfile.path} 2> /dev/null")
end
tmpfile.unlink
f_lon = 0
first = true
- # If there are any existing points for this trace then delete
- # them - we check for existing points first to avoid locking
- # the table in the common case where there aren't any.
- if Tracepoint.where(:gpx_id => id).exists?
- Tracepoint.delete_all(:gpx_id => id)
- end
+ # If there are any existing points for this trace then delete them
+ Tracepoint.delete_all(:gpx_id => id)
gpx.points do |point|
if first