Python API: sam v8_1_5
sam.declareFile()

Just having some fun...
This is the python interface to the command 'sam declare file'.
Command Description:

This command "declares" the metadata for a file to SAM,
but the file itself is not stored (only the metadata is stored).

You provide the metadata, and SAM uses the metadata to declare a "virtual"
file (i.e., a file with no physical locations).

The --source option is provided for backwards compatibility,
but does NOT need to be used; you may specify the full path to the
metadata description file as part of the argument.  In other words, the following
two commands are equivalent:

    sam declare /full/path/to/myMetadata.py
    sam declare --sourceDir=/full/path/to   myMetadata.py

The metadata description file must contain one SamDataFile object which
describes the metadata to be entered into the database:

   # myMetadata.py:
   from SamFile.SamDataFile import SamDataFile
   myMetadata = SamDataFile(fileName='raw_physics_file_name_here',
                            fileType='importedCollider',
                            ...)

For additional information about file metadata, see the output
from the commands:
   sam get registered filetypes
   sam describe metadata requirements --filetype=<fileTypeHere>
   sam describe metadata attributes
           

Python Usage:
	from Sam import sam
	result = sam.declareFile(...)

Return value: long

Arguments are passed as keyword-value pairs, as in:
	 myfunc(arg1='myarg', arg2='anotherarg', d=1)

Argument Keyword Description:
	(*) indicates that this keyword is required
	>>> indicates that either the API object or the CLI equivalent (<<<) is required
====================================================================================================================================
    KEYWORD                    DATA TYPE            DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------
(*) args                       SamBoolean           name of the python file containing the metadata for the file to be declared
    c                          SamBoolean           automatically close all servants after each method call
    corbaCallTimeout           int                  time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
    d                          SamBoolean           debug mode
>>> metadata                   SamDataFile          SamDataFile object containing the metadata
    retryInterval              int                  retry interval base in seconds; will multiply this base times retryCount (default: 5)
    retryJitter                int                  retry jitter, random jitter added to base retry interval times retryCount (default: 5)
    retryMaxCount              int                  number of times to retry CORBA calls for retriable exceptions (default: 25; zero implies no retries)
    s                          SamBoolean           retrySilently mode (do not issue messages to stderr on proxy retries)
    sourceDir                  string               directory containing the metadata description file
    t                          SamBoolean           time-it mode (print additional info on timings)
    v                          SamBoolean           verbose mode
====================================================================================================================================

Python API-only Keywords:
	'metadata': replaces (args, sourceDir)

Environment Defaults:
	c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
	corbaCallTimeout = os.environ['SAM_PYAPI_CORBA_CALL_TIMEOUT']
	retryInterval = os.environ['SAM_PYAPI_RETRY_INTERVAL']
	retryJitter = os.environ['SAM_PYAPI_RETRY_JITTER']
	retryMaxCount = os.environ['SAM_PYAPI_RETRY_MAX_COUNT']
	s = os.environ['SAM_PYAPI_RETRY_SILENTLY']



See Also: