def __init__(self): from d3status.urls import handlers, ui_modules from d3status.db import Model settings = dict(debug=options.debug, template_path=os.path.join(os.path.dirname(__file__), "templates"), static_path=os.path.join(os.path.dirname(__file__), "static"), login_url=options.login_url, xsrf_cookies=options.xsrf_cookies, cookie_secret=options.cookie_secret, ui_modules=ui_modules, #autoescape=None, ) # d3status db connection self.db = Connection(host=options.mysql["host"] + ":" + options.mysql["port"], database=options.mysql["database"], user=options.mysql["user"], password=options.mysql["password"], ) Model.setup_dbs({"db": self.db}) super(Application, self).__init__(handlers, **settings)
parse_options() from d3status.db import Model from d3status.db import load_model from d3status.mail import send_email from d3status.tasks import status_tasks # db connection db = Connection( host=options.mysql["host"] + ":" + options.mysql["port"], database=options.mysql["database"], user=options.mysql["user"], password=options.mysql["password"], ) Model.setup_dbs({"db": db}) def update_server_status(): url = options.d3_server_status_url req = HTTPRequest(url=url) client = HTTPClient() response = client.fetch(req) if response.code == 200: status = _parse_server_status(response.body) changed_status = load_model("status").update_status(status) if changed_status: status_tasks.status_notification_task.delay(changed_status) else: err = "GET_D3_SERVER_STAUTS_ERROR: %s\n%s" (response.code, response)
from tornado.database import Connection from d3status.libs.options import parse_options parse_options() from d3status.db import Model # db connection db = Connection(host=options.mysql["host"] + ":" + options.mysql["port"], database=options.mysql["database"], user=options.mysql["user"], password=options.mysql["password"], ) Model.setup_dbs({"db": db}) from d3status.libs.importlib import import_module from d3status.libs.utils import find_modules def _load_tasks(): _current_module = sys.modules[__name__] for m in find_modules(os.path.dirname(__file__)): if m.endswith("_tasks"): # xxx_tasks.py try: mod = import_module("." + m, package="d3status.tasks") for func in dir(mod): if func.endswith("_task"): setattr(_current_module, func, getattr(mod, func))