Python API: samAdmin v8_1_5
samAdmin.addDataType()

Just having some fun...
This is the python interface to the command 'samadmin add data type'.
Command Description:

Register a new DataType in the SAM db.

At the command line, the only format for entering dataTypes is
by entering a string defining the MODULE and CLASS of a python
data structure that can be imported by the SAM DbServer,
in the format 'MODULE.CLASS'

Command line example:

    $ samadmin add data type --dataType='SamStruct.SamSize.SamSize'

where the module is 'SamStruct.SamSize' and the class is 'SamSize'.

The module and class must have a python implementation that is
available (i.e., in the $PYTHONPATH) of the SAM dbserver.

When using the API, there are additional means of specifying
the dataType:
  a) a python class object:

        from SamStruct.SamTime import SamTime
        samAdmin.addDataType(dataType=SamTime)

  c) an instance of a python class:

        from SamStruct.SamTime import SamTime
        t1 = SamTime("NOW")
        samAdmin.addDataType(dataType=t1)

  a) an object defined in the SAM IDL:
  
        import SAM
        samAdmin.addDataType(dataType=SAM.SamTimeStruct)

     In this case, the higher-level python wrapper class object
     will be added to the database.



Python Usage:
	from SamAdmin import samAdmin
	result = samAdmin.addDataType(...)

Return value: 

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
------------------------------------------------------------------------------------------------------------------------------------
    c                          SamBoolean           automatically close all servants after each method call
    connect                    string               oracle username/password for connecting to this database
    corbaCallTimeout           int                  time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
    d                          SamBoolean           debug mode
(*) dataType                   DataType             the new data type to be registered
    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)
    t                          SamBoolean           time-it mode (print additional info on timings)
    v                          SamBoolean           verbose mode
====================================================================================================================================

Environment Defaults:
	c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
	connect = os.environ['SAM_ORACLE_CONNECT']
	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: