vmsobj__access_names object

(PYVMS LOGO) Python on OpenVMS

(go to: table of contents, index, list of VMS objects, prev: vmsobj_xabsum, next: vmsobj__membuf)

The vmsobj__access_names object provides high-level access to an OpenVMS 'access name table'.

The current (28-JUN-1999) implementation only stores the address of a table. It must be passed to the internal object creation routine - there is no way to create and maintain it from the Python interpreter.

The following routines create an object:

The following routines acceppt this object:

Some simple sequence methods are implemented:

>>> import vms_lib
>>>
>>> accnam = vms_lib.get_accnam ()
>>>
>>> print len(accnam)
32
>>> # Python changes this internally to 31
>>> print accnam [-1]
None
>>> print accnam [0]
READ
>>> # Python changes this internally to 0
>>> print accnam [-32]
READ
>>>

>>> print accnam [2]
EXECUTE
>>> accnam [2] = 'E_X_E_C_U_T_E'
>>> print accnam [2]
E_X_E_C_U_T_E
>>>
>>> long_string = '*' * 65536
>>> accnam [2] = long_string
Traceback (innermost last):
  File "<stdin>", line 1, in ?
ValueError: string length limited to 65535 characters
>>>
>>> accnam [2] = 1
Traceback (innermost last):
  File "<stdin>", line 1, in ?
TypeError: must be a string or None
>>>

>>> print accnam [3]
DELETE
>>> accnam [3] = None
>>> print accnam [3]
None
>>> print accnam [4]
CONTROL
>>> del (accnam [4])
>>> print accnam [4]
None
>>>

>>> print accnam [30]
None
>>> print accnam [31]
None
>>> print accnam [32]
Traceback (innermost last):
  File "<stdin>", line 1, in ?
IndexError: index out of range
>>>

'None' means that the descriptor is empty -
DSC$W_LENGTH is 0.


>>> accnam = vms_lib.get_accnam ()
>>> print accnam [0:3]
['READ', 'WRITE', 'EXECUTE']
>>>
>>> print accnam [2:6]
['EXECUTE', 'DELETE', 'CONTROL', None]
>>>


>>> # some methods are still missing:

>>> accnam [1:3] = ['X','Y','Z']
Traceback (innermost last):
  File "<stdin>", line 1, in ?
ValueError: accnam_ass_slice: remaining code not implemented
>>>
... @@
(go to: table of contents, index, list of VMS objects, prev: vmsobj_xabsum, next: vmsobj__membuf)

11-AUG-1999 ZE.