iplib
iplib
IPLIB reads a library file in the FIP Library format.
It then converts the header fields to that of any one of several public
databases including :
Mead Data Central/NEXIS
Lockheed Dialog
FT-Profile - two versions
ReuterFile/FDS
DataTimes
QL systems
RNIB format
a pc diskette format
BASIS - two versions
Generic SGML format
Generic HTML format
or, for the cases where the data is correct, no change
Files coming into the input queue have a client/group code in a Fip Hdr field -
normally DA. This is checked against the tables/sys/GROUPS file. Only client
types LIB and SYN are actually handled here and MAIL, UNIXMAIL etc are sent as
individual files to the postman, IPPOST.
If the client is NOT in the GROUPS file, it may be handled here using the
parameter file 'libclient:' parameter.
IPLIB uses a parameter file, normally tables/setup/LIBRARY, which allows :
; comment lines start with a semi-colon
newDA: Fip Hdr field containing the client or group code)
default is the DA field.
eg newDA:FP
map: Map the begining of a filename for a particular client key
(see also as a subkeyword in 'libclient')
libclient: (client name) options.
Prescribe the processing option for that particular client.
All options must be on one and only one line.
format: (type) processing type for this client
valid formats are :
fds ReuterFile-FDS
k-dkt PC format
profile FT-Profile
xprofile FT-Profile - no stars at end format
mead mead or Nexis
ql QL systems
lockheed Lockheed Dialog
datatimes DataTimes
rnib RNIB format
sgml SGML format
html HTML format
basis BASIS format
v2basis 2nd BASIS format
curly DT format
nochange No Change - data is already correct
syntrigger: start the transmission via IPSYN
immediately.
xchg: (xchg name) name of an Xchg in tables/xchg which
will be run on the output file.
script: (script name) name of a script/program to be run
against the output file (after xchg if there)
dest: (new destination) Valid destination for the output file
queue: (queuename) subqueue for the output file.
This is under the output queue, spool/syn,
or its replacement with the '-o' input switch.
(either dest or queue should be specified)
pcname: Make the filename a PC style (8 dot 3)
inc-seqno: For Fds format, add a unique number to [FF]
end-of-para: End of Paragraph string in FipSeq if not the original
eg end-of-para:\s>\b\s\s\s
map: (filename)=(client key) [ opt , (nextname)=(next key) ... ]
Map the begining of a filename for a particular client key
This is used for ReuterLine nad Profile as a Publication code ([SO])
eg: map:dm=DMR,ind=IND,ios=INS,pp=PP,sl=SL,sm=SM
Up to 500 maps can be specified. (version 05c was 300)
Keys can be put in double quotes if spaces or punctuation is required.
eg: map:dm="The Mirror",sm="Sunday Mirror"
line-length: no of chrs on a line.
default is normally 0 or 75 for BASIS
There must be a 'libclient' line for each LIB and SYN client specified in the
DA field. The defaults are :
format: pc format
no syntrigger
no xchg
no script
queue will be the name of the client (lowercase) in spool/syn on this system
no mapping so for profile and FDS, the Publication code is the client name
Input switches are : all optional :
-i : queue to scan default: spool/2lib
-o : output queue default: spool/syn
-d : done queue for raw input default: input files are zapped
-t : scan time of directory default: 5 secs
-l : log each msg in default: do NOT log
-z : parameter file default: tables/setup/LIBRARY
-v : display version number and exit.
Example :
;
; LIBRARY setup file for iplib
;
map:daily PUB
libclient:nexis type:mead xchg:LIBNEXIS queue:nexis
libclient:radiosuisse type:pc queue:radio
Version Control
;05f 28may99 added basis1, basis2 and curly/dt formats
;a 15sep99 SEPTEMBER spelt wrongly
;b 4jan00 y2k bug with year
;c 26apr00 bug - duff data caused a header field > 1000 chrs
;d 01sep05 upped maps to 500
;e 07feb09 added -d done-que
(copyright) 2025 and previous years FingerPost Ltd.