예제 #1
0
class Item:
    def __init__(self, name, value, **kwargs):
        """
        Source:
            u - undef; m - manual; d - database; b - block
        Raw:
            0 - false; 1 - true
        Type:
            b   - bool; str; int; dec - decimal
            ts  - timestamp; tf  - time formatted
        """
        self._item_type = 'Item'
        self.name = name
        self.value = value
        a = kwargs.get('a', "")
        self.title = kwargs.get('t', self.name)

        a = a.split(" ")
        self.src = a[0]
        if a[1] == 0 or a[1] == '0' or a[1] == 'true' or a[1] == 'True':
            self.raw = False
        else:
            self.raw = True
        self.type = a[2]
        if not self.raw:
            if self.type == 'str':
                self.value = str(self.value)
            elif self.type == 'int':
                self.value = int(self.value)
            elif self.type == 'dec':
                self.value = Decimal(self.value)
            elif self.type == 'hex':
                self.value = self.value.hex()