Source code for pybpodapi.com.messaging.base_message

#!/usr/bin/python3
# -*- coding: utf-8 -*-
from datetime import datetime as datetime_now
from pybpodapi.utils import date_parser


[docs]class BaseMessage(object): """ Represents a session message It may have been originated from the board of from pc """ MESSAGE_TYPE_ALIAS = 'MESSAGE' MESSAGE_COLOR = (200, 200, 200) def __init__(self, content, host_timestamp=None): self.pc_timestamp = datetime_now.now() self.host_timestamp = host_timestamp self.content = content def __str__(self): return "host-time:{0} pc-time:{1} {2}".format( self.host_timestamp if self.host_timestamp is not None else '', self.pc_timestamp.strftime('%Y%m%d%H%M%S') if self.pc_timestamp else '', self.content)
[docs] @classmethod def check_type(cls, typestr): """ Returns True if the typestr represents the class """ return typestr == cls.MESSAGE_TYPE_ALIAS
[docs] def tolist(self): return [ self.MESSAGE_TYPE_ALIAS, self.pc_timestamp, self.host_timestamp, None, # reserved to store the host end timestamp self.content, None ]
[docs] @classmethod def fromlist(cls, row): """ Returns True if the typestr represents the class """ obj = cls(row[4], float(row[2]) if row[2] else None) obj.pc_timestamp = date_parser.parse(row[1]) return obj