Laget enkelt script som skriver en loggfil.
This commit is contained in:
parent
fe3410d842
commit
d7fb30e0c1
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
import db
|
||||
from helpers import *
|
||||
|
||||
# Writes a log of all transactions to a text file.
|
||||
#
|
||||
# Usage:
|
||||
# ./write_logfile.py filename
|
||||
# or (writing to stdout):
|
||||
# ./write_logfile.py
|
||||
|
||||
def write_log(f):
|
||||
session = Session()
|
||||
line_format = '%s|%s|%s|%s|%s|%s\n'
|
||||
transaction_list = session.query(Transaction).all()
|
||||
for transaction in transaction_list:
|
||||
if transaction.purchase:
|
||||
products = ', '.join(map(lambda ent: ent.product.name,
|
||||
transaction.purchase.entries))
|
||||
description = ''
|
||||
else:
|
||||
products = ''
|
||||
description = transaction.description
|
||||
line = line_format % ('purchase', transaction.time, products,
|
||||
transaction.user.name, transaction.amount, transaction.description)
|
||||
f.write(line.encode('utf8'))
|
||||
session.close()
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
write_log(sys.stdout)
|
||||
else:
|
||||
filename = sys.argv[1]
|
||||
print 'Writing log to ' + filename
|
||||
with open(filename, 'w') as f:
|
||||
write_log(f)
|
Loading…
Reference in New Issue