from piston.handler import BaseHandler from piston.utils import rc from k4ever.buyable.models import * from k4ever.transaction.models import * class BuyableItemHandler(BaseHandler): allowed_methods = ('GET', 'POST') #fields = ('id', 'description') model = Buyable exclude = ('_state',) def read(self, request, itemId=None): if itemId == None: if request.GET.has_key('type'): obj = Buyable.objects.filter(buyableType__name=request.GET['type']) else: obj = Buyable.objects.all() return obj try: return Buyable.objects.get(id=itemId) except Buyable.DoesNotExist: error = rc.NOT_FOUND error.write("This buyable does not exist in our database") return error def getInt(d, key, default): try: return int(d.get(key, default)) except ValueError: return default def create(self, request, itemId=None): if not itemId: return rc.BAD_REQUEST obj = None try: obj = Buyables.objects.get(id=itemId) except Buyable.DoesNotExist: return rc.NOT_FOUND # parse post data data = request.POST deposit = self.getInt(data, 'deposit', 0) amount = self.getInt(data, 'amount', 1) return rc.ALL_OK class BuyableTypeHandler(BaseHandler): allowed_methods = ('GET',) model = BuyableType class TransactionTransactHandler(BaseHandler): allowed_methods = ('GET', 'POST') model = Transaction class TransactionTypeHandler(BaseHandler): allowed_methods = ('GET',) model = TransactionType class AccountBalance(BaseHandler): allowed_methods = ('GET',) def read(self, request): pass class AuthBlobHandler(BaseHandler): # allowed_methods = ('GET', 'POST') # model = pass class ConfigHandler(BaseHandler): allowed_methods = ('GET',) def read(self, request): return { 'version': '0.1', 'mediaurl': 'http://devcat.someserver.de:13805/media', }