状态模式就是根据不同的状态调用不同的方法
def outputparser(loglines):
state = 'header'
program,end_time,send_failure= None,None,False
for line in loglines:
if state == 'header':
program = line.split(',')[0]
state = 'body'
elif state == 'body':
if 'send_failure' in line:
send_failure = True
if '======' in line:
state = 'footer'
elif state == 'footer':
end_time = line.split(',')[0]
return program, end_time, send_failure
print(outputparser(['sampleapp,only a sampleapp',
'logline1 sadfsfdf',
'logline2 send_failure',
'=====================',
'30th Jul 2016,END']))
输出如下:
('sampleapp', '30th Jul 2016', True)
网友评论