示例#1
0
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')
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
 def about(self,*path,**data):
     return pages.get_template('help/about.html').render(myip = MyExternalIPAdress)
示例#6
0
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')
示例#7
0
 def license(self, *path, **data):
     return pages.get_template('help/license.html').render()
示例#8
0
 def loginerror(self,):
     cherrypy.response.status = 400
     return pages.get_template('errors/loginerror.html').render()
示例#9
0
 def wrongmethod(self,):
     cherrypy.response.status = 405
     return pages.get_template('errors/wrongmethod.html').render()
示例#10
0
 def license(self,*path,**data):
     return pages.get_template('help/license.html').render()
示例#11
0
 def alreadyexists(self,):
     cherrypy.response.status = 400
     return pages.get_template('errors/alreadyexists.html').render()
示例#12
0
 def error(self, ):
     cherrypy.response.status = 500
     return pages.get_template('errors/error.html').render(
         info="An Error Occurred")
示例#13
0
 def changelog(self, *path, **data):
     return pages.get_template('help/changes.html').render(
         myip=MyExternalIPAdress)
示例#14
0
 def loginerror(self, ):
     return pages.get_template('errors/loginerror.html').render()
示例#15
0
 def wrongmethod(self, ):
     cherrypy.response.status = 405
     return pages.get_template('errors/wrongmethod.html').render()
示例#16
0
 def gosecure(self, ):
     return pages.get_template('errors/gosecure.html').render()
示例#17
0
 def alreadyexists(self, ):
     return pages.get_template('errors/alreadyexists.html').render()
示例#18
0
 def permissionerror(self, ):
     cherrypy.response.status = 403
     return pages.get_template('errors/permissionerror.html').render()
示例#19
0
 def changelog(self,*path,**data):
     return pages.get_template('help/changes.html').render(myip = MyExternalIPAdress)
示例#20
0
 def index(self, *path, **data):
     pages.require("/admin/mainpage.view")
     cherrypy.response.cookie['LastSawMainPage'] = time.time()
     return pages.get_template('index.html').render()
示例#21
0
 def helpmenu(self,*path,**data):
     return pages.get_template('help/index.html').render()
示例#22
0
 def pagelisting(self, *path, **data):
     return pages.get_template('pagelisting.html').render_unicode(
         modules=modules.ActiveModules)
示例#23
0
 def permissionerror(self,):
     cherrypy.response.status = 403
     return pages.get_template('errors/permissionerror.html').render()
示例#24
0
 def index(self,*path,**data):
     pages.require("/admin/mainpage.view")
     cherrypy.response.cookie['LastSawMainPage'] = time.time()
     return pages.get_template('index.html').render()
示例#25
0
 def gosecure(self,):
     cherrypy.response.status = 426
     return pages.get_template('errors/gosecure.html').render()
示例#26
0
 def about(self, *path, **data):
     return pages.get_template('help/about.html').render(
         myip=MyExternalIPAdress)
示例#27
0
 def nofoldermoveerror(self,):
     cherrypy.response.status = 400
     return pages.get_template('errors/nofoldermove.html').render()
示例#28
0
 def makohelp(self, *path, **data):
     return pages.get_template('help/makoreference.html').render()
示例#29
0
 def error(self,):
     cherrypy.response.status = 500
     return pages.get_template('errors/error.html').render(info="An Error Occurred")
示例#30
0
 def makohelp(self,*path,**data):
     return pages.get_template('help/makoreference.html').render()
示例#31
0
 def pagelisting(self,*path,**data):
     return pages.get_template('pagelisting.html').render_unicode(modules = modules.ActiveModules)
示例#32
0
 def helpmenu(self, *path, **data):
     return pages.get_template('help/index.html').render()
示例#33
0
 def docs(self,*path,**data):
     if path:
         return pages.get_template('help/'+path[0]+'.html').render()
     return pages.get_template('help/help.html').render()
示例#34
0
 def docs(self, *path, **data):
     if path:
         return pages.get_template('help/' + path[0] + '.html').render()
     return pages.get_template('help/help.html').render()