Package MDSplus :: Module connection :: Class GetMany
[frames | no frames]

Type GetMany

object --+        
         |        
      Data --+    
             |    
object --+   |    
         |   |    
      list --+    
             |    
          List --+
                 |
                GetMany


Build a list of expressions to evaluate

To reduce the number of network transactions between you and the remote system you can use the GetMany class to specify a list of expressions to be evaluated and then send that list to the remote system in one network transation. The remote system will then evaluate all of the expressions and return the answer in one response.

To use the GetMany class you can create an instance using the getMany() method of a Connection instance. You then use the GetMany.append(name,expression[,args]) method to add expressions to the list. Once the list is complete you then use the GetMany.execute() method to execute the expressions on the remote host and retrieve the answers. This will return a dictionary instance with the names assigned to the expressions as the key. Each name will have a dictionary instance containing the result of the execution of the expression. If this dictionary has an 'error' key then its value will be an error string, otherwise the dictionary should have a 'value' key containing the result.

The GetMany instance can be executed multiple times. For instance, if you want to get the same information from many different trees you could use the Connection.openTeee(tree,shot) method between executions of the same GetMany instance.

NOTE: MDSplus can currently only address objects less than 4 gigabytes. Therefore the maximum size of the expression list with arguments and the result dictionary is approximately 4 gigatypes.
Method Summary
  __init__(self, value, connection)
GetMany instance initialization.
None append(self, name, exp, *args)
Append expression to the list.
  execute(self)
Execute the list.
Scalar or Array get(self, name)
Get the result of an expression identified by name from the last invokation of the execute() method.
None insert(self, beforename, name, exp, *args)
Insert an expression in the list before the one named in the beforename argument.
None remove(self, name)
Remove first occurrence of expression identified by its name from the list.
    Inherited from List
string __str__(self)
Return string representation
  toApd(self)
    Inherited from list
  __add__(x, y)
x.__add__(y) <==> x+y
  __contains__(x, y)
x.__contains__(y) <==> y in x
  __delitem__(x, y)
x.__delitem__(y) <==> del x[y]
  __delslice__(x, i, j)
Use of negative indices is not supported.
  __eq__(x, y)
x.__eq__(y) <==> x==y
  __ge__(x, y)
x.__ge__(y) <==> x>=y
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __getitem__(x, y)
x.__getitem__(y) <==> x[y]
  __getslice__(x, i, j)
Use of negative indices is not supported.
  __gt__(x, y)
x.__gt__(y) <==> x>y
  __hash__(x)
x.__hash__() <==> hash(x)
  __iadd__(x, y)
x.__iadd__(y) <==> x+=y
  __imul__(x, y)
x.__imul__(y) <==> x*=y
  __iter__(x)
x.__iter__() <==> iter(x)
  __le__(x, y)
x.__le__(y) <==> x<=y
  __len__(x)
x.__len__() <==> len(x)
  __lt__(x, y)
x.__lt__(y) <==> x<y
  __mul__(x, n)
x.__mul__(n) <==> x*n
  __ne__(x, y)
x.__ne__(y) <==> x!=y
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __repr__(x)
x.__repr__() <==> repr(x)
  __reversed__(...)
L.__reversed__() -- return a reverse iterator over the list
  __rmul__(x, n)
x.__rmul__(n) <==> n*x
  __setitem__(x, i, y)
x.__setitem__(i, y) <==> x[i]=y
  __setslice__(x, i, j, y)
Use of negative indices is not supported.
  count(L, value)
L.count(value) -> integer -- return number of occurrences of value
  extend(...)
L.extend(iterable) -- extend list by appending elements from the iterable
  index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
  pop(L, index)
L.pop([index]) -> item -- remove and return item at index (default last)
  reverse(...)
L.reverse() -- reverse *IN PLACE*
  sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*; cmp(x, y) -> -1, 0, 1
    Inherited from Data
