import cherrypy import uuid import httplib, urllib import os.path import ConfigParser global config config = ConfigParser.ConfigParser() config.read("couchpot/couch.conf") class Couchpot: def index(self): # Connection Test #return '''{"couchdb":"Welcome","uuid":"%s","version":"1.6.1","vendor":{"name":"Ubuntu","version":"14.04"}}\n''' % uuid.uuid1().hex return config.get('main','index')%(uuid.uuid1().hex) index.exposed = True def _uuids(self): return '{"uuids":["%s"]}'%(uuid.uuid1().hex) _uuids.exposed= True def _all_dbs(self): return config.get('main','dbs') _all_dbs.exposed = True def _cp_dispatch(self, vpath): if len(vpath) == 1: cherrypy.request.params['name'] = vpath.pop() return vpath def newdb(self): #new database creation if cherrypy.request.method == 'GET': return '''{"ok":true}\n''' newdb.exposed = True def coudeploy(): serverconf = os.path.join(os.path.dirname(__file__), 'server.conf') def error_404(status, message, traceback, version): return '''{"error":"not_found","reason":"no_db_file"}''' error_404.exposed = True cherrypy.config.update({'error_page.404':error_404}) access_log = cherrypy.log.access_log cherrypy.quickstart(Couchpot(), config=serverconf)