(go to: table of contents, index, list of pyvms, prev: UAF_GET_USERNAMES, next: CRTL_OPEN)
Format:
If the action routine is omitted, then an internal routine is used that
appends the filename it it passed to 'file_list'.
Examples:
CRTL_FROM_VMS - call decc$from_vms() routine
Calls the C RTL decc$from_vms() function to translate a file
specification from OpenVMS format into Unix style.
14-MAR-1999 ZE.
file_list = pyvms.crtl_from_vms (vms_filespec, action_routine, \
wild_flag)
Returns:
Arguments:
>>> import pyvms
>>> file_list = pyvms.crtl_from_vms ('SYS$SYSTEM:DIRECTORY.EXE')
>>> file_list
['/SYS$SYSTEM/DIRECTORY.EXE']
>>>
>>> # wild_flag is 0 by default
>>> file_list = pyvms.crtl_from_vms ('SYS$SYSTEM:NET*.DAT')
>>> file_list
[]
>>>
>>> # the internal action_routine is used
>>> file_list = pyvms.crtl_from_vms ('SYS$SYSTEM:NET*.DAT', None, 1)
>>> for filespec in file_list:
... print filespec
...
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_REMOTE.DAT.1
/SYS$SYSROOT/SYSEXE/NETOBJECT.DAT.1
>>>
>>> def action_routine (unix_filespec):
... print unix_filespec
... r = unix_filespec+'***'
... return (1, r)
...
>>> # Note: the output is from the action_routine
>>> file_list = pyvms.crtl_from_vms \
... ('SYS$SYSTEM:NET*.DAT', action_routine, 1)
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_REMOTE.DAT.1
/SYS$SYSROOT/SYSEXE/NETOBJECT.DAT.1
>>>
>>> # show contents of 'file_list'
>>> for filespec in file_list:
... print filespec
...
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1***
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1***
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1***
/SYS$SYSROOT/SYSEXE/NETNODE_REMOTE.DAT.1***
/SYS$SYSROOT/SYSEXE/NETOBJECT.DAT.1***
>>>
>>> def action_routine (unix_filespec):
... import string
... print unix_filespec
... r = unix_filespec+'***'
... try:
... pos = string.index (unix_filespec, 'LOCAL')
... return_value = 0 # end loop
... except ValueError:
... return_value = 1 # continue
... return (return_value, r)
...
>>> file_list = pyvms.crtl_from_vms \
... ('SYS$SYSTEM:NET*.DAT', action_routine, 1)
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1
>>> for filespec in file_list:
... print filespec
...
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1***
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1***
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1***
>>>
>>> def action_routine (unix_filespec):
... import string
... print unix_filespec
... r = unix_filespec+'***'
... try:
... pos = string.index (unix_filespec, 'LOCAL')
... r = None
... return_value = 0 # end loop
... except ValueError:
... return_value = 1 # continue
... return (return_value, r)
...
>>> file_list = pyvms.crtl_from_vms \
... ('SYS$SYSTEM:NET*.DAT', action_routine, 1)
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1
/SYS$SYSROOT/SYSEXE/NETNODE_LOCAL.DAT.1
>>> for filespec in file_list:
... print filespec
...
/SYS$SYSROOT/SYSEXE/NETCIRC.DAT.1***
/SYS$SYSROOT/SYSEXE/NETCONF.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLINE.DAT.1***
/SYS$SYSROOT/SYSEXE/NETLOGING.DAT.1***
None < <-- the last item is always returned !
>>>
(go to: table of contents,
index,
list of pyvms,
prev: UAF_GET_USERNAMES,
next: CRTL_OPEN)