vidispine 1.4.0
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 +7 -0
- data/.gitignore +15 -0
- data/Gemfile +11 -0
- data/LICENSE.txt +22 -0
- data/README.md +296 -0
- data/Rakefile +2 -0
- data/bin/vidispine +7 -0
- data/bin/vidispine-notification-handler +339 -0
- data/bin/vidispine-utilities-http-server +13 -0
- data/dist/vidispine-1.4.0.gem +0 -0
- data/lib/vidispine.rb +5 -0
- data/lib/vidispine/api/client.rb +981 -0
- data/lib/vidispine/api/client/http_client.rb +291 -0
- data/lib/vidispine/api/client/requests.rb +27 -0
- data/lib/vidispine/api/client/requests/base_request.rb +234 -0
- data/lib/vidispine/api/client/requests/collection_access_add.rb +30 -0
- data/lib/vidispine/api/client/requests/collection_access_delete.rb +26 -0
- data/lib/vidispine/api/client/requests/collection_metadata_set.rb +24 -0
- data/lib/vidispine/api/client/requests/import_placeholder.rb +36 -0
- data/lib/vidispine/api/client/requests/import_placeholder_item.rb +38 -0
- data/lib/vidispine/api/client/requests/import_sidecar_file.rb +28 -0
- data/lib/vidispine/api/client/requests/import_using_uri.rb +44 -0
- data/lib/vidispine/api/client/requests/item_access_add.rb +30 -0
- data/lib/vidispine/api/client/requests/item_access_delete.rb +26 -0
- data/lib/vidispine/api/client/requests/item_delete.rb +17 -0
- data/lib/vidispine/api/client/requests/item_export.rb +44 -0
- data/lib/vidispine/api/client/requests/item_metadata_get.rb +37 -0
- data/lib/vidispine/api/client/requests/item_metadata_set.rb +29 -0
- data/lib/vidispine/api/client/requests/item_search.rb +0 -0
- data/lib/vidispine/api/client/requests/item_transcode.rb +23 -0
- data/lib/vidispine/api/client/requests/items_search.rb +40 -0
- data/lib/vidispine/api/client/requests/search.rb +59 -0
- data/lib/vidispine/api/client/requests/storage_file_create.rb +23 -0
- data/lib/vidispine/api/client/requests/storage_file_get.rb +40 -0
- data/lib/vidispine/api/client/requests/storage_files_get.rb +42 -0
- data/lib/vidispine/api/utilities.rb +1608 -0
- data/lib/vidispine/api/utilities/cli.rb +168 -0
- data/lib/vidispine/api/utilities/http_server.rb +230 -0
- data/lib/vidispine/api/utilities/http_server/cli.rb +77 -0
- data/lib/vidispine/cli.rb +174 -0
- data/lib/vidispine/version.rb +3 -0
- data/resources/postman/Vidispine API (From WADL v4.11).postman_collection.json +47437 -0
- data/vidispine.gemspec +26 -0
- metadata +117 -0
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#add-a-new-entry-access-control-entry
         | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#add-access-control-entries-to-all-items
         | 
| 5 | 
            +
              class CollectionAccessAdd < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :post
         | 
| 8 | 
            +
                HTTP_PATH = '/collection/#{path_arguments[:collection_id] ? "#{path_arguments[:collection_id]}/" : ""}access'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                    { :name => :collection_id, :send_in => :path },
         | 
| 12 | 
            +
                    { :name => :access_control_document, :required => true, :send_in => :body },
         | 
| 13 | 
            +
                    { :name => :allow_all_collections, :aliases => [ :all_collections ], :send_in => :none }
         | 
| 14 | 
            +
                ]
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def after_process_parameters
         | 
| 17 | 
            +
                  _collection_id = arguments[:collection_id]
         | 
| 18 | 
            +
                  unless (arguments[:allow_all_collections] == true) || (_collection_id && !_collection_id.empty?)
         | 
| 19 | 
            +
                    raise ArgumentError, 'Collection ID is required unless :allow_all_collections parameter is set to true.'
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def body
         | 
| 24 | 
            +
                  body_arguments[:access_control_document]
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            end
         | 
| 30 | 
            +
             | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#delete--collection-(collection-id)-access-(access-id)
         | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#remove-all-access-control-entries-from-all-collections
         | 
| 5 | 
            +
              class CollectionAccessDelete < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :delete
         | 
| 8 | 
            +
                HTTP_PATH = '/collection/#{path_arguments[:collection_id] ? "#{path_arguments[:collection_id]}/" : ""}access/#{path_arguments[:access_id]}'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :collection_id, :send_in => :path },
         | 
| 12 | 
            +
                  { :name => :access_id, :send_in => :path, :required => true },
         | 
| 13 | 
            +
                  { :name => :allow_all_collections, :aliases => [ :all_collections ], :send_in => :none }
         | 
| 14 | 
            +
                ]
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def after_process_parameters
         | 
| 17 | 
            +
                  _collection_id = arguments[:collection_id]
         | 
| 18 | 
            +
                  unless (arguments[:allow_all_collections] == true) || (_collection_id && !_collection_id.empty?)
         | 
| 19 | 
            +
                    raise ArgumentError, 'Collection ID is required unless :allow_all_collections parameter is set to true.'
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            end
         | 
| 26 | 
            +
             | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
             | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/4.2/ref/collection.html#update-collection-metadata
         | 
| 5 | 
            +
              class CollectionMetadataSet < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :put
         | 
| 8 | 
            +
                HTTP_PATH = 'collection/#{path_arguments[:collection_id]}/metadata'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :collection_id, :aliases => [ :id ], :required => true, :send_in => :path },
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  { :name => :MetadataDocument, :aliases => [ :body ], :send_in => :body, :default_value => { } }
         | 
| 14 | 
            +
                ]
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def body
         | 
| 17 | 
            +
                  @body ||= body_arguments[:MetadataDocument]
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
            end
         | 
| 24 | 
            +
             | 
| @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              class ImportPlaceholder < BaseRequest
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                HTTP_METHOD = :post
         | 
| 6 | 
            +
                HTTP_PATH = '/import/placeholder'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                PARAMETERS = [
         | 
| 9 | 
            +
                  { :name => :container },
         | 
| 10 | 
            +
                  { :name => :audio },
         | 
| 11 | 
            +
                  { :name => :video },
         | 
| 12 | 
            +
                  :type,
         | 
| 13 | 
            +
                  :frameDuration,
         | 
| 14 | 
            +
                  :notification,
         | 
| 15 | 
            +
                  :notificationData,
         | 
| 16 | 
            +
                  :priority,
         | 
| 17 | 
            +
                  :jobmetadata,
         | 
| 18 | 
            +
                  'no-transcode',
         | 
| 19 | 
            +
                  { :name => :MetadataDocument, :aliases => [ :metadata ], :default_value => { }, :send_in => :body },
         | 
| 20 | 
            +
                ]
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                def body
         | 
| 23 | 
            +
                  @body ||= arguments[:MetadataDocument]
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                def body_as_xml
         | 
| 27 | 
            +
                  <<-XML
         | 
| 28 | 
            +
            <MetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
         | 
| 29 | 
            +
            </MetadataDocument>
         | 
| 30 | 
            +
                  XML
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            end
         | 
| 36 | 
            +
             | 
| @@ -0,0 +1,38 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/item/import.html#import-to-a-placeholder-item
         | 
| 4 | 
            +
              class ImportPlaceholderItem < BaseRequest
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                HTTP_METHOD = :post
         | 
