elibri_watermarking 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -37,6 +37,22 @@ Biblioteka daje nam do dyspozycji parę metod, odpowiadających wywołaniom meto
37
37
  * deliver (przyjmuje jeden parametr: identifykator transacji [otrzymany od watermark]) - wywołuje żądanie dostarczenia zwatermarkowanego pliku do bucketu klienta na s3
38
38
  * watermark_and_deliver (przyjmuje parametry identyczne jak watermark, zwraca identyfikator transacji, który klient zobowiązany jest zapisać i przechowywać) - wywołuje watermarkowanie pliku, a następnie żąda jego dostarczenia do bucketu klienta na s3
39
39
  * retry (przyjmuje jako parametr identyfikator transakcji, zwraca identyfikator nowej transakcji) - wywołuje żądanie ponowienia watermarkingu pliku, który został już ściągnięty (uwaga - sklep jest zobowiązany do przetrzymywanie zwatermarkowanego pliku przynajmniej przez 7 dni, dopiero po tym czasie możliwe jest wywołanie retry). Watermarking wykonywany jest z identycznymi parametrami, jak poprzedni. Klient zobowiązany jest zapisać i przechowywać nowy identyfikator transakcji. Po komendzie retry, niezbędne jest wywołanie komendy deliver w celu dostarczeni pliku do bucketu s3. Uwaga! Każdą transakcję retryować mozna tylko raz - w przypadku kolejnego żądania retry, konieczne jest podanie identyfikatora transakcji otrzymanego od poprzedniej komendy retry.
40
+ * available_files - zwraca listę dostępnych do watermarkingu przez klienta plików. Pliki są zwracane w postaci tablicy hashów, postaci:
41
+ ```ruby
42
+ [
43
+ {:product =>
44
+ {
45
+ :record_reference => 'a'
46
+ :publisher_name => 'b'
47
+ :publisher_id => 1
48
+ :isbn => '1234'
49
+ :title => 'Tytuł',
50
+ :formats => ["epub", "mobi"]
51
+ :premiere => "data premiery (jeśli w przyszłości - plik jest jeszcze niedostępny)"
52
+ }
53
+ }
54
+ ]
55
+ ```
40
56
 
41
57
  ## Błędy
42
58
 
@@ -5,6 +5,7 @@ require 'digest/md5'
5
5
  require 'base64'
6
6
  require 'cgi'
7
7
  require 'openssl'
8
+ require 'json'
8
9
 
9
10
  module ElibriWatermarking
10
11
  class Client
@@ -64,6 +65,20 @@ module ElibriWatermarking
64
65
  return validate_response(res)
65
66
  end
66
67
 
68
+ def available_files
69
+ uri = URI(self.url + '/available_files.json')
70
+ timestamp = Time.now.to_i
71
+ sig = CGI.escape(Base64.encode64(OpenSSL::HMAC.digest('sha1', timestamp.to_s, self.secret)).strip)
72
+ data = {'stamp' => timestamp, 'sig' => sig, 'token' => self.token}
73
+ req = Net::HTTP::Get.new(uri.path)
74
+ req.set_form_data(data)
75
+ http = Net::HTTP.new(uri.host, uri.port)
76
+ http.use_ssl = true
77
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
78
+ res = http.start {|http| http.request(req) }
79
+ return JSON.parse(validate_response(res))
80
+ end
81
+
67
82
  def watermark_and_deliver(ident, formats, visible_watermark, title_postfix)
68
83
  trans_id = watermark(ident, formats, visible_watermark, title_postfix)
69
84
  return trans_id if deliver(trans_id) == "OK"
@@ -1,3 +1,3 @@
1
1
  module ElibriWatermarking
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elibri_watermarking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-04 00:00:00.000000000 Z
12
+ date: 2012-08-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -55,12 +55,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
55
  - - ! '>='
56
56
  - !ruby/object:Gem::Version
57
57
  version: '0'
58
+ segments:
59
+ - 0
60
+ hash: 788559910828618553
58
61
  required_rubygems_version: !ruby/object:Gem::Requirement
59
62
  none: false
60
63
  requirements:
61
64
  - - ! '>='
62
65
  - !ruby/object:Gem::Version
63
66
  version: '0'
67
+ segments:
68
+ - 0
69
+ hash: 788559910828618553
64
70
  requirements: []
65
71
  rubyforge_project: elibri_watermarking
66
72
  rubygems_version: 1.8.24