usd 1.3.3 → 1.3.4

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: 8341a6edac193e671ccde850088a693d452bd571e7685bdba3ed59b6a10dc9c7
4
- data.tar.gz: f9688b4546873b2b0d1ae35555080d0c965a2897e69823dc633131df4f6ecd63
3
+ metadata.gz: f324bd2fb86597239321dad232f442527502773a66fda4cf5096e9ebec7d30b1
4
+ data.tar.gz: 8376aa51f4e5ec5be644c452d93bb7b975c02368121cb7be2c80baa2ae14dac9
5
5
  SHA512:
6
- metadata.gz: ab1cede636c31e94a3b5d4834c894db2d655638c5582e737e00c372617620dce66dc11839ff5d9ce22da4c378b5a91b027591a68d59ef41e0898fe1d1a6961ef
7
- data.tar.gz: ea878deaa14d2ed86591b67b54851584055e11e80b46bf104572f4784b90f16616e154ef779da4d10fdf339cab5550f53a8f48e0165a75396bc128a2097ae807
6
+ metadata.gz: 03c0822a8e18840e2beda5b720fd9bb81fb64c8bf3bd17f6ee10db9af77c9bb97157fa5faad5ff31c7cd3976c64bf0f3d98994b6878e9527b6b986cebc3ff67a
7
+ data.tar.gz: bb0df905af199fa12e3abaa0e83debde076e9bc40a204dd75dd5c07d930f592ce2b4c34cf510dc4402592dc770ed898560ce628f34280a996e1b82a4b24ad4ca
data/README.md CHANGED
@@ -40,8 +40,6 @@ If you use the `rusdc find` command with `--format mlr` option then you need `ml
40
40
 
41
41
  Place the `mlr`-binary in a path, which is in your PATH-Environment. Download-Url for mlr-releases: [https://github.com/johnkerl/miller/releases](https://github.com/johnkerl/miller/releases).
42
42
 
43
- For uloading attachments `unix2dos` and `base64` is used.
44
-
45
43
  # functions from the commandline-tool `rusdc`
46
44
 
47
45
  ```
data/bin/rusdc CHANGED
@@ -9,7 +9,7 @@ class Rusdc < Thor
9
9
 
10
10
  desc "chg_add_attachment <co> <file>", "attach the file to co"
11
11
  def chg_add_attachment(co, file)
12
- response = upload_attachment(file, loadcon.base_url, loadcon.access_key)
12
+ response = loadcon.upload_attachment(file)
13
13
  puts response
14
14
  data = JSON.parse(response)
15
15
  template = ERB.new <<-EOF
@@ -242,7 +242,7 @@ class Rusdc < Thor
242
242
  #lrel_attachments_requests",{'fields' => "attmnt","wc" => "cr.ref_num
243
243
  desc "in_add_attachment <in> <file>", "attach the file to incident"
244
244
  def in_add_attachment(incident, file)
245
- response = upload_attachment(file, loadcon.base_url, loadcon.access_key)
245
+ response = loadcon.upload_attachment(file)
246
246
  puts response
247
247
  data = JSON.parse(response)
248
248
  template = ERB.new <<-EOF
@@ -302,7 +302,7 @@ class Rusdc < Thor
302
302
 
303
303
  desc "nr_add_attachment <nr> <file>", "attach the file to nr"
304
304
  def nr_add_attachment(nr, file)
305
- response = upload_attachment(file, loadcon.base_url, loadcon.access_key)
305
+ response = loadcon.upload_attachment(file)
306
306
  puts response
307
307
  data = JSON.parse(response)
308
308
  nr_id = loadcon.search("nr",{'fields' => "@id","wc" => "name = '#{nr}'"})[0]["@id"]
@@ -569,26 +569,6 @@ END:VCARD
569
569
  end
570
570
  end
571
571
 
