self.filters['disabled'] = '0'
self.filters['gateway_type'] = 'sfa'
self.filters['platform'] = '!myslice'
+ elif(self.type.startswith('local:')):
+ # XXX TODO: find a generic Query to get the fields like
+ # select column.name from local:object where table == local:user
+ table = self.type.split(':')
+ table = table[1]
+ if table == "user":
+ self.id = table + '_id'
+ self.fields = ['user_id', 'email', 'password', 'config','status'];
+ elif table == "account":
+ # XXX TODO: Multiple key for account = (platform_id, user_id)
+ self.id = None
+ self.fields = ['platform_id', 'user_id', 'auth_type', 'config'];
+ elif table == "platform":
+ self.id = 'platform'
+ self.fields = ['platform', 'platform_longname', 'platform_url', 'platform_description','gateway_type'];
else :
self.setKey()
self.setLocalFields()
-
def setKey(self):
# What about key formed of multiple fields???
def get(self):
query = Query.get(self.type)
- if (self.id not in self.fields) :
+ if (self.id is not None) and (self.id not in self.fields) :
query.select(self.fields + [self.id])
else :
query.select(self.fields)
def update(self):
query = Query.update(self.type)
query = self.applyFilters(query, True)
- print ">>>>>",self.params
+
+ print "rest/__init__ self = ",self
+ print "rest/__init__ params = ",self.params
if self.params :
- query.set({ 'resource' : self.params})
+ print "query = ",query
+ query.set(self.params)
+# query.set({ 'resource' : self.params})
# for param in self.params :
else:
if el[0].startswith('filters'):
o.filters[el[0][8:-1]] = el[1]
elif el[0].startswith('params'):
- o.params[el[0][7:-1]] = el[1]
+ #o.params[el[0][7:-1]] = el[1]
+ o.params.append({el[0][7:-1]:el[1]})
elif el[0].startswith('fields'):
o.fields=req_items.getlist('fields[]')
elif el[0].startswith('options'):
#print "#======>", el[0][7:8]
#print "#======>", el[0][10:-1]
print "#======> 1 ", el[1]
- o.params = req_items.getlist('params[]')
-
+ #o.params = req_items.getlist('params[]')
+ #o.params.append({el[0]:el[1]})
+ o.params.append({el[0][7:-1]:el[1]})
+ print "o.params = ",o.params
elif el[0].startswith('fields'):
o.fields=req_items.getlist('fields[]')
return error('an error has occurred')
except Exception, e:
- return error(str(e))
+ return error("exception:"+str(e))