#!/usr/bin/env python import sys from employee import Employee from boss import Boss desiredArgument = 3 possibleType = '0', '1' def checkCommandLine(argv): if len(argv) != desiredArgument: print "Usage: " + argv[0] + " inputFile outputFile" sys.exit(0) def openFile(fileName, accessMode): return open(fileName, accessMode) def getInformation(inFile): employeeType = inFile.readline() firstName = inFile.readline() lastName = inFile.readline() monthlySalary = inFile.readline() employeeType = employeeType.replace('\n', '') firstName = firstName.replace('\n', '') lastName = lastName.replace('\n', '') monthlySalary = monthlySalary.replace('\n', '') return employeeType, firstName, lastName, monthlySalary def putResult(outFile, myEmployee): print myEmployee print "Therefore, annual earnings is $" + str(myEmployee.getEarnings()) print outFile.write(myEmployee.__repr__() + '\n') outFile.write("Therefore, annual earnings is $" + str(myEmployee.getEarnings()) + '\n') outFile.write('\n') def processFile(inFile, outFile): while True: employeeType, firstName, lastName, monthlySalary = getInformation(inFile) if employeeType not in possibleType: break if employeeType == '1': annualBonus = inFile.readline() annualBonus = annualBonus.replace('\n', '') myEmployee = Boss(firstName, lastName, float(monthlySalary), float(annualBonus)) else: myEmployee = Employee(firstName, lastName, float(monthlySalary)) putResult(outFile, myEmployee) def testEmployee(argv): checkCommandLine(argv) inFile = openFile(argv[1], 'r') outFile = openFile(argv[2], 'w') processFile(inFile, outFile) if __name__ == "__main__": testEmployee(sys.argv)