Object wrapper for tokyo cabinet
Project description
tclite
====
Installation
------------
$ pip install tclite
Usage
-----
>>> import tclite as tl
>>> from datetime import datetime, date
>>> class User(tl.Model):
... username = tl.UnicodeProperty(key='u') # realy stored by short 'u' key
... birthday = tl.DateProperty()
... rating = tl.IntegerProperty(default=0)
... reply_rate = tl.FloatProperty(default=0)
... about_me = tl.CompressedUnicodeProperty(internal_encoding='cp1251')
... friends = tl.DumpProperty(default={})
... messages = tl.CompressedDumpProperty(default=[])
... is_active = tl.BooleanProperty(default=True)
... created = tl.DateTimeProperty(index=True) # indexed field
...
... __filename__ = 'var/readme_test.tclite'
>>> User.db.clear()
>>> for i in xrange(100):
... User(
... username='user-%s' % i,
... birthday=date(1900 + i, 1, 1),
... created=datetime.now()
... ).save()
>>> users = User.filter('birthday >=', date(1950, 1, 1))
>>> users.count()
50
>>> for user in users.filter('username endswith', '0').order('-created'):
... user.username
u'user-90'
u'user-80'
u'user-70'
u'user-60'
u'user-50'
>>> users.get().username
u'user-50'
>>> users.delete()
>>> users.count()
0
>>> User.filter().count()
50
>>> User(username='Foo', key='user-foo').save() # set custom key name
>>> User.get('user-foo').username # get by keyname
u'Foo'
====
Installation
------------
$ pip install tclite
Usage
-----
>>> import tclite as tl
>>> from datetime import datetime, date
>>> class User(tl.Model):
... username = tl.UnicodeProperty(key='u') # realy stored by short 'u' key
... birthday = tl.DateProperty()
... rating = tl.IntegerProperty(default=0)
... reply_rate = tl.FloatProperty(default=0)
... about_me = tl.CompressedUnicodeProperty(internal_encoding='cp1251')
... friends = tl.DumpProperty(default={})
... messages = tl.CompressedDumpProperty(default=[])
... is_active = tl.BooleanProperty(default=True)
... created = tl.DateTimeProperty(index=True) # indexed field
...
... __filename__ = 'var/readme_test.tclite'
>>> User.db.clear()
>>> for i in xrange(100):
... User(
... username='user-%s' % i,
... birthday=date(1900 + i, 1, 1),
... created=datetime.now()
... ).save()
>>> users = User.filter('birthday >=', date(1950, 1, 1))
>>> users.count()
50
>>> for user in users.filter('username endswith', '0').order('-created'):
... user.username
u'user-90'
u'user-80'
u'user-70'
u'user-60'
u'user-50'
>>> users.get().username
u'user-50'
>>> users.delete()
>>> users.count()
0
>>> User.filter().count()
50
>>> User(username='Foo', key='user-foo').save() # set custom key name
>>> User.get('user-foo').username # get by keyname
u'Foo'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tclite-0.24.tar.gz
(5.6 kB
view hashes)