Commit f6af69a9 by Piotr Mitros

Adding files missed in previous commits.

parent 7b580be2
...@@ -8,12 +8,12 @@ import requests ...@@ -8,12 +8,12 @@ import requests
import urllib import urllib
import json import json
def http_rpc_helper(baseurl, function): def http_rpc_helper(baseurl, function, headers = {}):
def rpc_call(**kwargs): def rpc_call(**kwargs):
url = urllib.basejoin(baseurl, function) url = urllib.basejoin(baseurl, function)
if kwargs: if kwargs:
url = url+"?"+urllib.urlencode(kwargs) url = url+"?"+urllib.urlencode(kwargs)
response = requests.get(url) response = requests.get(url, headers = headers)
if response.status_code == 200: if response.status_code == 200:
return response.content return response.content
if response.status_code == 404: if response.status_code == 404:
...@@ -29,11 +29,12 @@ def local_call_helper(view_or_query, function): ...@@ -29,11 +29,12 @@ def local_call_helper(view_or_query, function):
return rpc_call return rpc_call
class embed(): class embed():
def __init__(self, view_or_query, baseurl = None): def __init__(self, view_or_query, baseurl = None, headers = {}):
self.baseurl = baseurl self.baseurl = baseurl
if baseurl: if baseurl:
self.baseembedurl = baseurl+view_or_query self.baseembedurl = baseurl+view_or_query
self.view_or_query = view_or_query self.view_or_query = view_or_query
self.headers = headers
def __getattr__(self, attr): def __getattr__(self, attr):
if self.baseurl: if self.baseurl:
...@@ -45,23 +46,18 @@ class embed(): ...@@ -45,23 +46,18 @@ class embed():
def __dir__(self): def __dir__(self):
results = [] results = []
probeurl = self.baseurl+"probe/"+self.view_or_query probeurl = self.baseurl+"probe/"+self.view_or_query
classes = requests.get(probeurl).content.split('\n') classes = requests.get(probeurl, headers = self.headers).content.split('\n')
print probeurl print probeurl
for param_set in classes: for param_set in classes:
#print param_set #print param_set
items = requests.get(probeurl+"/"+param_set).content.split('\n') items = requests.get(probeurl+"/"+param_set, headers = self.headers).content.split('\n')
results = results + items results = results + items
return results return results
class djobject(): class djobject():
def __init__(self, baseurl = None): def __init__(self, baseurl = None, headers = {}):
if baseurl: self.view = embed('view', baseurl = baseurl, headers = headers)
self.baseurl = baseurl self.query = embed('query', baseurl = baseurl, headers = headers)
self.view = embed('view', baseurl = baseurl)
self.query = embed('query', baseurl = baseurl)
else:
self.view = embed('view')
self.query = embed('query')
if __name__ == "__main__": if __name__ == "__main__":
djo = djobject(baseurl = "http://127.0.0.1:8000/") djo = djobject(baseurl = "http://127.0.0.1:8000/")
......
''' This, together with decorators.py, is the entire API intended to
be used by plug-in modules.
'''
from util import get_cache, get_filesystem, get_database
def get_replica_database(module):
''' Get a read-replica database of a different module. At
present, not a read-replica, but this will change in the
future. '''
get_database(module)
def get_replica_filesystem(module):
''' Get a read-replica filesystem of a different module. At
present, not a read-replica, but this will change in the
future. '''
get_filesystem(module)
def get_replica_cache(module):
''' Get a read-replica cache of a different module. At
present, not a read-replica, but this will change in the
future. '''
return get_cache(module)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment