phoseum-cli 0.0.2 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dcb29425ea8aa603aa478db7af70a3606f0db955c74a3f333299a6c95cebd8a6
4
- data.tar.gz: 3c1f78e8aaa4990a24c2296402566cb20f1790570fac5addf7f49df462a01c99
3
+ metadata.gz: e62ec1e1eb6c93dc221c38db811a6c2fd4da16c6a4f1f557c7abb94eb75c4af3
4
+ data.tar.gz: 01eb24cf20c9c6a9845d83cebea9ef1c584258df42010caf2a13748df489013c
5
5
  SHA512:
6
- metadata.gz: 6588d392a9a9baa63f1ee78148c18f32748706d0828a8c4746f9b29edc6016355c19d5d4ec60687f2da690841a18209ac151239d9ab1969fb69a5f3c1f4fac6d
7
- data.tar.gz: 2397bdeb3ca17ac719d805d19b3c215a6849340baf1ef7bb0ac4aa0ac1bc487fd3bc50e16bf0f98e6e074f6de1bd5c964d23b877c7811feb1ac19c29cfbfecb0
6
+ metadata.gz: aa277283780b5c30e36b43b3184055a4a83d869408915ce20c66e31d894a91a4415ba954c623d1b265ad2677f648cfb8434bd03706c95b71cd49dddd2ff90e48
7
+ data.tar.gz: 4aaeae62b2875999db462317bfb0af842c4d7933df07a11937784c2e14aafaa9a04141f48e548792e60bec361b3b09a16c038ce215d6101d618dfe9236c262df
@@ -19,6 +19,7 @@ options = option_parser(ARGV)
19
19
  BOUNDARY = "AaB03x"
20
20
  $QUIET = options[:quiet] ? true : false
21
21
  $DEBUG = options[:verbose] ? true : false
22
+ $MULTI = options[:multiple] ? true : false
22
23
 
23
24
  client_checks
24
25
 
@@ -61,16 +62,28 @@ def upload(album)
61
62
  end
62
63
  total_size = (total_size + image.size)
63
64
 
65
+ # last resort solution for accents and unrecognizable characters
66
+ # but then will need to remove extension, pass the filter, then add extension again.
67
+ # human_name = check_string_sanity(filename)
68
+ human_name = filename
69
+
70
+ somefound = search_image(image.signature)
71
+ if somefound
72
+ print "Filename: #{human_name} was found repeated in Phoseum Server :: ".yellow
73
+ puts somefound.yellow
74
+ next if !$MULTI
75
+ end
76
+
64
77
  uri = URI.parse($config['SERVERURL'])
65
78
  post_body = []
66
79
  post_body << "--#{BOUNDARY}\r\n"
67
- post_body << "Content-Disposition: form-data; name=\"datafile\"; filename=\"#{File.basename(filename)}\"\r\n"
80
+ post_body << "Content-Disposition: form-data; name=\"datafile\"; filename=\"#{image.signature}\"\r\n"
68
81
  post_body << "Content-Type: #{image.mime_type}\r\n"
69
82
  post_body << "\r\n"
70
83
  post_body << File.read(filename)
71
84
  post_body << "\r\n--#{BOUNDARY}--\r\n"
72
85
  http = Net::HTTP.new(uri.host, uri.port)
73
- headers = headers.merge({ "filename" => filename, "album" => "#{album}" })
86
+ headers = headers.merge({ "filename" => "#{image.signature}.#{image.type}", "album" => "#{album}", "name" => human_name })
74
87
  request = Net::HTTP::Post.new(uri, headers)
75
88
  request.body = post_body.join
76
89
  request["Content-Type"] = "multipart/form-data, boundary=#{BOUNDARY}"
@@ -84,7 +97,6 @@ def upload(album)
84
97
  end
85
98
  print "Format: #{image.type} | Dim.: W = #{image.width} H = #{image.height} | Size: #{imgSZ} : ".yellow if !$QUIET
86
99
 
87
-
88
100
  begin
89
101
  msg_resp = JSON.parse(response.body)
90
102
  if msg_resp['success']
@@ -94,11 +106,11 @@ def upload(album)
94
106
  puts "#{msg_resp['warning']}".yellow
95
107
  warn += 1
96
108
  else
