Python API: sam v8_1_5 sam.declareFile()
|  |
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: