# HG changeset patch # User casties # Date 1283182198 -7200 # Node ID 51db9e78bf985b6639a28c4f66ddff3492f060d5 # Parent 0b9f8cca674413dc835aad63b4034453a5104e24 working on field types diff -r 0b9f8cca6744 -r 51db9e78bf98 RestDbInterface.py --- a/RestDbInterface.py Mon Aug 30 11:54:54 2010 +0200 +++ b/RestDbInterface.py Mon Aug 30 17:29:58 2010 +0200 @@ -78,8 +78,21 @@ JSONHTML_schema = PageTemplateFile('zpt/JSONHTML_schema', globals()) JSONHTML_schema_table = PageTemplateFile('zpt/JSONHTML_schema_table', globals()) # JSON_* templates are scripts + def JSON_index(self,data): + """JSON index function""" + self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") + json.dump(data, self.REQUEST.RESPONSE) - + def JSON_schema(self,data,schema): + """JSON index function""" + self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") + json.dump(data, self.REQUEST.RESPONSE) + + def JSON_schema_table(self,data,tablename): + """JSON index function""" + self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") + json.dump(data, self.REQUEST.RESPONSE) + def __init__(self, id, title, connection_id=None): """init""" @@ -228,8 +241,12 @@ RESPONSE.setStatus(400) return - fields = REQUEST.get("create_table_fields",None) - logging.debug("put with schema=%s table=%s file=%s fields=%s"%(schema,tablename,file,repr(fields))) + fields = None + fieldsStr = REQUEST.get("create_table_fields",None) + logging.debug("put with schema=%s table=%s file=%s fields=%s"%(schema,tablename,file,repr(fieldsStr))) + if fieldsStr is not None: + # unpack fields + fields = [{"name":n, "type": t} for (n,t) in [f.split(":") for f in fieldsStr.split(",")]] ret = self.createTableFromXML(schema, tablename, file, fields) # return the result as JSON format = REQUEST.get("format","JSON") @@ -331,21 +348,6 @@ data={'fields': (('schemas',),), 'rows': [('public',),]} return data - def JSON_index(self,data): - """JSON index function""" - self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") - json.dump(data, self.REQUEST.RESPONSE) - - def JSON_schema(self,data,schema): - """JSON index function""" - self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") - json.dump(data, self.REQUEST.RESPONSE) - - def JSON_schema_table(self,data,tablename): - """JSON index function""" - self.REQUEST.RESPONSE.setHeader("Content-Type", "application/json") - json.dump(data, self.REQUEST.RESPONSE) - def checkTable(self,resultFormat,schema,table,REQUEST=None,RESPONSE=None): """check the table. returns valid data fields and table name."""