| 7 | 
            +
                HTTP_PATH = '/import/placeholder/#{path_arguments[:item_id]}/#{path_arguments[:item_type]}'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                PARAMETERS = [
         | 
| 10 | 
            +
                  { :name => :item_id, :required => true, :send_in => :path },
         | 
| 11 | 
            +
                  { :name => :item_type, :required => true, :send_in => :path },
         | 
| 12 | 
            +
                  :uri,
         | 
| 13 | 
            +
                  :fileId,
         | 
| 14 | 
            +
                  :tag,
         | 
| 15 | 
            +
                  :original,
         | 
| 16 | 
            +
                  :createThumbnails,
         | 
| 17 | 
            +
                  :overrideFastStart,
         | 
| 18 | 
            +
                  :requireFastStart,
         | 
| 19 | 
            +
                  :fastStartLength,
         | 
| 20 | 
            +
                  :growing,
         | 
| 21 | 
            +
                  :notification,
         | 
| 22 | 
            +
                  :notificationDta,
         | 
| 23 | 
            +
                  :priority,
         | 
| 24 | 
            +
                  :jobmetadata,
         | 
| 25 | 
            +
                  :settings,
         | 
| 26 | 
            +
                  :index
         | 
| 27 | 
            +
                ]
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                def after_process_parameters
         | 
| 30 | 
            +
                  # URI Needs to be escaped twice, so we do it once here and then again when the query is built
         | 
| 31 | 
            +
                  _uri = arguments[:uri]
         | 
| 32 | 
            +
                  arguments[:uri] = CGI.escape(_uri) if _uri
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
              end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            end
         | 
| 38 | 
            +
             | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/item/import.html#import-a-sidecar-file
         | 
| 4 | 
            +
              # @see http://vidispine.com/partner/vidiwiki/RestItemImport#Syntax:_Starting_a_sidecar_import_job
         | 
| 5 | 
            +
              class ImportSidecarFile < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :post
         | 
| 8 | 
            +
                HTTP_PATH = '/import/sidecar/#{path_arguments[:item_id]}'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :item_id, :required => true, :send_in => :path },
         | 
| 12 | 
            +
                  :sidecar,
         | 
| 13 | 
            +
                  :notification,
         | 
| 14 | 
            +
                  :notificationDta,
         | 
| 15 | 
            +
                  :priority,
         | 
| 16 | 
            +
                  :jobmetadata,
         | 
| 17 | 
            +
                ]
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def after_process_parameters
         | 
| 20 | 
            +
                  # URI Needs to be escaped twice, so we do it once here and then again when the query is built
         | 
| 21 | 
            +
                  sidecar = arguments[:sidecar]
         | 
| 22 | 
            +
                  arguments[:sidecar] = CGI.escape(sidecar) if sidecar and sidecar.start_with?('file://')
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/4.2/ref/item/import.html#import-using-a-uri
         | 
| 4 | 
            +
              class ImportUsingURI < BaseRequest
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                HTTP_METHOD = :post
         | 
| 7 | 
            +
                HTTP_PATH = '/import'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                PARAMETERS = [
         | 
| 10 | 
            +
                  { :name => :uri, :aliases => [ :url ], :required => true },
         | 
| 11 | 
            +
                  :tag,
         | 
| 12 | 
            +
                  :original,
         | 
| 13 | 
            +
                  :thumbnails,
         | 
| 14 | 
            +
                  :thumbnailService,
         | 
| 15 | 
            +
                  :createPosers,
         | 
| 16 | 
            +
                  :overrideFastStart,
         | 
| 17 | 
            +
                  :requireFastStart,
         | 
| 18 | 
            +
                  :fastStartLength,
         | 
| 19 | 
            +
                  :storageId,
         | 
| 20 | 
            +
                  :filename,
         | 
| 21 | 
            +
                  :growing,
         | 
| 22 | 
            +
                  :xmpfile,
         | 
| 23 | 
            +
                  :sidecar,
         | 
| 24 | 
            +
                  'no-transcode',
         | 
| 25 | 
            +
                  :notification,
         | 
| 26 | 
            +
                  :notificationData,
         | 
| 27 | 
            +
                  :priority,
         | 
| 28 | 
            +
                  :jobmetadata,
         | 
| 29 | 
            +
                  { :name => :MetadataDocument, :aliases => [ :metadata ], :default_value => { }, :send_in => :body },
         | 
| 30 | 
            +
                ]
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                # def after_process_parameters
         | 
