matterhorn_whymper 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWFhZWEwMGU0NzA2ZmNlMTJlNzA5Y2EyZmRiZWM4ZDY2MGEyODI3OA==
4
+ M2I3ZTY1N2YxMTMxMDUwZTQ3MDRlZDZiNWMwNzRlOTU2OGY2MTIzMA==
5
5
  data.tar.gz: !binary |-
6
- ZDcyYThhMzQwMzg5OGEyYTIwZTMxNDYzMjk5NzU1ZGI0ZmNmOWQ0Mw==
6
+ YmIyNzY5OTYxNTg3NWU2NWRlNjg3Mzk5ODRmY2E0NzJmY2M4OWQyZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGU0NThiMWRlNmU1NzNkZjI5NDY1MmY5ZTc3MGY3MDI2MzBhZjQ2NmNhYjQx
10
- OTczMzMwYjZjZWJhNzRkMWMzNTk1YmNlMmY3NmEwNGM2ODkxNDIxMWE5NTVh
11
- MjI3MGViYzgwYzIzYzRhM2RkOGE4MDA5MDRmZmUzN2U1NTk5MWY=
9
+ NzhjMjU0MGMzMTEwMmFhYWFiZTAwNWE5N2VhYWQ0OGFkOGYyNzJiYjNhMDg1
10
+ NzAyOWMzNWIwNGIzNGJkYzg4ZmE5NDYwYjA5NWMzNjQ3ZWRkMjA4ZjhkYTNm
11
+ ZGE3ZWNmYWE3MzFiYmY5ZDBhNjBkNzJhMjRiZGMwYzg5ODhmMDY=
12
12
  data.tar.gz: !binary |-
13
- MzgxMzhiM2JiNDg5ZWM5ZTAzYjVkZDdjOWQ1MGZmZGFiNmU3ZWMyODE0NzI1
14
- MDU1NGNjYWU0MjI5NmY1NDI0ZTY3MTIxNDQ0ODVhMWVmYjM0ZGZjY2Y2N2M5
15
- OGQwODE4NDYzMzhlMmU2Y2I1ZmY5YjJmMDU0MjMyZjU2YzE4ZDY=
13
+ NjQ5MjhmNGNhMDk3MmQ1NjU3Nzk2NjA0OGUzMzY2YmU2MDdkOGZkM2MzZjNl
14
+ YjA2OTUzMDFmNjJiNzAyMWFhNGU4YjUyYmYxOWJiYmI3NDRmNjJiYjU5ZTRm
15
+ Y2M1OTY4MzBmMTE0YjMyYzY5MTM2OWY1ODRlMDljODNhM2U0MzM=
@@ -112,10 +112,11 @@ class Matterhorn::Endpoint::Ingest < Matterhorn::Endpoint
112
112
  # If the source_path to the source folder of uploaded items for that media package is given,
113
113
  # then a local media description file 'manifest.xml' will be automaticaly saved in that folder.
114
114
  #
115
- def createMediaPackage(source_path = nil)
115
+ def createMediaPackage(source_path = nil, prefix = nil)
116
116
  if @media_pkg_xml_remote then raise(Matterhorn::Error, "A media package is allready created!"); end
117
117
  @media_pkg_local = if source_path
118
- Matterhorn::MediaPackage.new(nil, {:path => source_path})
118
+ Matterhorn::MediaPackage.new(nil, {:path => source_path,
119
+ :prefix => prefix})
119
120
  else
120
121
  nil
121
122
  end
