Я пытаюсь сгенерировать html-таблицу для именованного кортежа или raw_dict. Может ли кто-нибудь привести пример того, как я использую мой нижеприведенный кортеж или raw_dict, я бы предпочел напечатать именованный кортеж.
import redis
import json
from collections import namedtuple
YbFlowRawMessage = namedtuple('YbFlowRawMessage', 'yid created_ts log_level sye type source message ip_address')
HOST = "abc"
r = redis.StrictRedis(HOST)
days = sorted(r.smembers('ybflow:days-logged'),reverse=True)
recent = days[0]
template = """
<table>
<tr></tr>
{row}
</table>
"""
переменная ниже сообщений является raw_dict
messages = [ json.loads(r.lindex(recent,k)) for k in range(r.llen(recent)) ]
Я конвертирую в именованный кортеж
def convert_to_ybflowrawmessage(raw_dict):
return YbFlowRawMessage(
raw_dict['yid'],
raw_dict['created_ts'],
raw_dict['log_level'],
raw_dict['sye'],
raw_dict['type'],
raw_dict['source'],
raw_dict['message'],
raw_dict['ip_address']
)
Я бы хотел напечатать ybflow_messages в виде html-таблицы.
ybflow_messages = [ convert_to_ybflowrawmessage(x) for x in messages ]
когда я печатаю ybflow_messages прямо в интерпретаторе python, это выглядит так.
В [60]: печать (r.ybflow_messages)
[YbFlowRawMessage (yid = Нет, созданный_ts = 1332288190, log_level = u'info ', sye = Нет, type = u'YbFlowRawMessage', source = u'oracle-rep1-new-yearbooks ', message = u'sending 7 новых ежегодников для обработки ', ip_address = u'172.20.100.41'), YbFlowRawMessage (yid = u'152356 ', creat_ts = 1332288280, log_level = u'info', sye = u'3300: 1976: 0 ', type = u'YbFlowRawMessage ', source = u'YBMV', message = u'Удобно переместить ежегодник в местоположение архива! ', ip_address = u'172.20.200.154'), YbFlowRawMessage (yid = u'152357 ', made_ts = 1332288576, log_level = u'info ', sye = u'176: 1978: 0', type = u'YbFlowRawMessage ', source = u'YBMV', message = u'Удобно переместить ежегодник в место хранения архива! ', ip_address = u'172.20 .200.154' ),