home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsf / gsm / GSM / pagemail_p < prev    next >
Encoding:
Text File  |  1995-06-05  |  1.2 KB  |  60 lines

  1. #!/usr/local/bin/python
  2. import sys
  3. import rfc822
  4. import string
  5. import posix
  6.  
  7. # Names MUST be in lower case in order to match
  8. phonebookfile = "/usr/local/src/GSM/phonebook"
  9.  
  10. # Pager queuing program
  11. qpage="/usr/local/bin/qpage";
  12.  
  13. def readbook(fname):
  14.     fh = open(fname);
  15.     lines = fh.readlines();
  16.     book = {};
  17.     for line in lines:
  18.         parts = string.split(line);
  19.         if len(parts) > 1:
  20.             book[string.lower(parts[0])] = parts[1];
  21.     return book;
  22.  
  23. phonebook = readbook(phonebookfile);
  24.  
  25. # Get rid of the first line
  26. sys.stdin.readline();
  27.  
  28. ms = rfc822.Message(sys.stdin);
  29.  
  30. fromreal, fromaddr = ms.getaddr("From");
  31. subject = ms.getheader("Subject");
  32.  
  33. pagernumbers = [];
  34.  
  35. user = string.lower(sys.argv[1]);
  36. if phonebook.has_key(user):
  37.     pagernumbers.append(phonebook[user]);
  38.  
  39. if (fromreal == None or fromreal == ""):
  40.     pagestr = "From: " + fromaddr;
  41. else:
  42.     pagestr = "From: " + fromreal;
  43.  
  44. if (subject):
  45.     pagestr = pagestr + " Subject: " + subject;
  46.  
  47. lines = sys.stdin.readlines();
  48.  
  49. for line in lines:
  50.     if (len(pagestr) > 159):
  51.         break;
  52.     pagestr = pagestr + " " + string.strip(line);
  53.  
  54. if (len(pagestr) > 159):
  55.     pagestr = pagestr[0:156] + "..."
  56.  
  57. for number in pagernumbers:
  58.     command = qpage+" "+number+" '"+pagestr+"'";
  59.     posix.system(command);
  60.