(go to: table of contents, index, list of VMS objects, prev: vmsobj__membuf)
The following routine accepts 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
>>>
...
@@