vmsobj__ownership_names object

(PYVMS LOGO) Python on OpenVMS

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

The vmsobj__ownership_names object provides high-level ownership to an OpenVMS 'ownership name table'.

The following routinee acceppts this object:

Some simple sequence methods are implemented:

>>> import pyvms
>>>
>>> ownnam = pyvms.vmsobj__ownership_names ()
>>>
>>> print len(ownnam)
4
>>> # Python changes this internally to 3
>>> print ownnam [-1]
WORLD
>>> print ownnam [0]
SYSTEM
>>> # Python changes this internally to 0
>>> print ownnam [-4]
SYSTEM
>>>

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

>>> print ownnam [3]
WORLD
>>> ownnam [3] = None
>>> print ownnam [3]
None
>>> print ownnam [2]
G_R_O_U_P
>>> del (ownnam [2])
>>> print ownnam [2]
None
>>>

>>> print ownnam [10]
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.


>>> ownnam = pyvms.vmsobj__ownership_names ()
>>> print ownnam [0:2]
['SYSTEM', 'OWNER']
>>>
>>> print ownnam [1:6]
['OWNER', 'GROUP', 'WORLD']
>>>


>>> # some methods are still missing:

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

12-AUG-1999 ZE.