| 33 | 
            +
                #   # URI Needs to be escaped twice, so we do it once here and then again when the query is built
         | 
| 34 | 
            +
                #   _uri = arguments[:uri]
         | 
| 35 | 
            +
                #   arguments[:uri] = CGI.escape(_uri) if _uri
         | 
| 36 | 
            +
                # end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                def body
         | 
| 39 | 
            +
                  @body ||= arguments[:MetadataDocument]
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
              end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            end
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#add-a-new-entry-access-control-entry
         | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#add-access-control-entries-to-all-items
         | 
| 5 | 
            +
              class ItemAccessAdd < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :post
         | 
| 8 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id] ? "#{path_arguments[:item_id]}/" : ""}access'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :item_id, :send_in => :path },
         | 
| 12 | 
            +
                  { :name => :access_control_document, :required => true, :send_in => :body },
         | 
| 13 | 
            +
                  { :name => :allow_all_items, :aliases => [ :all_items ], :send_in => :none }
         | 
| 14 | 
            +
                ]
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def after_process_parameters
         | 
| 17 | 
            +
                  _item_id = arguments[:item_id]
         | 
| 18 | 
            +
                  unless (arguments[:allow_all_items] == true) || (_item_id && !_item_id.empty?)
         | 
| 19 | 
            +
                    raise ArgumentError, 'Item ID is required unless :allow_all_items parameter is set to true.'
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def body
         | 
| 24 | 
            +
                  body_arguments[:access_control_document]
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            end
         | 
| 30 | 
            +
             | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#delete--item-(item-id)-access-(access-id)
         | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/access-control.html#remove-all-access-control-entries-from-all-items
         | 
| 5 | 
            +
              class ItemAccessDelete < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :delete
         | 
| 8 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id] ? "#{path_arguments[:item_id]}/" : ""}access/#{path_arguments[:access_id]}'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :item_id, :send_in => :path },
         | 
| 12 | 
            +
                  { :name => :access_id, :send_in => :path, :required => true },
         | 
| 13 | 
            +
                  { :name => :allow_all_items, :aliases => [ :all_items ], :send_in => :none }
         | 
| 14 | 
            +
                ]
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def after_process_parameters
         | 
| 17 | 
            +
                  _item_id = arguments[:item_id]
         | 
| 18 | 
            +
                  unless (arguments[:allow_all_items] == true) || (_item_id && !_item_id.empty?)
         | 
| 19 | 
            +
                    raise ArgumentError, 'Item ID is required unless :allow_all_items parameter is set to true.'
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            end
         | 
| 26 | 
            +
             | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              class ItemDelete < BaseRequest
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                HTTP_METHOD = :delete
         | 
| 6 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id]}'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                PARAMETERS = [
         | 
| 9 | 
            +
                  { :name => :item_id, :aliases => [ :id ], :required => true, :send_in => :path },
         | 
| 10 | 
            +
                  :keepShapeTagMedia,
         | 
| 11 | 
            +
                  :keepShapeTagStorage,
         | 
| 12 | 
            +
                ]
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            end
         | 
| 17 | 
            +
             | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # @see http://apidoc.vidispine.com/latest/ref/item/export.html#item-export
         | 
| 4 | 
            +
              class ItemExport < BaseRequest
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                HTTP_METHOD = :post
         | 
| 7 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id]}/export'
         | 
| 8 | 
            +
                DEFAULT_PARAMETER_SEND_IN_VALUE = :query
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :item_id, :send_in => :path },
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  :uri,
         | 
| 14 | 
            +
                  :locationName,
         | 
| 15 | 
            +
                  :tag,
         | 
| 16 | 
            +
                  :metadata,
         | 
| 17 | 
            +
                  :projection,
         | 
| 18 | 
            +
                  :start,
         | 
| 19 | 
            +
                  :end,
         | 
| 20 | 
            +
                  :notification,
         | 
| 21 | 
            +
                  :notificationData,
         | 
