tf_uploader 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  class TfUploader::Command < Thor
2
2
  include Thor::Actions
3
3
 
4
- desc "upload", "Upload a directory of tomb images and sqlite db pulled from the iphone"
4
+ desc "upload", "Upload a directory of tomb images and sqlite db pulled from the iphone. USAGE: tf upload <directory> <auth_token>"
5
5
  def upload(dir, token)
6
6
  TfUploader::Uploader.new(dir, token).upload!
7
7
  end
@@ -1,5 +1,5 @@
1
1
  class TfUploader::Uploader
2
- attr_accessor :base_path, :token
2
+ attr_accessor :base_path, :token, :connection
3
3
 
4
4
  def initialize(directory, token)
5
5
  @base_path = File.expand_path(directory)
@@ -8,12 +8,18 @@ class TfUploader::Uploader
8
8
  @connection = ActiveRecord::Base.establish_connection(
9
9
  :adapter => "sqlite3",
10
10
  :database => File.join(@base_path, "TombfinderNew.sqlite"))
11
+
12
+ unless Tomb.columns.map(&:name).include? "uploaded"
13
+ @connection.connection.add_column('ZTOMB', 'uploaded', 'boolean', :default => false)
14
+ Tomb.reset_column_information
15
+ end
11
16
  end
12
17
 
13
18
  def upload!
14
- tombs = Tomb.all
15
- puts "Posting #{tombs.count} records"
16
- Tomb.all.each do |tomb|
19
+ tombs = Tomb.where(:uploaded => false)
20
+ puts "Posting #{tombs.count} records (#{Tomb.where(:uploaded => true).count} already posted)"
21
+ puts "Response Codes:"
22
+ tombs.each do |tomb|
17
23
  post(tomb)
18
24
  end
19
25
  puts ""
@@ -23,17 +29,21 @@ class TfUploader::Uploader
23
29
  def post(tomb)
24
30
  picture = square_pic(tomb)
25
31
 
26
- RestClient.post(
32
+ response = RestClient.post(
27
33
  "#{TfUploader::HOST}/api/records.json?auth_token=#{token}",
28
34
  :record => tomb.as_json(:gravepic => picture),
29
35
  :favorite => "false",
30
36
  :name => "record",
31
37
  :secret => "U8BsP0TZF"
32
38
  )
33
- print "."
39
+ if response.code == 201
40
+ tomb.update_attribute(:uploaded, true)
41
+ print "201 "
42
+ else
43
+ print "#{response.code} "
44
+ end
34
45
  rescue RestClient::UnprocessableEntity => e
35
- puts ""
36
- puts "Failed to upload record #{tomb.read_attribute("ZGUID")}"
46
+ print "422 "
37
47
  ensure
38
48
  STDOUT.flush
39
49
  end
@@ -47,6 +57,8 @@ class TfUploader::Uploader
47
57
  end
48
58
 
49
59
  image.crop geometry
60
+ image.auto_orient
61
+
50
62
  cropped_path = File.join(base_path, "cropped_" + tomb.file_system_file.path)
51
63
  image.write cropped_path
52
64
  File.new(cropped_path, 'rb')
data/lib/tf_uploader.rb CHANGED
@@ -6,8 +6,8 @@ require 'rest_client'
6
6
  require 'mini_magick'
7
7
 
8
8
  module TfUploader
9
- #HOST = "http://www.tombfinder.com"
10
- HOST = "http://localhost:3000"
9
+ HOST = "http://www.tombfinder.com"
10
+ #HOST = "http://localhost:3000"
11
11
  end
12
12
 
13
13
  require 'tf_uploader/uploader'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf_uploader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-05-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: term-ansicolor
17
- requirement: &2164531120 !ruby/object:Gem::Requirement
17
+ requirement: &2151818080 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.0.7
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2164531120
25
+ version_requirements: *2151818080
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rest-client
28
- requirement: &2164530520 !ruby/object:Gem::Requirement
28
+ requirement: &2151816520 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.6.7
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2164530520
36
+ version_requirements: *2151816520
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: thor
39
- requirement: &2164529900 !ruby/object:Gem::Requirement
39
+ requirement: &2151814560 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.14.6
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2164529900
47
+ version_requirements: *2151814560
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activerecord
50
- requirement: &2164529320 !ruby/object:Gem::Requirement
50
+ requirement: &2151813660 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 3.1.3
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2164529320
58
+ version_requirements: *2151813660
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sqlite3
61
- requirement: &2164528840 !ruby/object:Gem::Requirement
61
+ requirement: &2151812960 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.3.5
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *2164528840
69
+ version_requirements: *2151812960
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: sqlite3-ruby
72
- requirement: &2164528360 !ruby/object:Gem::Requirement
72
+ requirement: &2151812400 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.3.3
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *2164528360
80
+ version_requirements: *2151812400
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: mini_magick
83
- requirement: &2164527860 !ruby/object:Gem::Requirement
83
+ requirement: &2151811540 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,7 +88,7 @@ dependencies:
88
88
  version: '3.4'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *2164527860
91
+ version_requirements: *2151811540
92
92
  description: A ruby command line interface for uploading large numbers of tombs to
93
93
  TombFinder
94
94
  email: rosshale@gmail.com