572
- def upload_attachment(file, baseurl, ak)
573
- baseurl =~ /^([^:]+):/
574
- server = $1
575
- filename = File.basename(file)
576
- uri = "/caisd-rest/attmnt?repositoryId=1002&serverName=#{server}&mimeType=Text&description=#{filename}"
577
- url = URI("#{baseurl}#{uri}")
578
- http = Net::HTTP.new(url.host, url.port);
579
- request = Net::HTTP::Post.new(url)
580
- request["X-AccessKey"] = ak
581
- request["Content-Type"] = "multipart/form-data; BOUNDARY=*****MessageBoundary*****"
582
- request["accept"] = "application/json"
583
- request["Cache-Control"] = "no-cache"
584
- fileObj = File.open(file, "rb")
585
- fileContent = fileObj.read
586
- fileObj.close
587
- request.body = "--*****MessageBoundary*****\r\n \r\nContent-Disposition: form-data; name=\"payload\" \r\nContent-Type: application/xml; CHARACTERSET=UTF-8 \r\n\r\n \r\n<attmnt> \r\n<repository id=\"1002\"></repository> \r\n<orig_file_name>#{filename}</orig_file_name> \r\n<attmnt_name>#{filename}</attmnt_name> \r\n<description>Uploaded with rusdc from rubygem usd</description> \r\n</attmnt> \r\n\r\n \r\n--*****MessageBoundary*****\r\n \r\nContent-Disposition: form-data; name=\"#{filename}\"; filename=\"#{filename}\" \r\nContent-Type: application/octet-stream \r\nContent-Transfer-Encoding: base64\r\n\r\n#{Base64.encode64(fileContent)}\r\n\r\n \r\n--*****MessageBoundary*****--\r\n"
588
- response = http.request(request)
589
- response.read_body
590
- end
591
-
592
572
  end
593
573
 
594
574
  Rusdc.start(ARGV)
@@ -1,8 +1,12 @@
1
1
  # rusdc changelog
2
2
 
3
+ ## 1.3.4
4
+
5
+ - move function `upload_attachment` from `bin/rusdc` to `lib/usd`.
6
+
3
7
  ## 1.3.3
4
8
 
5
- - private `Usd` Class funktion changed. Instead using `base64` and `unix2dos` binaries, we use Base64-Ruby-Class now. It is already required by usd.
9
+ - private `rusdc`-funktion `upload_attachment` changed. Instead using `base64` and `unix2dos` binaries, we use Base64-Ruby-Class now. It is already required by usd.
6
10
 
7
11
  ## 1.3.2
8
12
 
Binary file
data/lib/usd.rb CHANGED
@@ -279,6 +279,26 @@ class Usd
279
279
  end
280
280
  end
281
281
 
282
+ def upload_attachment(file, baseurl = @base_url, ak = @access_key)
283
+ baseurl =~ /^([^:]+):/
284
+ server = $1
285
+ filename = File.basename(file)
286
+ uri = "/caisd-rest/attmnt?repositoryId=1002&serverName=#{server}&mimeType=Text&description=#{filename}"
287
+ url = URI("#{baseurl}#{uri}")
288
+ http = Net::HTTP.new(url.host, url.port);
289
+ request = Net::HTTP::Post.new(url)
290
+ request["X-AccessKey"] = ak
291
+ request["Content-Type"] = "multipart/form-data; BOUNDARY=*****MessageBoundary*****"
292
+ request["accept"] = "application/json"
293
+ request["Cache-Control"] = "no-cache"
294
+ fileObj = File.open(file, "rb")
295
+ fileContent = fileObj.read
296
+ fileObj.close
297
+ request.body = "--*****MessageBoundary*****\r\n \r\nContent-Disposition: form-data; name=\"payload\" \r\nContent-Type: application/xml; CHARACTERSET=UTF-8 \r\n\r\n \r\n<attmnt> \r\n<repository id=\"1002\"></repository> \r\n<orig_file_name>#{filename}</orig_file_name> \r\n<attmnt_name>#{filename}</attmnt_name> \r\n<description>Uploaded with rusdc from rubygem usd</description> \r\n</attmnt> \r\n\r\n \r\n--*****MessageBoundary*****\r\n \r\nContent-Disposition: form-data; name=\"#{filename}\"; filename=\"#{filename}\" \r\nContent-Type: application/octet-stream \r\nContent-Transfer-Encoding: base64\r\n\r\n#{Base64.encode64(fileContent)}\r\n\r\n \r\n--*****MessageBoundary*****--\r\n"
298
+ response = http.request(request)
299
+ response.read_body
300
+ end
301
+
282
302
  end
283
303
 
284
304
  module Jsonpretty
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'usd'
3
- spec.version = '1.3.3'
3
+ spec.version = '1.3.4'
4
4
  spec.date = '2020-09-11'
5
5
  spec.summary = "SDM REST-API-Calls"
6
6
  spec.description = "a Ruby class and a commandlinetool for SDM REST-API-Calls"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: usd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Gaida
@@ -82,6 +82,7 @@ files:
82
82
  - bin/rusdc
83
83
  - bin/set_env
84
84
  - change_log.md
85
+ - images/vcard.png
85
86
  - lib/usd.rb
86
87
  - usd.gemspec
87
88
  homepage: https://github.com/ogaida/usd