Создать HTML-таблицу для именованного кортежа или raw_dict - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь сгенерировать 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' ),

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...