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.
- data/lib/tf_uploader/command.rb +1 -1
- data/lib/tf_uploader/uploader.rb +20 -8
- data/lib/tf_uploader.rb +2 -2
- metadata +15 -15
data/lib/tf_uploader/command.rb
CHANGED
@@ -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
|
data/lib/tf_uploader/uploader.rb
CHANGED
@@ -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.
|
15
|
-
puts "Posting #{tombs.count} records"
|
16
|
-
|
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
|
-
|
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
|
-
|
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
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.
|
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: &
|
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: *
|
25
|
+
version_requirements: *2151818080
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rest-client
|
28
|
-
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: *
|
36
|
+
version_requirements: *2151816520
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: thor
|
39
|
-
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: *
|
47
|
+
version_requirements: *2151814560
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: activerecord
|
50
|
-
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: *
|
58
|
+
version_requirements: *2151813660
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: sqlite3
|
61
|
-
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: *
|
69
|
+
version_requirements: *2151812960
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: sqlite3-ruby
|
72
|
-
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: *
|
80
|
+
version_requirements: *2151812400
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: mini_magick
|
83
|
-
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: *
|
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
|