Data types

There are valid data types that you can use with the Meya Database.

Python TypeDatabase TypeNotes
strStringString is returned as unicode.
unicodeString
intNumberNumber is returned as float.
Therefore you should cast to int: int(value)
floatNumber
decimal.DecimalNumberNumber is returned as float.
Therefore you should cast to int: decimal.Decimal(value)
boolBoolean
listListNote: Number elements are currently returned as decimal.Decimal
dictMap
NoneNull
# -*- coding: utf-8 -*-
from meya import Component
import decimal


class TestDataTypes(Component):

    def start(self):
        self.db.flow.set('str', str('abc'))
        self.db.flow.set('unicode', u'abc')
        self.db.flow.set('int', int(12))
        self.db.flow.set('float', float(12))
        self.db.flow.set('decimal.Decimal', decimal.Decimal(12))
        self.db.flow.set('bool', bool(True))
        self.db.flow.set('list', ['a', 'b', 'c', 1, 2])
        self.db.flow.set('dict', {'a': 1, 'b': True, 'c': "cool"})
        self.db.flow.set('None', None)
        
        # show the resulting data
        for key, val in self.db.flow.all().iteritems():
            print key, val
        
        return self.respond()
None None
str abc
int 12.0
float 12.0
list [u'a', u'b', u'c', Decimal('1'), Decimal('2')]
id _Rxxxxxxxxxxxx
bool True
unicode abc
decimal.Decimal 12.0
foo bar
bot_id _B9ppDRMoGlW
dict {u'a': 1.0, u'c': u'cool', u'b': True}