home *** CD-ROM | disk | FTP | other *** search
/ The AGA Experience 2 / agavol2.iso / software / utilities / comms / voodoo / contrib / convertaliases / convpinealiases.rexx < prev    next >
OS/2 REXX Batch file  |  1995-12-12  |  2KB  |  91 lines

  1. /*
  2.  
  3. ConvPineAliases 1.0 by Sami Itkonen
  4. Based on ConvertAliases by Dan Fraser
  5. Converts (unix) pine addressbook file to voodoo
  6.  
  7. */
  8.  
  9.  
  10. parse arg infile outfile
  11.  
  12. if infile='' then do
  13.     wbmode=1
  14.     address command 'requestchoice >nil: title="ConvPineAliases" body="Welcome to ConvPineAlias 1.0 by Sami Itkonen" gadgets="OK"'
  15.     infile=requestfile('Select Pine ''addressbook'' file...','file=.addressbook drawer=uulib:')
  16.     if infile='' then do
  17.         call info('Aborted!')
  18.         exit 5
  19.     end 
  20. end 
  21. else wbmode=0
  22.  
  23. if ~open(aliasfile,infile,'R') then do
  24.     call info('Can''t open the input file.  odd.')
  25.     exit 5
  26. end
  27.  
  28. if outfile='' then do
  29.     outfile=requestfile('Select your ''Voodoo.aliases'' file...')
  30.     if outfile='' then do
  31.         call info('Aborted!')
  32.         exit 5
  33.     end
  34. end
  35.  
  36. outfile=strip(outfile)
  37.  
  38.     if open(Valiases,outfile,'A') then do
  39.         do while ~eof(aliasfile)
  40.             inline=readln(aliasfile)
  41.             if (left(inline,1)~='#') & (inline~='') then do
  42.                 parse var inline alias '    ' name '    ' email
  43.                 if lastpos(")",email) ~= 0 then parse var email '('email')'
  44.                 say lastpos('@',email)
  45.                 call writeln(Valiases,strip(alias)': 'strip(email)' ; "'strip(name)'" 0')
  46.             end
  47.         end
  48.         call info('Done!  Thanks for using ConvPineAliases.rexx!')
  49.     end
  50.     else
  51.         call info('unable to open output file for some reason.  odd.')
  52.  
  53. exit 0
  54.  
  55. requestfile:procedure
  56.     parse arg title,moreopts
  57.     address command 'requestfile >pipe:filename title="'title'" 'moreopts
  58.     if open(pipefile,'pipe:filename','R') then do
  59.         inline=readln(pipefile)
  60.         call close(pipefile)
  61.     end
  62.     else do
  63.         say 'fatal error, problem making requester'
  64.         exit 10;
  65.     end
  66. return strip(inline,'B','"')
  67.  
  68. request:procedure expose wbmode
  69.     if wbmode=1 then do
  70.         parse arg title,body,defdir
  71.         address command 'requestchoice >pipe:filename title="'title'" body="'body'" gadgets="Yes" "No"'
  72.         if open(pipefile,'pipe:filename','R') then do
  73.             inline=readln(pipefile)
  74.             call close(pipefile)
  75.         end
  76.         else do
  77.             say 'fatal error, problem making requester'
  78.             exit 10;
  79.         end
  80.     end
  81.     else inline=1
  82. return inline
  83.  
  84. info:procedure expose wbmode
  85.     parse arg body
  86.     if wbmode=1 then
  87.         address command 'requestchoice >nil: title="Info" body="'body'" gadgets="oh"'
  88.     else
  89.         say body
  90. return 0
  91.