Data __abs__(self)
Absolute value: x.__abs__() <==> abs(x)
Data __and__(self, y)
And: x.__and__(y) <==> x&y
Data __div__(self, y)
Divide: x.__div__(y) <==> x/y
Data __float__(self)
Float: x.__float__() <==> float(x)
Data __floordiv__(self, y)
Floordiv: x.__floordiv__(y) <==> x//y
int __int__(self)
Integer: x.__int__() <==> int(x)
Data __invert__(self)
Binary not: x.__invert__() <==> ~x
long __long__(self)
Convert this object to python long
Data __lshift__(self, y)
Lrft binary shift: x.__lshift__(y) <==> x<<y
Data __mod__(self, y)
Modulus: x.__mod__(y) <==> x%y
Data __neg__(self)
Negation: x.__neg__() <==> -x
Bool __nonzero__(self)
Not equal 0: x.__nonzero__() <==> x != 0
Data __or__(self, y)
Or: x.__or__(y) <==> x|y
Data __pos__(self)
Unary plus: x.__pos__() <==> +x
Data __radd__(self, y)
Reverse add: x.__radd__(y) <==> y+x
Data __rdiv__(self, y)
Reverse divide: x.__rdiv__(y) <==> y/x
Data __rfloordiv__(self, y)
x.__rfloordiv__(y) <==> y//x
Data __rlshift__(self, y)
Reverse left binary shift: x.__rlshift__(y) <==> y<<x
Data __rmod__(self, y)
Reverse modulus: x.__rmod__(y) <==> y%x
Data __ror__(self, y)
Or: x.__or__(y) <==> x|y
Data __rrshift__(self, y)
Reverse right binary shift: x.__rrshift__(y) <==> y>>x
Data __rshift__(self, y)
Right binary shift: x.__rshift__(y) <==> x>>y
Data __rsub__(self, y)
Reverse subtract: x.__rsub__(y) <==> y-x
Data __rxor__(self, y)
Reverse xor: x.__rxor__(y) <==> y^x
Data __sub__(self, y)
Subtract: x.__sub__(y) <==> x-y
Data __xor__(self, y)
Xor: x.__xor__(y) <==> x^y
Bool bool(self)
Return boolean
Bool compare(self, value)
Compare this data with argument
Data compile(expr, *args)
Static method (routine in C++) which compiles the expression (via TdiCompile()) and returns the object instance correspondind to the compiled expression. (Static method)
Scalar,Array data(self)
Return primitimive value of the data.
string decompile(self)
Return string representation
Data deserialize(data)
Return Data from serialized buffer. (Static method)
Data dim_of(self, idx)
Return dimension of object
Data evaluate(self)
Return the result of TDI evaluate(this).
Int8 getByte(self)
Convert this data into a byte.
Int8Array getByteArray(self)
Convert this data into a byte array.
Data getDimensionAt(self, idx)
Return dimension of object
Float64 getDouble(self)
Convert this data into a float64.
Data getError(self)
Get the error field.
Float32 getFloat(self)
Convert this data into a float32.
Data getHelp(self)
Returns the result of TDI GET_HELP(this).
Int32 getInt(self)
Convert this data into a int.
Int32Array getIntArray(self)
Convert this data into a int array.
Int64 getLong(self)
Convert this data into a long.
Int64Array getLongArray(self)
Convert this data into a long array.
Int32Array getShape(self)
Get the array dimensions as an integer array.
Int16 getShort(self)
Convert this data into a short.
Int16Array getShortArray(self)
Convert this data into a short array.
String getString(self)
Convert this data into a STRING.
Data getTdiVar(tdivarname)
Get value of tdi public variable (Static method)
Data getUnits(self)
Return the TDI evaluation of UNITS_OF(this).
Data makeData(value)
Return MDSplus data class from value. (Static method)
Bool mayHaveChanged(self)
return true if the represented data could have been changed since the last time this method has been called.
Data pop_dollar_value(self)
Pop $value for expression evaluation
None push_dollar_value(self)
Set $value for expression evaluation
Data raw_of(self)
Return raw part of object
Uint8Array serialize(self)
Return Uint8Array binary representation.
None setError(self, error)
Set the Error field for this Data instance.
None setHelp(self, help)
Set the Help field for this Data instance.
Data setTdiVar(self, tdivarname)
Set tdi public variable with this data
None setUnits(self, units)
Set units
Float32Array sind(self)
Return sin() of data assuming data is in degrees
Data units_of(self)
Return units part of the object
Data value_of(self)
Return value part of object
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Property Summary
    Inherited from Data
  descriptor
  error
  help
  units
  validation

Instance Method Details

__init__(self, value=None, connection=None)
(Constructor)

GetMany instance initialization.
Overrides:
MDSplus.apd.List.__init__

append(self, name, exp, *args)

Append expression to the list.
Parameters:
name - name to assign to the expression for identifying it in the result dictionary.
           (type=str)
exp - expression to be evaluated with placeholders for optional arguments
           (type=str)
args - optional arguments to replace placeholders in the expression
           (type=Data)
Returns:
None
Overrides:
__builtin__.list.append

execute(self)

Execute the list. Send the list to the remote server for evaluation and return the answer as a dict instance.

get(self, name)

Get the result of an expression identified by name from the last invokation of the execute() method.
Parameters:
name - name associated with an expression.
           (type=str)
Returns:
result of the expression evaluation.
           (type=Scalar or Array)

insert(self, beforename, name, exp, *args)

Insert an expression in the list before the one named in the beforename argument.
Parameters:
beforename - Insert the expression before this one
           (type=str)
name - Name to associate with the result of this expression
           (type=str)
exp - TDI expression to be evaluated with optional placeholders for the arguments
args - Optional arguments to replace placeholders in the expression
           (type=Data)
Returns:
None
Overrides:
__builtin__.list.insert

remove(self, name)

Remove first occurrence of expression identified by its name from the list.
Parameters:
name - Name of expression to be removed.
           (type=str)
Returns:
None
Overrides:
__builtin__.list.remove

Generated by Epydoc 2.1 on Wed Aug 18 13:35:31 2010 http://epydoc.sf.net