From 861d3cdc1952256f78d02c6f25c6ac883b4afdae Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sat, 9 Jun 2012 03:24:14 -0400 Subject: [PATCH] simple enough --- dynamo.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 dynamo.py diff --git a/dynamo.py b/dynamo.py new file mode 100644 index 0000000..060865d --- /dev/null +++ b/dynamo.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- + +import boto +from boto.dynamodb.exceptions import DynamoDBKeyNotFoundError + + +class Table(object): + def __init__(self, conn=None): + self.conn = conn + + def __repr__(self): + return ''.format(self.name) + + @property + def name(self): + return self.conn.__dict__['_dict']['TableName'] + + def __getitem__(self, key): + try: + return self.conn.get_item(key) + except DynamoDBKeyNotFoundError: + pass + + def __setitem__(self, key, values): + i = self.conn.new_item(key, attrs=values) + i.put() + return i + + def __delitem__(self, key): + return self[key].delete() + + +def table(name, auth): + + dynamodb = boto.connect_dynamodb(*auth) + conn = dynamodb.get_table(name) + + t = Table(conn=conn) + + return t \ No newline at end of file