From d0e8ccb912cbf23eabba670bbfe1fff5d659e489 Mon Sep 17 00:00:00 2001 From: Zack Shapiro Date: Sat, 23 Nov 2013 11:15:24 -0800 Subject: [PATCH 1/2] usps tracking now working, version to 0.7.6 rewrote location to include multiple word locations like 'san francisco' or 'los angeles' --- Gemfile.lock | 28 ++++++++++------ lib/trackerific/parsers/usps.rb | 48 ++++++++++++++++++++++++---- lib/trackerific/version.rb | 2 +- spec/lib/trackerific/version_spec.rb | 2 +- trackerific.gemspec | 1 + 5 files changed, 64 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c80c4b3..e5ae059 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - trackerific (0.7.5) + trackerific (0.7.6) activesupport builder httparty (>= 0.12.0) @@ -10,7 +10,7 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (4.0.0) + activesupport (4.0.1) i18n (~> 0.6, >= 0.6.4) minitest (~> 4.2) multi_json (~> 1.3) @@ -21,13 +21,21 @@ GEM nokogiri (>= 1.4.0) atomic (1.1.14) builder (3.2.2) + columnize (0.3.6) coveralls (0.7.0) multi_json (~> 1.3) rest-client simplecov (>= 0.7) term-ansicolor thor + debugger (1.6.2) + columnize (>= 0.3.1) + debugger-linecache (~> 1.2.0) + debugger-ruby_core_source (~> 1.2.3) + debugger-linecache (1.2.0) + debugger-ruby_core_source (1.2.4) diff-lcs (1.1.3) + docile (1.1.0) fakeweb (1.3.0) gyoku (1.1.0) builder (>= 2.1.2) @@ -38,8 +46,8 @@ GEM rack rubyntlm (~> 0.3.2) i18n (0.6.5) - json (1.8.0) - mime-types (1.25) + json (1.8.1) + mime-types (2.0) minitest (4.7.5) multi_json (1.8.2) multi_xml (0.5.5) @@ -66,16 +74,17 @@ GEM nokogiri (>= 1.4.0, < 1.6) nori (~> 2.3.0) wasabi (~> 3.2.0) - simplecov (0.7.1) - multi_json (~> 1.0) - simplecov-html (~> 0.7.1) - simplecov-html (0.7.1) + simplecov (0.8.2) + docile (~> 1.1.0) + multi_json + simplecov-html (~> 0.8.0) + simplecov-html (0.8.0) term-ansicolor (1.2.2) tins (~> 0.8) thor (0.18.1) thread_safe (0.1.3) atomic - tins (0.12.0) + tins (0.13.1) tzinfo (0.3.38) wasabi (3.2.0) httpi (~> 2.0) @@ -87,6 +96,7 @@ PLATFORMS DEPENDENCIES bundler (>= 1.3.5) coveralls (~> 0.7.0) + debugger fakeweb (~> 1.3.0) rake rspec (~> 2.6.0) diff --git a/lib/trackerific/parsers/usps.rb b/lib/trackerific/parsers/usps.rb index 146d877..9df84a5 100644 --- a/lib/trackerific/parsers/usps.rb +++ b/lib/trackerific/parsers/usps.rb @@ -29,19 +29,55 @@ def tracking_info @response['TrackResponse']['TrackInfo'] end - def date(event) +def date(event) + months = { "January" => 0, "Feburary" => 1, "March" => 2, "April" => 3, "May" => 4, "June" => 5, "July" => 6, "August" => 7, "September" => 8, "October" => 9, "November" => 10, "December" => 11 } + d = event.split(" ") - DateTime.parse(d[0..3].join(" ")) + event_hash = Hash[d.map.with_index.to_a] + + month_name = d.find { |element| months[element] } + start_value = event_hash[month_name] + + if d[start_value + 4].present? # set end of range based on am/pm presence + if d[start_value + 4].include?("am") || d[start_value + 4].include?("pm") + + end_value = start_value + 4 + else + end_value = start_value + 2 + end + else + end_value = start_value + 2 + end + + g = DateTime.parse(d[start_value..end_value].join(" ")) end def description(event) - d = event.split(" ") - d[4..d.length-4].join(" ") + # description is always the first thing, separated by a comma from the date + d = event.split(",").first end def location(event) d = event.gsub(".", "").split(" ") - city, state, zip = d.last(3) - "#{city}, #{state} #{zip}" + + if d.last.include?("201") #detecting year 2013/2014/etc., no location present + city, state, zip = ["", "", ""] + else + event_hash = Hash[d.map.with_index.to_a] + + starting_index = event_hash["2013,"] if event_hash["2013,"].present? + starting_index = event_hash["2014,"] if event_hash["2014,"].present? + starting_index = event_hash["am,"] if event_hash["am,"].present? + starting_index = event_hash["pm,"] if event_hash["pm,"].present? + + package_location_array = d[starting_index + 1..d.length] + + zip = package_location_array.last + state = package_location_array[package_location_array.length - 2] + city = package_location_array - [state, zip] + city = city.join(" ") + end + + "#{city} #{state} #{zip}" end end diff --git a/lib/trackerific/version.rb b/lib/trackerific/version.rb index 5cbe7bf..bbf1337 100644 --- a/lib/trackerific/version.rb +++ b/lib/trackerific/version.rb @@ -1,3 +1,3 @@ module Trackerific - VERSION = "0.7.5" + VERSION = "0.7.6" end diff --git a/spec/lib/trackerific/version_spec.rb b/spec/lib/trackerific/version_spec.rb index 4dfcbcc..f254225 100644 --- a/spec/lib/trackerific/version_spec.rb +++ b/spec/lib/trackerific/version_spec.rb @@ -1,5 +1,5 @@ require 'spec_helper' describe Trackerific::VERSION do - it { should eq "0.7.5" } + it { should eq "0.7.6" } end diff --git a/trackerific.gemspec b/trackerific.gemspec index 12487ff..f764e98 100644 --- a/trackerific.gemspec +++ b/trackerific.gemspec @@ -25,6 +25,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '>= 1.3.5' spec.add_development_dependency 'rake' + spec.add_development_dependency 'debugger' spec.add_development_dependency 'rspec', '~> 2.6.0' spec.add_development_dependency 'fakeweb', '~> 1.3.0' spec.add_development_dependency 'coveralls', '~> 0.7.0' From 93212cda104a5c833434edf3a15bbf5bd8dfd72e Mon Sep 17 00:00:00 2001 From: Zack Shapiro Date: Sat, 14 Dec 2013 09:14:28 -0800 Subject: [PATCH 2/2] fixed bug with initial scan not having location --- Gemfile.lock | 4 ++++ lib/trackerific/parsers/ups.rb | 6 +++++- trackerific-0.7.6.gem | Bin 0 -> 39424 bytes 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 trackerific-0.7.6.gem diff --git a/Gemfile.lock b/Gemfile.lock index e5ae059..cc9c00d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -21,6 +21,9 @@ GEM nokogiri (>= 1.4.0) atomic (1.1.14) builder (3.2.2) + byebug (2.3.1) + columnize (~> 0.3.6) + debugger-linecache (~> 1.2.0) columnize (0.3.6) coveralls (0.7.0) multi_json (~> 1.3) @@ -95,6 +98,7 @@ PLATFORMS DEPENDENCIES bundler (>= 1.3.5) + byebug coveralls (~> 0.7.0) debugger fakeweb (~> 1.3.0) diff --git a/lib/trackerific/parsers/ups.rb b/lib/trackerific/parsers/ups.rb index 218af06..d1f6c33 100644 --- a/lib/trackerific/parsers/ups.rb +++ b/lib/trackerific/parsers/ups.rb @@ -50,7 +50,11 @@ def description(a) end def location(a) - a['ActivityLocation']['Address'].map {|k,v| v}.join(" ") + if a['ActivityLocation']['Address'].nil? + "" + else + a['ActivityLocation']['Address'].map {|k,v| v}.join(" ") + end end def activity diff --git a/trackerific-0.7.6.gem b/trackerific-0.7.6.gem new file mode 100644 index 0000000000000000000000000000000000000000..b5328fd8e6bbb3403374b327363af9a84ff78533 GIT binary patch literal 39424 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