blob: 925eaba41d60c2e382fd539c4dce254068de8053 [file] [log] [blame]
import os
__author__ = 'hanl'
path = os.path.dirname(__file__)
# modify this to change the Template Directory
TEMPLATE_DIR = '/templates/'
class Handler(object):
def register(self, key, value):
setattr(self, key, value)
def get(self, key):
if hasattr(self, key):
return getattr(self, key)
# for possible email usage
class MessageTemplate(object):
def __init__(self, template_name=None, html=True, values={}):
self.values = values
self.template_name = template_name
self.html = html
def render(self):
content = open(os.path.join(path, TEMPLATE_DIR, self.template_name)).read()
for k, v in self.values.iteritems():
content = content.replace('%%s%%' % k, v)
return content
class HtmlBuilder(object):
def __init__(self):
self.title = None
self.head = None
self.body = None
def appendHead(self, head):
if not self.head:
self.head = ""
self.head.append("\n" + head)
def appendBody(self, body):
if not self.body:
self.body = ""
self.head.append("\n" + body)
class NotificationHandler(object):
@staticmethod
def isError(response):
try:
raw_json = response.json()
if raw_json.get('errors') or raw_json.get('error') or raw_json.get('err'):
return True
except ValueError:
if response.status_code != 200:
return True
return False
@staticmethod
def getMessage(response):
pass
@staticmethod
def notify(json, notify_func, **kwargs):
if "category" not in kwargs.keys():
kwargs['category'] = "danger"
if json.get('errors'):
for error in json.get("errors"):
notify_func(error[1], "danger")
elif json.get('error'):
if json.get('error_description'):
notify_func(json.get('error_description'), **kwargs)
else:
notify_func(json.get('error'), **kwargs)
elif json.get('err'):
notify_func(json.get('errstr'), **kwargs)
@staticmethod
def getLocalized(code):
# return _("status_" + str(code))
return "this is a default message"