phoseum-cli 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7421fbbac2cf512f6be93770f895e789840cb887864d8b2d45839726cc65204f
4
- data.tar.gz: f0fac7c15624a6652ec739c44e3af2fd6c64980da1cf5eceb41f188aa4734255
3
+ metadata.gz: 052beefab210d213c09986b11dfe93e499d328f6523f7f3cba71ecb2502ead53
4
+ data.tar.gz: 75fd5b65b74758d1517c61e65f69295ca445e70ba37e32ae57863da0ddb825d9
5
5
  SHA512:
6
- metadata.gz: '0779e4712800a3a8312128db722b25b99a2084b1a7eb1faa1f609ba83b27d423dd3f7174f1f787618452ffbd0617f722c0db9758356fc94d4f1b7d3daaaf7d69'
7
- data.tar.gz: b299ad615f973916909dcb52f7ef1e4dc9b52a5c6d80d773a2985db5400394036cc8e0802ccaffcc74d35f04eab139079ac9d89bc01b704bd826af80549d22a2
6
+ metadata.gz: 44173a8f4ed5893c0fdd6b5a9ef2b4ab463b091ed4c35f237be7f3ad369044a281d9067edbf7bd9d72670c45973827d9428fc015a6071f4eff5e1ff1ffd55c5f
7
+ data.tar.gz: 68c50ae1d3cc2c35e4d369bc02bbba99236a07a1a3f3e314f73ff411bab7e3ee27965507afbb22b44220df36a411ee10a84586ad5109be62e4e2bf974cba7f95
@@ -23,7 +23,7 @@ $MULTI = options[:multiple] ? true : false
23
23
 
24
24
  client_checks
25
25
 
26
- def upload(album)
26
+ def upload(album,syn_name='',description='')
27
27
  headers = {}
28
28
  if !validate_token($config['TOKEN'])
29
29
  if token = user_login()
@@ -65,7 +65,8 @@ def upload(album)
65
65
  # last resort solution for accents and unrecognizable characters
66
66
  # but then will need to remove extension, pass the filter, then add extension again.
67
67
  # human_name = check_string_sanity(filename)
68
- human_name = filename.gsub!(/(.*)\.JPG|JPEG|PNG|GIF$/i,'\1')
68
+ human_name = filename.dup
69
+ human_name = human_name.gsub!(/(.*)\.JPG|JPEG|PNG|GIF$/i,'\1')
69
70
 
70
71
  somefound = search_image(image.signature)
71
72
  if somefound
@@ -84,6 +85,12 @@ def upload(album)
84
85
  post_body << "\r\n--#{BOUNDARY}--\r\n"
85
86
  http = Net::HTTP.new(uri.host, uri.port)
86
87
  headers = headers.merge({ "filename" => "#{image.signature}.#{image.type}", "album" => "#{album}", "name" => human_name })
88
+ if ! syn_name.nil?
89
+ headers = headers.merge({ "album_name" => syn_name })
90
+ end
91
+ if ! description.nil?
92
+ headers = headers.merge({ "description" => description })
93
+ end
87
94
  request = Net::HTTP::Post.new(uri, headers)
88
95
  request.body = post_body.join
89
96
  request["Content-Type"] = "multipart/form-data, boundary=#{BOUNDARY}"
@@ -468,8 +475,27 @@ case options
468
475
  exit 1
469
476
  else
470
477
  album_clean=check_string_sanity(options[:album])
471
- puts "Using Album destination: #{album_clean}".light_blue if !$QUIET
472
- upload(album_clean)
478
+ usable_name= options[:name] ? options[:name].dup : ''
479
+ usable_desc= options[:description] ? options[:description].dup : ''
480
+ if usable_name.length > 255 || usable_desc.length > 255
481
+ if usable_name.length > 255
482
+ puts "Synthetic name has #{usable_name.length} characters!!".red
483
+ end
484
+ if usable_desc.length > 255
485
+ puts "SHORT Description has #{usable_desc.length} characters!!".red
486
+ end
487
+ puts "This is a huge-ass string mate, what are you doing?".red
488
+ puts "We should limit this to 255 chars. Keep it short. Aborting.".red
489
+ exit 1
490
+ end
491
+ if options[:name]
492
+ usable_name = clean_name(options[:name])
493
+ usable_desc = clean_name(options[:description])
494
+ puts "Using Album destination: #{album_clean} --> Named as '#{usable_name}'".light_blue if !$QUIET
495
+ else
496
+ puts "Using Album destination: #{album_clean}".light_blue if !$QUIET
497
+ end
498
+ upload(album_clean,usable_name,usable_desc)
473
499
  end
474
500
  when -> (l) { l[:login] }
475
501
  puts "Start login process".green if !$QUIET
@@ -20,6 +20,10 @@ def option_parser(opts)
20
20
  options[:delete] = d
21
21
  end
22
22
 
23
+ opts.on("-D", "--description 'SHORTDESC'", "Add album description (up to 255 chars). Use with: [album-path]") do |ds|
24
+ options[:description] = ds
25
+ end
26
+
23
27
  opts.on("-f", "--file-cfg FILENAME", "Use alternative configuration file") do |f|
24
28
  options[:filecfg] = f
25
29
  end
@@ -36,6 +40,10 @@ def option_parser(opts)
36
40
  options[:multiple] = m
37
41
  end
38
42
 
43
+ opts.on("-N", "--name 'REALNAME'", "Set Album's synthetic name. Use with: [album-path]") do |n|
44
+ options[:name] = n
45
+ end
46
+
39
47
  opts.on("-v", "--verbose", "Run verbosely (DEBUG mode)") do |v|
40
48
  options[:verbose] = v
41
49
  end
@@ -149,6 +157,17 @@ def clean_html(msg)
149
157
  return msg
150
158
  end
151
159
 
160
+ def clean_name(nameval)
161
+ name_words = nameval.split(' ')
162
+ name = ''
163
+ name_words.each do |word|
164
+ cword = check_string_sanity(word)
165
+ name = name.nil? ? cword : [name,cword].join(' ')
166
+ end
167
+ name.gsub!(/^\ /,'')
168
+ return name
169
+ end
170
+
152
171
  def check_image_exists(fpath)
153
172
  flocal = fpath.split('/')
154
173
  filename = flocal.last
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.12
4
+ version: 0.0.13
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-20 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: yaml