def cpexception(): cherrypy.response.status = 500 if sys.version_info < (3, 0): cherrypy.response.body = bytes( pages.get_template('errors/cperror.html').render( e=_cperror.format_exc())) else: cherrypy.response.body = bytes( pages.get_template('errors/cperror.html').render( e=_cperror.format_exc()), 'utf8')
def pair(self, mac): pages.require("/admin/settings.edit") pages.postOnly() import bluetoothctl bt = bluetoothctl.Bluetoothctl() bt.set_agent("NoInputNoOutput") time.sleep(0.5) try: # I think this horriby fussy command needs exactlt this order to work. if not bt.pair(mac): raise RuntimeError("Pairing failed") if not bt.connect(mac): raise RuntimeError("Pairing suceeded but connection failed") if not bt.trust(mac): raise RuntimeError("Trusting failed") finally: bt.close(force=True) devs = [] paired = bt.get_paired_devices() return pages.get_template("settings/bluetooth/scan.html").render( devs=devs, paired=paired)
def remove(self, mac): pages.require("/admin/settings.edit") pages.postOnly() import bluetoothctl bt = bluetoothctl.Bluetoothctl() time.sleep(0.5) try: devs = bt.get_discoverable_devices() paired = bt.get_paired_devices() if not bt.remove(mac): raise RuntimeError("Removing failed") finally: bt.close(force=True) return pages.get_template("settings/bluetooth/scan.html").render( devs=devs, paired=paired)
def scan(self): pages.postOnly() pages.require("/admin/settings.edit") import bluetoothctl bt = bluetoothctl.Bluetoothctl() try: bt.start_scan() time.sleep(15) bt.stop_scan() devs = bt.get_discoverable_devices() paired = bt.get_paired_devices() finally: bt.close(force=True) return pages.get_template("settings/bluetooth/scan.html").render( devs=devs, paired=paired)
def about(self,*path,**data): return pages.get_template('help/about.html').render(myip = MyExternalIPAdress)
def cpexception(): cherrypy.response.status = 500 if sys.version_info < (3,0): cherrypy.response.body= bytes(pages.get_template('errors/cperror.html').render(e=_cperror.format_exc())) else: cherrypy.response.body= bytes(pages.get_template('errors/cperror.html').render(e=_cperror.format_exc()),'utf8')
def license(self, *path, **data): return pages.get_template('help/license.html').render()
def loginerror(self,): cherrypy.response.status = 400 return pages.get_template('errors/loginerror.html').render()
def wrongmethod(self,): cherrypy.response.status = 405 return pages.get_template('errors/wrongmethod.html').render()
def license(self,*path,**data): return pages.get_template('help/license.html').render()
def alreadyexists(self,): cherrypy.response.status = 400 return pages.get_template('errors/alreadyexists.html').render()
def error(self, ): cherrypy.response.status = 500 return pages.get_template('errors/error.html').render( info="An Error Occurred")
def changelog(self, *path, **data): return pages.get_template('help/changes.html').render( myip=MyExternalIPAdress)
def loginerror(self, ): return pages.get_template('errors/loginerror.html').render()
def wrongmethod(self, ): cherrypy.response.status = 405 return pages.get_template('errors/wrongmethod.html').render()
def gosecure(self, ): return pages.get_template('errors/gosecure.html').render()
def alreadyexists(self, ): return pages.get_template('errors/alreadyexists.html').render()
def permissionerror(self, ): cherrypy.response.status = 403 return pages.get_template('errors/permissionerror.html').render()
def changelog(self,*path,**data): return pages.get_template('help/changes.html').render(myip = MyExternalIPAdress)
def index(self, *path, **data): pages.require("/admin/mainpage.view") cherrypy.response.cookie['LastSawMainPage'] = time.time() return pages.get_template('index.html').render()
def helpmenu(self,*path,**data): return pages.get_template('help/index.html').render()
def pagelisting(self, *path, **data): return pages.get_template('pagelisting.html').render_unicode( modules=modules.ActiveModules)
def permissionerror(self,): cherrypy.response.status = 403 return pages.get_template('errors/permissionerror.html').render()
def index(self,*path,**data): pages.require("/admin/mainpage.view") cherrypy.response.cookie['LastSawMainPage'] = time.time() return pages.get_template('index.html').render()
def gosecure(self,): cherrypy.response.status = 426 return pages.get_template('errors/gosecure.html').render()
def about(self, *path, **data): return pages.get_template('help/about.html').render( myip=MyExternalIPAdress)
def nofoldermoveerror(self,): cherrypy.response.status = 400 return pages.get_template('errors/nofoldermove.html').render()
def makohelp(self, *path, **data): return pages.get_template('help/makoreference.html').render()
def error(self,): cherrypy.response.status = 500 return pages.get_template('errors/error.html').render(info="An Error Occurred")
def makohelp(self,*path,**data): return pages.get_template('help/makoreference.html').render()
def pagelisting(self,*path,**data): return pages.get_template('pagelisting.html').render_unicode(modules = modules.ActiveModules)
def helpmenu(self, *path, **data): return pages.get_template('help/index.html').render()
def docs(self,*path,**data): if path: return pages.get_template('help/'+path[0]+'.html').render() return pages.get_template('help/help.html').render()
def docs(self, *path, **data): if path: return pages.get_template('help/' + path[0] + '.html').render() return pages.get_template('help/help.html').render()