97
- puts "#{msg_resp['error']}".red
109
+ puts "\n#{msg_resp['error']}".red
98
110
  error += 1
99
111
  end
100
112
  rescue
101
- puts "The server sent out an Error:".red
113
+ puts "\nThe server sent out an Error:".red
102
114
  puts clean_html(response.body)
103
115
  exit 1
104
116
  end
@@ -176,7 +188,7 @@ def health(what='',name='')
176
188
  data=list['success']
177
189
  end
178
190
  rescue
179
- puts "The server sent out an Error:".red
191
+ puts "\nThe server sent out an Error:".red
180
192
  puts clean_html(response.body)
181
193
  exit 1
182
194
  end
@@ -301,7 +313,7 @@ def user_login()
301
313
  return list['token']
302
314
  end
303
315
  rescue
304
- puts "The server sent out an Error:".red
316
+ puts "\nThe server sent out an Error:".red
305
317
  puts clean_html(response.body)
306
318
  return false
307
319
  end
@@ -32,6 +32,10 @@ def option_parser(opts)
32
32
  options[:login] = l
33
33
  end
34
34
 
35
+ opts.on("-m", "--multiple", "Ignore repeated images, keep multiple") do |m|
36
+ options[:multiple] = m
37
+ end
38
+
35
39
  opts.on("-v", "--verbose", "Run verbosely (DEBUG mode)") do |v|
36
40
  options[:verbose] = v
37
41
  end
@@ -96,7 +100,7 @@ def client_checks
96
100
  if $config['SERVERURL'] == ''
97
101
  puts "I could not find a valid SERVERURL configuration. CFG is empty.".red
98
102
  exit 1
99
- elsif $config['SERVERURL'] !~ /\A#{URI::regexp(['https'])}\z/
103
+ elsif $config['SERVERURL'] !~ /\A#{URI::regexp(['https', 'http'])}\z/
100
104
  puts "I could not find a valid SERVERURL configuration. Contains: #{$config['SERVERURL']}".red
101
105
  exit 1
102
106
  end
@@ -111,15 +115,57 @@ def client_checks
111
115
  puts "I could not find the DEFAULT_SECRET from Phoseum config, Variable is empty.".red
112
116
  exit 1
113
117
  end
114
-
115
118
  if !$config['SERVERURL']
116
119
  puts "I could not find the SERVERURL from Phoseum config, this client is then useless.".red
117
120
  exit 1
118
121
  end
119
-
120
122
  if !$config['PORT']
121
123
  puts "I could not find the PORT from Phoseum config, this client is then useless.".red
122
124
  exit 1
123
125
  end
126
+ end
127
+
128
+ def clean_html(msg)
129
+ msg.gsub!(/<\/?[^>]*>/, ' ')
130
+ msg.gsub!(/\n\n+/, '\n')
131
+ msg.gsub!(/^\n|\n$/, ' ')
132
+ return msg
133
+ end
124
134
 
135
+ def search_image(sign)
136
+ headers = {}
137
+ if $config['TOKEN']
138
+ headers={ "bearer" => "#{$config['TOKEN']}" }
139
+ else
140
+ if token = user_login()
141
+ headers = { "bearer" => token }
142
+ else
143
+ puts "Login Failed".red
144
+ exit 1
145
+ end
146
+ end
147
+ some_uri="?signature=#{sign}"
148
+ base = URI.parse("#{$config['SERVERURL']}#{some_uri}")
149
+ request = Net::HTTP::Get.new(base,headers)
150
+ response = Net::HTTP.start(base.hostname, $config['PORT'],
151
+ :timeout => $config['CALL_TIMEOUT'],
152
+ :use_ssl => base.scheme == "https",
153
+ :verify_mode => OpenSSL::SSL::VERIFY_PEER,
154
+ :ca_file => $config['CA_TRUST']
155
+ ) do |http|
156
+ http.request(request)
157
+ end
158
+ begin
159
+ list = JSON.parse(response.body)
160
+ if list['warning']
161
+ return list['warning']
162
+ end
163
+ if list['success']
164
+ return false
165
+ end
166
+ rescue
167
+ puts "\nThe server sent out an Error:".red
168
+ puts clean_html(response.body)
169
+ exit 1
170
+ end
125
171
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phoseum-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julio C Hegedus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2020-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yaml