Exemple #1
0
 def testOutputLog(self):
     '''
     Log must be able to output its message list.
     '''
     currentDate = date.today()
     log = Log()
     for msg in self.TEST_VALUES:
         log.logMsg(msg)
     log.outputLog(TEST_FILE_ROOT)
     f = open(os.path.join(TEST_FILE_ROOT, 'Log_' + currentDate.strftime('%d-%m-%Y') + '.txt'), 'r')
     result = f.readlines()
     f.close()
     attendedResult = [msg + '\n' for msg in self.TEST_VALUES]
     self.assertListEqual(result, attendedResult, 'log isn\'t able to output its message list.')
#kill LibreOffice
os.system('taskkill /f /im soffice.bin')

#instanciate the log file
log = Log()

#load the data from the input files
dailyOrder = Order(log)
previousOrder = Order(log)
try:
    dailyOrder.loadOrder(dailyOrderFile)
except:
    #if nothing to order, simply log it and exit
    log.logMsg(u'Rien a commander.')
    log.outputLog(outputPath)
    sys.exit(0)
try:
    previousOrder.loadOrder(previousOrderFile)
except:
    pass

#filter the daily order data
dailyOrder.filter(previousOrder)

#generate the mail
if dailyOrder.getOrderList():
    orderMail = OrderMail('*****@*****.**', '[email protected];[email protected]')
    for order in dailyOrder.getOrderList():
        orderMail.addLineToBody(order.getProductOrderStr())
    orderMail.generate()