@@ -0,0 +1,37 @@
1
+ require 'nokogiri'
2
+
3
+
4
+ # =================================================================== Matterhorn::JavaProperties ===
5
+
6
+ class Matterhorn::JavaProperties
7
+
8
+ # -------------------------------------------------------------------------- const definitions ---
9
+
10
+
11
+ # ----------------------------------------------------------------------------------- methodes ---
12
+
13
+ def self.write(hash, path, options = {})
14
+ File.write(path, generate_xml(hash, options))
15
+ end
16
+
17
+
18
+ def self.generate_xml(hash, options = {})
19
+ Nokogiri::XML::Builder.new do |xml|
20
+ xml.doc.create_internal_subset('properties', nil, 'http://java.sun.com/dtd/properties.dtd')
21
+ xml.properties do
22
+ xml.comment_(options[:comment]) unless options[:comment].nil?
23
+ hash.each_pair do |key, value|
24
+ if options[:cdata] && options[:cdata].include?(key)
25
+ xml.entry(:key => key) do
26
+ xml.cdata(value)
27
+ end
28
+ else
29
+ xml.entry(value, :key => key)
30
+ end
31
+ end
32
+ end
33
+ end.doc.to_xml
34
+ end
35
+
36
+
37
+ end # ----------------------------------------------------------- end Matterhorn::JavaProperties ---
@@ -25,11 +25,17 @@ class Matterhorn::MediaPackage
25
25
  end
26
26
  .doc
27
27
  end
28
- if (path = options[:path])
29
- @path = path + (path[-1] == '/' ? '' : '/') # guarantee that path ends with a slash
30
- else
31
- @path = nil
32
- end
28
+ @path = if (path = options[:path])
29
+ path + (path[-1] == '/' ? '' : '/') # guarantee that path ends with a slash
30
+ else
31
+ nil
32
+ end
33
+ @prefix = options[:prefix]
34
+ @filename = if @prefix
35
+ "#{@prefix}_manifest.xml"
36
+ else
37
+ 'manifest.xml'
38
+ end
33
39
  end
34
40
 
35
41
 
@@ -87,7 +93,7 @@ class Matterhorn::MediaPackage
87
93
 
88
94
 
89
95
  def add_dc_catalog(dublin_core)
90
- filename = 'dublincore.xml'
96
+ filename = @prefix ? "#{@prefix}_dublincore.xml" : 'dublincore.xml'
91
97
  flavor = 'dublincore/episode'
92
98
  dc_doc = Nokogiri::XML(dublin_core)
93
99
  dc_file = File.join(@path, filename)
@@ -145,11 +151,11 @@ class Matterhorn::MediaPackage
145
151
  end
146
152
 
147
153
 
148
- def save(path = @path)
154
+ def save(path = @path, filename = @filename)
149
155
  unless path
150
156
  raise(Matterhorn::Error, "No path was set, where manifest file should be saved!")
151
157
  end
152
- manifest_file = File.join(path, 'manifest.xml')
158
+ manifest_file = File.join(path, filename)
153
159
  File.open(manifest_file, 'w') do |file|
154
160
  file.write(to_xml)
155
161
  end
@@ -5,7 +5,7 @@ module MatterhornWhymper
5
5
 
6
6
  # -------------------------------------------------------------------------- const definitions ---
7
7
 
8
- VERSION = "1.1.0"
8
+ VERSION = "1.2.0"
9
9
 
10
10
 
11
11
  end # -------------------------------------------------------------------- end MatterhornWhymper ---
@@ -14,6 +14,7 @@ require 'matterhorn/endpoint/series'
14
14
  require 'matterhorn/endpoint/workflow'
15
15
  require 'matterhorn/error'
16
16
  require 'matterhorn/http_client'
17
+ require 'matterhorn/java_properties'
17
18
  require 'matterhorn/media_package'
18
19
  require 'matterhorn/smil'
19
20
  require 'matterhorn/workflow_instance'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: matterhorn_whymper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Fritschi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-09 00:00:00.000000000 Z
11
+ date: 2015-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multipart-post
@@ -146,6 +146,7 @@ files:
146
146
  - lib/matterhorn/endpoint/workflow.rb
147
147
  - lib/matterhorn/error.rb
148
148
  - lib/matterhorn/http_client.rb
149
+ - lib/matterhorn/java_properties.rb
149
150
  - lib/matterhorn/media_package.rb
150
151
  - lib/matterhorn/smil.rb
151
152
  - lib/matterhorn/workflow_instance.rb