#!/usr/bin/env python ''' pyNewUserInstructions.py Takes instruction info from NewUserInstructions.txt, and replaces variables (UName***, FIRSTNAME***, PASS***) with user-specified values. ''' from optparse import OptionParser import os, sys, string def replace(uname=None, firstname=None, passwd=None, textfile=None, debug=False): if (uname==None or firstname==None or passwd==None): print "Error: Missing at least one input of (UName, FIRSTNAME, PASS)" return None if textfile==None: print "Error! No instructions txt file found!" return None if not os.path.isfile(textfile): print "Error! Text file '%s' does not exist!" return None myfile=open(textfile,'r').read() myfile=string.replace(myfile,"UName***",uname) myfile=string.replace(myfile,"FIRSTNAME***",firstname) myfile=string.replace(myfile,"PASS***",passwd) return myfile ########################################################### if __name__=="__main__": parser=OptionParser() parser.add_option("-d","--debug", action="store_true", dest="debug", default=False, help="If specified, print debug info.") parser.add_option("-f","--firstname", dest="firstname", default=None, help="Specify first name of user") parser.add_option("-u","--uname", dest="uname", default=None, help="Specify account username") parser.add_option("-p","--passwd", dest="passwd", default=None, help="Specify password") parser.add_option("-t","--textfile", dest="textfile", default="/root/cronscripts/NewUserInstructions.txt", help="Specify base text file (default is /root/cronscripts/NewUserInstructions.txt)") (opts,args)=parser.parse_args() if not os.path.isfile(opts.textfile): print "Error! Text file '%s' does not exist!"%opts.textfile sys.exit() # Assume sys.args are in order (firstname, uname, passwd) if not explicitly specified argcount=0 if opts.firstname==None: if len(args)>argcount: opts.firstname=args[argcount] argcount=argcount+1 else: opts.firstname=raw_input("Enter user's first name: ") if opts.uname==None: if len(args)>argcount: opts.uname=args[argcount] argcount=argcount+1 else: opts.uname=raw_input("Enter account username: ") if opts.passwd==None: if len(args)>argcount: opts.passwd=args[argcount] argcount=argcount+1 else: opts.passwd=raw_input("Enter account password: ") print "Generating text message for:" print "First name = '%s'"%opts.firstname print "User name = '%s'"%opts.uname print "Password = '%s'"%opts.passwd newinfo=replace(uname=opts.uname, firstname=opts.firstname, passwd=opts.passwd, textfile=opts.textfile, debug=opts.debug) if newinfo==None: print "Error! Could not correctly parse file with new info!" sys.exit() print "\n\n\n\n\n" print newinfo