| 22 | 
            +
                  :priority,
         | 
| 23 | 
            +
                  :jobmetadata,
         | 
| 24 | 
            +
                  :useOriginalFilename,
         | 
| 25 | 
            +
                  :template,
         | 
| 26 | 
            +
                  :allowMissing,
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  { :name => :body, :send_in => :body }
         | 
| 29 | 
            +
                ]
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                def body
         | 
| 32 | 
            +
                  @body ||= arguments[:body]
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                def body_as_xml
         | 
| 36 | 
            +
                  <<-XML
         | 
| 37 | 
            +
            <empty/>
         | 
| 38 | 
            +
                  XML
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            end
         | 
| 44 | 
            +
             | 
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
             | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/4.2/ref/metadata/metadata.html#get--item-(id)-metadata
         | 
| 5 | 
            +
              class ItemMetadataGet < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :get
         | 
| 8 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id]}/metadata'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                DEFAULT_PARAMETER_SEND_IN_VALUE = :matrix
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                PARAMETERS = [
         | 
| 13 | 
            +
                    { :name => :item_id, :aliases => [ :id ], :required => true, :send_in => :path },
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                    :projection,
         | 
| 16 | 
            +
                    :interval,
         | 
| 17 | 
            +
                    :startc,
         | 
| 18 | 
            +
                    :field,
         | 
| 19 | 
            +
                    :group,
         | 
| 20 | 
            +
                    :track,
         | 
| 21 | 
            +
                    :language,
         | 
| 22 | 
            +
                    :conflict,
         | 
| 23 | 
            +
                    :samplerate,
         | 
| 24 | 
            +
                    :revision,
         | 
| 25 | 
            +
                    :terse,
         | 
| 26 | 
            +
                    :include,
         | 
| 27 | 
            +
                    :defaultValue,
         | 
| 28 | 
            +
                    :from,
         | 
| 29 | 
            +
                    :to,
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    { :name => :includeTransientMetadata, :send_in => :query },
         | 
| 32 | 
            +
                ]
         | 
| 33 | 
            +
             | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            end
         | 
| 37 | 
            +
             | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
             | 
| 4 | 
            +
              # @see http://apidoc.vidispine.com/4.2/ref/metadata/metadata.html#set--item-(id)-metadata
         | 
| 5 | 
            +
              class ItemMetadataSet < BaseRequest
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                HTTP_METHOD = :put
         | 
| 8 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id]}/metadata'
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                PARAMETERS = [
         | 
| 11 | 
            +
                  { :name => :item_id, :aliases => [ :id ], :required => true, :send_in => :path },
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  { :name => :projection, :send_in => :matrix },
         | 
| 14 | 
            +
                  { :name => 'output-project', :send_in => :matrix },
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  :revision,
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  { :name => :MetadataDocument, :send_in => :body, :default_value => { } }
         | 
| 19 | 
            +
                ]
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                def body
         | 
| 22 | 
            +
                  @body ||= body_arguments[:MetadataDocument]
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
             | 
| 28 | 
            +
            end
         | 
| 29 | 
            +
             | 
| 
            File without changes
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            module Vidispine::API::Client::Requests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              class ItemTranscode < BaseRequest
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                HTTP_METHOD = :post
         | 
| 6 | 
            +
                HTTP_PATH = '/item/#{path_arguments[:item_id]}/transcode'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                PARAMETERS = [
         | 
| 9 | 
            +
                  { :name => :item_id, :aliases => [ :id ], :send_in => :path, :required => true },
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  { :name => :tag, :required => true },
         | 
| 12 | 
            +
                  :createThumbnails,
         | 
| 13 | 
            +
                  :createPosters,
         | 
| 14 | 
            +
                  :notification,
         | 
| 15 | 
            +
                  :notificationData,
         | 
| 16 | 
            +
                  :priority,
         | 
| 17 | 
            +
                  :jobmetadata
         | 
| 18 | 
            +
                ]
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            end
         | 
| 23 | 
            +
             |