(PYVMS LOGO) Python on OpenVMS

(go to: table of contents, index, list of vms_lib, prev: SUB_TIMES, next: WAIT)


TRIM_FILESPEC - Fit Long File Specification into Fixed Field


Format:
    status, new_filespec = vms_lib.trim_filespec \
                           (old_filespec [,width])
Returns:
status
The condition value that is returned from LIB$TRIM_FILESPEC when it is SS$_NORMAL or LIB$_STRTRU. All other codes result in a Python exception.
new_filespec
Trimmed file specification.
Arguments:
old_filespec
File specification to be trimmed.
width
Maximum field width desired. If this argument is omitted, then an internal buffer of 256 bytes is defined by the interface.
Examples:
>>> import vms_lib
>>> import vms_sys

>>> old_filspec = \
...   'NOD"USRNAM PASWD"::DEVIC:[DIR.SUB1.SUB2]NAM.TYP;123'

>>> # use default width (256 bytes)
>>> status, new_filespec = vms_lib.trim_filespec (old_filspec)
>>> status, new_filespec
(1, 'NOD"USRNAM PASWD"::DEVIC:[DIR.SUB1.SUB2]NAM.TYP;123')
>>> vms_sys.getmsg (status)
('%SYSTEM-S-NORMAL, normal successful completion', (0, 0, 0, 0))
>>>

>>> # exact length
>>> len (old_filspec)
51
>>> vms_lib.trim_filespec (old_filspec, 51)
(1, 'NOD"USRNAM PASWD"::DEVIC:[DIR.SUB1.SUB2]NAM.TYP;123')
>>>

>>> # shorter, 1 character
>>> status, new_filespec = vms_lib.trim_filespec (old_filspec, 50)
>>> status, new_filespec
(1, 'DEVIC:[DIR.SUB1.SUB2]NAM.TYP;123')
>>>

>>> vms_lib.trim_filespec (old_filspec, 32)
(1, 'DEVIC:[DIR.SUB1.SUB2]NAM.TYP;123')
>>> vms_lib.trim_filespec (old_filspec, 31)
(1, '[DIR.SUB1.SUB2]NAM.TYP;123')
>>>

>>> vms_lib.trim_filespec (old_filspec, 26)
(1, '[DIR.SUB1.SUB2]NAM.TYP;123')
>>> vms_lib.trim_filespec (old_filspec, 25)
(1, 'NAM.TYP;123')
>>>

>>> vms_lib.trim_filespec (old_filspec, 11)
(1, 'NAM.TYP;123')
>>> vms_lib.trim_filespec (old_filspec, 10)
(1, 'NAM.TYP')
>>>

>>> vms_lib.trim_filespec (old_filspec, 7)
(1, 'NAM.TYP')
>>> vms_lib.trim_filespec (old_filspec, 6)
(1, 'NAM')
>>> vms_lib.trim_filespec (old_filspec, 3)
(1, 'NAM')
>>> vms_lib.trim_filespec (old_filspec, 2)
(1409041, 'NA')
>>> vms_sys.getmsg (1409041)
('%LIB-S-STRTRU, string truncated', (0, 0, 0, 0))
>>>

>>> # invalid character ---------v
>>> old_filspec = \
...    'NOD"USRNAM PASWD"::DEVIC:{DIR.SUB1.SUB2]NAM.TYP;123'
>>> vms_lib.trim_filespec (old_filspec, 200)
(1, 'NOD"USRNAM PASWD"::DEVIC:')
>>>
>>> vms_lib.trim_filespec (old_filspec, 24)
(1, 'DEVIC:')
>>>

>>> # wildcard character --------v
>>> old_filspec = \
...    'NOD"USRNAM PASWD"::DEVIC:*DIR.SUB1.SUB2]NAM.TYP;123'
>>> vms_lib.trim_filespec (old_filspec, 50)
(1, 'NOD"USRNAM PASWD"::DEVIC:*DIR.SUB1.')
>>> # alternate for version (';') -----^
>>>

(go to: table of contents, index, list of vms_lib, prev: SUB_TIMES, next: WAIT)

28-OCT-1998 ZE.