\nsetting | value | "
pageText=pageText+"
---|
\n Build Dimenstions | "+str(gPronterPtr.settings.build_dimensions)+" | \n
"
pageText=pageText+" \n Last Bed Temp | "+str(gPronterPtr.settings.last_bed_temperature)+" | \n
"
pageText=pageText+" \n Last File Path | "+gPronterPtr.settings.last_file_path+" | \n
"
pageText=pageText+" \n Last Temperature | "+str(gPronterPtr.settings.last_temperature)+" | \n
"
pageText=pageText+" \n Preview Extrusion Width | "+str(gPronterPtr.settings.preview_extrusion_width)+" | \n
"
pageText=pageText+" \n Filename | "+str(gPronterPtr.filename)+" |
"
pageText=pageText+PrintFooter()
return pageText
index.exposed = True
class LogPage(object):
def __init__(self):
self.name="Pronterface Console
"
def index(self):
pageText=""
pageText+=""
pageText+=gPronterPtr.status.GetStatusText()
pageText+="
"
pageText=pageText+""+gWeblog+"
"
pageText=pageText+""
return pageText
index.exposed = True
class ConsolePage(object):
def __init__(self):
self.name="Pronterface Settings
"
def index(self):
pageText=PrintHeader()+self.name+PrintMenu()
pageText+=""
pageText+=PrintFooter()
return pageText
index.exposed = True
class ConnectButton(object):
def index(self):
#handle connect push, then reload page
gPronterPtr.connect(0)
return ReloadPage("Connect...")
index.exposed = True
index._cp_config = {'tools.basic_auth.on': True,
'tools.basic_auth.realm': 'My Print Server',
'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text}
class DisconnectButton(object):
def index(self):
#handle connect push, then reload page
gPronterPtr.disconnect(0)
return ReloadPage("Disconnect...")
index.exposed = True
index._cp_config = {'tools.basic_auth.on': True,
'tools.basic_auth.realm': 'My Print Server',
'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text}
class ResetButton(object):
def index(self):
#handle connect push, then reload page
gPronterPtr.reset(0)
return ReloadPage("Reset...")
index.exposed = True
index._cp_config = {'tools.basic_auth.on': True,
'tools.basic_auth.realm': 'My Print Server',
'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text}
class PrintButton(object):
def index(self):
#handle connect push, then reload page
gPronterPtr.printfile(0)
return ReloadPage("Print...")
index.exposed = True
index._cp_config = {'tools.basic_auth.on': True,
'tools.basic_auth.realm': 'My Print Server',
'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text}
class PauseButton(object):
def index(self):
#handle connect push, then reload page
gPronterPtr.pause(0)
return ReloadPage("Pause...")
index.exposed = True
index._cp_config = {'tools.basic_auth.on': True,
'tools.basic_auth.realm': 'My Print Server',
'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text}
class XMLstatus(object):
def index(self):
#handle connect push, then reload page
txt='\n\n'
txt=txt+''+str(gPronterPtr.filename)+'\n'
txt=txt+''+str(gPronterPtr.status.GetStatusText())+'\n'
try:
temp = str(float(filter(lambda x:x.startswith("T:"),gPronterPtr.tempreport.split())[0].split(":")[1]))
txt=txt+''+temp+'\n'
except:
txt=txt+'NA\n'
pass
try:
temp = str(float(filter(lambda x:x.startswith("B:"),gPronterPtr.tempreport.split())[0].split(":")[1]))
txt=txt+''+temp+'\n'
except:
txt=txt+'NA\n'
pass
if gPronterPtr.sdprinting:
fractioncomplete = float(gPronterPtr.percentdone/100.0)
txt+= _("\n"
elif gPronterPtr.p.printing:
fractioncomplete = float(gPronterPtr.p.queueindex)/len(gPronterPtr.p.mainqueue)
txt+= _("\n"
else:
txt+="\n"
txt+=''
return txt
index.exposed = True
class WebInterface(object):
def __init__(self, pface):
config = ConfigParser.SafeConfigParser(allow_no_value=True)
config.read('auth.config')
users[config.get("user", "user")] = config.get("user", "pass")
self.pface = pface
global gPronterPtr
global gWeblog
self.name="Pronterface Web-Interface
"
gWeblog = ""
gPronterPtr = self.pface
settings = SettingsPage()
logpage = LogPage()
console = ConsolePage()
#actions
connect = ConnectButton()
disconnect = DisconnectButton()
reset = ResetButton()
printbutton = PrintButton()
pausebutton = PrintButton()
status = XMLstatus()
def index(self):
pageText=PrintHeader()+self.name+PrintMenu()
pageText+=""
pageText+="
"
pageText+="
"
pageText=pageText+"File Loaded: "+str(gPronterPtr.filename)+"
"
pageText+=""
pageText+=PrintFooter()
return pageText
def AddLog(self, log):
global gWeblog
gWeblog=gWeblog+""+log
def AppendLog(self, log):
global gWeblog
gWeblog=re.sub("\n", "", gWeblog)+log
index.exposed = True
class WebInterfaceStub(object):
def index(self):
return "Web Interface Must be launched by running Pronterface!"
index.exposed = True
def StartWebInterfaceThread(webInterface):
current_dir = os.path.dirname(os.path.abspath(__file__))
cherrypy.config.update({'engine.autoreload_on':False})
cherrypy.config.update("http.config")
conf = {'/css/style.css': {'tools.staticfile.on': True,
'tools.staticfile.filename': os.path.join(current_dir, 'css/style.css'),
}}
cherrypy.config.update("http.config")
cherrypy.quickstart(webInterface, '/', config=conf)
if __name__ == '__main__':
cherrypy.config.update("http.config")
cherrypy.quickstart(WebInterfaceStub())