From d36d5d9bd28dd425f76c28c9f50b03e997018241 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 16 Aug 2013 01:23:52 -0400 Subject: [PATCH] basic trunk --- fablib.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/fablib.py b/fablib.py index 41df067..fffecd3 100644 --- a/fablib.py +++ b/fablib.py @@ -1,12 +1,40 @@ # -*- coding: utf-8 -*- +import boto +import hashlib from flask import Flask, request from flask.ext.restful import Resource, Api, reqparse from markdown import markdown +BUCKET_NAME = os.environ['BUCKET_NAME'] +DATABASE_URL = os.environ['DATABASE_URL'] + app = Flask(__name__) api = Api(app) +s3 = boto.connect_s3() + + + +def Trunk(object): + + def __init__(self, bucket): + if bucket not in s3: + self.bucket = boto.connect_s3().create_bucket(bucket) + else: + self.bucket = boto.connect_s3().get_bucket(bucket) + + def hash(self, data): + return hashlib.sha1(data).hexdigest() + + def store(self, data): + key_name = hash(data) + key = self.bucket.new_key(key_name) + key.set_contents_from_string(data) + + def get(self, key): + return self.bucket.get_key(key).read() + @app.route('/') def hello(): return 'Hello World!'