Commit 4158bc63 authored by unknown's avatar unknown

Only enable webinterface if CherryPy is available. Fix buttons on the web

parent 6f04dc68
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\cherryd
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\favicon.ico
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\LICENSE.txt
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpchecker.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpchecker.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpcompat.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpcompat.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpconfig.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpconfig.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpdispatch.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpdispatch.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cperror.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cperror.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cplogging.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cplogging.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpmodpy.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpmodpy.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpnative_server.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpnative_server.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpreqbody.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpreqbody.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cprequest.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cprequest.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpserver.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpserver.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpthreadinglocal.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpthreadinglocal.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cptools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cptools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cptree.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cptree.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpwsgi.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpwsgi.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpwsgi_server.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\_cpwsgi_server.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth_basic.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth_basic.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth_digest.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\auth_digest.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\caching.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\caching.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\covercp.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\covercp.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\cpstats.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\cpstats.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\cptools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\cptools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\encoding.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\encoding.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\gctools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\gctools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\http.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\http.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\httpauth.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\httpauth.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\httputil.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\httputil.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\jsontools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\jsontools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\profiler.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\profiler.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\reprconf.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\reprconf.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\sessions.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\sessions.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\static.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\static.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\xmlrpcutil.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\xmlrpcutil.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\lib\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\plugins.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\plugins.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\servers.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\servers.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\win32.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\win32.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\wspbus.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\wspbus.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\process\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\scaffold\example.conf
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\scaffold\site.conf
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\scaffold\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\scaffold\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\scaffold\static\made_with_cherrypy_small.png
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\benchmark.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\benchmark.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\checkerdemo.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\checkerdemo.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\helper.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\helper.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\logtest.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\logtest.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modfastcgi.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modfastcgi.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modfcgid.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modfcgid.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modpy.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modpy.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modwsgi.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\modwsgi.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\sessiondemo.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\sessiondemo.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\style.css
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test.pem
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_auth_basic.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_auth_basic.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_auth_digest.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_auth_digest.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_bus.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_bus.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_caching.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_caching.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_config.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_config.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_config_server.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_config_server.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_conn.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_conn.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_core.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_core.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_dynamicobjectmapping.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_dynamicobjectmapping.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_encoding.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_encoding.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_etags.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_etags.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_http.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_http.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_httpauth.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_httpauth.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_httplib.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_httplib.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_json.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_json.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_logging.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_logging.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_mime.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_mime.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_misc_tools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_misc_tools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_objectmapping.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_objectmapping.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_proxy.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_proxy.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_refleaks.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_refleaks.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_request_obj.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_request_obj.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_routes.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_routes.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_session.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_session.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_sessionauthenticate.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_sessionauthenticate.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_states.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_states.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_static.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_static.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_tools.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_tools.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_tutorials.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_tutorials.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_virtualhost.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_virtualhost.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgiapps.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgiapps.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgi_ns.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgi_ns.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgi_vhost.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_wsgi_vhost.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_xmlrpc.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\test_xmlrpc.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\webtest.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\webtest.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\_test_decorators.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\_test_decorators.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\_test_states_demo.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\_test_states_demo.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\static\dirback.jpg
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\test\static\index.html
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\bonus-sqlobject.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\bonus-sqlobject.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\custom_error.html
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\pdf_file.pdf
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\README.txt
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut01_helloworld.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut01_helloworld.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut02_expose_methods.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut02_expose_methods.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut03_get_and_post.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut03_get_and_post.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut04_complex_site.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut04_complex_site.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut05_derived_objects.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut05_derived_objects.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut06_default_method.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut06_default_method.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut07_sessions.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut07_sessions.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut08_generators_and_yield.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut08_generators_and_yield.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut09_files.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut09_files.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut10_http_errors.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tut10_http_errors.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\tutorial.conf
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\tutorial\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\ssl_builtin.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\ssl_builtin.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\ssl_pyopenssl.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\ssl_pyopenssl.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\wsgiserver2.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\wsgiserver2.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\__init__.py
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\cherrypy\wsgiserver\__init__.pyc
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\dependency_links.txt
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\not-zip-safe
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\PKG-INFO
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\SOURCES.txt
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\top_level.txt
c:\python27\lib\site-packages\CherryPy-3.2.2-py2.7.egg\EGG-INFO\scripts\cherryd
c:\Python27\Scripts\cherryd
...@@ -46,13 +46,19 @@ if os.name=="nt": ...@@ -46,13 +46,19 @@ if os.name=="nt":
pass pass
from xybuttons import XYButtons from xybuttons import XYButtons
from zbuttons import ZButtons from zbuttons import ZButtons
from graph import Graph from graph import Graph
import pronsole import pronsole
import cherrypy, webinterface webavail = True
from threading import Thread try :
import cherrypy, webinterface
from threading import Thread
except:
print _("CherryPy is not installed. Web Interface Disabled.")
webavail = False
def dosify(name): def dosify(name):
return os.path.split(name)[1].split(".")[0][:8]+".g" return os.path.split(name)[1].split(".")[0][:8]+".g"
...@@ -156,6 +162,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -156,6 +162,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.cur_button=None self.cur_button=None
self.hsetpoint=0.0 self.hsetpoint=0.0
self.bsetpoint=0.0 self.bsetpoint=0.0
if webavail:
self.webInterface=webinterface.WebInterface(self) self.webInterface=webinterface.WebInterface(self)
self.webThread = Thread(target=webinterface.StartWebInterfaceThread, args=(self.webInterface, )) self.webThread = Thread(target=webinterface.StartWebInterfaceThread, args=(self.webInterface, ))
self.webThread.start() self.webThread.start()
...@@ -281,7 +288,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -281,7 +288,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
else: else:
print _("You cannot set negative temperatures. To turn the hotend off entirely, set its temperature to 0.") print _("You cannot set negative temperatures. To turn the hotend off entirely, set its temperature to 0.")
except Exception,x: except Exception,x:
print _("You must enter a temperature. (%s)" % (repr(x),)); self.webInterface.AddLog("You must enter a temperature. (%s)" % (repr(x),)) print _("You must enter a temperature. (%s)" % (repr(x),));
if webavail:
self.webInterface.AddLog("You must enter a temperature. (%s)" % (repr(x),))
def do_bedtemp(self,l=""): def do_bedtemp(self,l=""):
try: try:
...@@ -314,11 +323,17 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -314,11 +323,17 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
wx.CallAfter(self.btemp.SetBackgroundColour,"white") wx.CallAfter(self.btemp.SetBackgroundColour,"white")
wx.CallAfter(self.btemp.Refresh) wx.CallAfter(self.btemp.Refresh)
else: else:
print _("Printer is not online."); self.webInterface.AddLog("Printer is not online.") print _("Printer is not online.");
if webavail:
self.webInterface.AddLog("Printer is not online.")
else: else:
print _("You cannot set negative temperatures. To turn the bed off entirely, set its temperature to 0."); self.webInterface.AddLog("You cannot set negative temperatures. To turn the bed off entirely, set its temperature to 0.") print _("You cannot set negative temperatures. To turn the bed off entirely, set its temperature to 0.");
if webavail:
self.webInterface.AddLog("You cannot set negative temperatures. To turn the bed off entirely, set its temperature to 0.")
except: except:
print _("You must enter a temperature."); self.webInterface.AddLog("You must enter a temperature.") print _("You must enter a temperature.");
if webavail:
self.webInterface.AddLog("You must enter a temperature.")
def end_macro(self): def end_macro(self):
pronsole.pronsole.end_macro(self) pronsole.pronsole.end_macro(self)
...@@ -337,7 +352,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -337,7 +352,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
if dialog.ShowModal()==wx.ID_YES: if dialog.ShowModal()==wx.ID_YES:
self.delete_macro(macro_name) self.delete_macro(macro_name)
return return
print _("Cancelled."); self.webInterface.AddLog("Cancelled.") print _("Cancelled.");
if webavail:
self.webInterface.AddLog("Cancelled.")
return return
self.cur_macro_name = macro_name self.cur_macro_name = macro_name
self.cur_macro_def = definition self.cur_macro_def = definition
...@@ -356,6 +373,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -356,6 +373,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.capture_skip_newline = True self.capture_skip_newline = True
return return
wx.CallAfter(self.logbox.AppendText,l) wx.CallAfter(self.logbox.AppendText,l)
if webavail:
self.webInterface.AppendLog(l) self.webInterface.AppendLog(l)
def scanserial(self): def scanserial(self):
...@@ -377,7 +395,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -377,7 +395,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
if(self.p.online): if(self.p.online):
projectlayer.setframe(self,self.p).Show() projectlayer.setframe(self,self.p).Show()
else: else:
print _("Printer is not online."); self.webInterface.AddLog("Printer is not online.") print _("Printer is not online.");
if webavail:
self.webInterface.AddLog("Printer is not online.")
def popmenu(self): def popmenu(self):
self.menustrip = wx.MenuBar() self.menustrip = wx.MenuBar()
...@@ -451,7 +471,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -451,7 +471,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
print _("Name '%s' is being used by built-in command") % macro print _("Name '%s' is being used by built-in command") % macro
return return
elif len([c for c in macro if not c.isalnum() and c != "_"]): elif len([c for c in macro if not c.isalnum() and c != "_"]):
print _("Macro name may contain only alphanumeric symbols and underscores"); self.webInterface.AddLog("Macro name may contain only alphanumeric symbols and underscores") print _("Macro name may contain only alphanumeric symbols and underscores");
if webavail:
self.webInterface.AddLog("Macro name may contain only alphanumeric symbols and underscores")
return return
else: else:
old_def = "" old_def = ""
...@@ -867,7 +889,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -867,7 +889,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.topsizer.Layout() self.topsizer.Layout()
def help_button(self): def help_button(self):
print _('Defines custom button. Usage: button <num> "title" [/c "colour"] command'); self.webInterface.AddLog('Defines custom button. Usage: button <num> "title" [/c "colour"] command') print _('Defines custom button. Usage: button <num> "title" [/c "colour"] command');
if webavail:
self.webInterface.AddLog('Defines custom button. Usage: button <num> "title" [/c "colour"] command')
def do_button(self,argstr): def do_button(self,argstr):
def nextarg(rest): def nextarg(rest):
...@@ -889,7 +913,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -889,7 +913,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
pass pass
command=argstr.strip() command=argstr.strip()
if num<0 or num>=64: if num<0 or num>=64:
print _("Custom button number should be between 0 and 63"); self.webInterface.AddLog("Custom button number should be between 0 and 63") print _("Custom button number should be between 0 and 63");
if webavail:
self.webInterface.AddLog("Custom button number should be between 0 and 63")
return return
while num >= len(self.custombuttons): while num >= len(self.custombuttons):
self.custombuttons+=[None] self.custombuttons+=[None]
...@@ -1143,7 +1169,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1143,7 +1169,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.onecmd(e.GetEventObject().properties[1]) self.onecmd(e.GetEventObject().properties[1])
self.cur_button=None self.cur_button=None
except: except:
print _("event object missing"); self.webInterface.AddLog("event object missing") print _("event object missing");
if webavail:
self.webInterface.AddLog("event object missing")
self.cur_button=None self.cur_button=None
raise raise
...@@ -1160,6 +1188,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1160,6 +1188,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
except: except:
pass pass
self.Destroy() self.Destroy()
if webavail:
webinterface.KillWebInterfaceThread() webinterface.KillWebInterfaceThread()
def do_monitor(self,l=""): def do_monitor(self,l=""):
...@@ -1172,12 +1201,18 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1172,12 +1201,18 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.monitor_interval=float(l) self.monitor_interval=float(l)
wx.CallAfter(self.monitorbox.SetValue,self.monitor_interval>0) wx.CallAfter(self.monitorbox.SetValue,self.monitor_interval>0)
except: except:
print _("Invalid period given."); self.webInterface.AddLog("Invalid period given.") print _("Invalid period given.");
if webavail:
self.webInterface.AddLog("Invalid period given.")
self.setmonitor(None) self.setmonitor(None)
if self.monitor: if self.monitor:
print _("Monitoring printer."); self.webInterface.AddLog("Monitoring printer.") print _("Monitoring printer.");
if webavail:
self.webInterface.AddLog("Monitoring printer.")
else: else:
print _("Done monitoring."); self.webInterface.AddLog("Done monitoring.") print _("Done monitoring.");
if webavail:
self.webInterface.AddLog("Done monitoring.")
def setmonitor(self,e): def setmonitor(self,e):
...@@ -1194,6 +1229,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1194,6 +1229,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
if not len(command): if not len(command):
return return
wx.CallAfter(self.logbox.AppendText,">>>"+command+"\n") wx.CallAfter(self.logbox.AppendText,">>>"+command+"\n")
if webavail:
self.webInterface.AppendLog(">>>"+command+"\n") self.webInterface.AppendLog(">>>"+command+"\n")
self.onecmd(str(command)) self.onecmd(str(command))
self.commandbox.SetSelection(0,len(command)) self.commandbox.SetSelection(0,len(command))
...@@ -1356,7 +1392,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1356,7 +1392,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
try: try:
import shlex import shlex
param = self.expandcommand(self.settings.slicecommand).encode() param = self.expandcommand(self.settings.slicecommand).encode()
print "Slicing: ",param; self.webInterface.AddLog("Slicing: "+param) print "Slicing: ",param;
if webavail:
self.webInterface.AddLog("Slicing: "+param)
pararray=[i.replace("$s",self.filename).replace("$o",self.filename.replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() for i in shlex.split(param.replace("\\","\\\\").encode())] pararray=[i.replace("$s",self.filename).replace("$o",self.filename.replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() for i in shlex.split(param.replace("\\","\\\\").encode())]
#print pararray #print pararray
self.skeinp=subprocess.Popen(pararray,stderr=subprocess.STDOUT,stdout=subprocess.PIPE) self.skeinp=subprocess.Popen(pararray,stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
...@@ -1367,7 +1405,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1367,7 +1405,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
self.skeinp.wait() self.skeinp.wait()
self.stopsf=1 self.stopsf=1
except: except:
print _("Failed to execute slicing software: "); self.webInterface.AddLog("Failed to execute slicing software: ") print _("Failed to execute slicing software: ");
if webavail:
self.webInterface.AddLog("Failed to execute slicing software: ")
self.stopsf=1 self.stopsf=1
traceback.print_exc(file=sys.stdout) traceback.print_exc(file=sys.stdout)
...@@ -1454,7 +1494,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): ...@@ -1454,7 +1494,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole):
def loadviz(self): def loadviz(self):
Xtot,Ytot,Ztot,Xmin,Xmax,Ymin,Ymax,Zmin,Zmax = pronsole.measurements(self.f) Xtot,Ytot,Ztot,Xmin,Xmax,Ymin,Ymax,Zmin,Zmax = pronsole.measurements(self.f)
print pronsole.totalelength(self.f), _("mm of filament used in this print\n") print pronsole.totalelength(self.f), _("mm of filament used in this print\n")
print _("the print goes from %f mm to %f mm in X\nand is %f mm wide\n") % (Xmin, Xmax, Xtot); self.webInterface.AddLog("the print goes from %f mm to %f mm in X\nand is %f mm wide\n") % (Xmin, Xmax, Xtot) print _("the print goes from %f mm to %f mm in X\nand is %f mm wide\n") % (Xmin, Xmax, Xtot);
if webavail:
self.webInterface.AddLog("the print goes from %f mm to %f mm in X\nand is %f mm wide\n") % (Xmin, Xmax, Xtot)
print _("the print goes from %f mm to %f mm in Y\nand is %f mm wide\n") % (Ymin, Ymax, Ytot) print _("the print goes from %f mm to %f mm in Y\nand is %f mm wide\n") % (Ymin, Ymax, Ytot)
print _("the print goes from %f mm to %f mm in Z\nand is %f mm high\n") % (Zmin, Zmax, Ztot) print _("the print goes from %f mm to %f mm in Z\nand is %f mm high\n") % (Zmin, Zmax, Ztot)
print _("Estimated duration (pessimistic): "), pronsole.estimate_duration(self.f) print _("Estimated duration (pessimistic): "), pronsole.estimate_duration(self.f)
...@@ -1686,6 +1728,7 @@ class macroed(wx.Dialog): ...@@ -1686,6 +1728,7 @@ class macroed(wx.Dialog):
self.callback(self.e.GetValue().split("\n")) self.callback(self.e.GetValue().split("\n"))
def close(self,ev): def close(self,ev):
self.Destroy() self.Destroy()
if webavail:
webinterface.KillWebInterfaceThread() webinterface.KillWebInterfaceThread()
def unindent(self,text): def unindent(self,text):
self.indent_chars = text[:len(text)-len(text.lstrip())] self.indent_chars = text[:len(text)-len(text.lstrip())]
......
...@@ -131,15 +131,15 @@ class MoveButton(object): ...@@ -131,15 +131,15 @@ class MoveButton(object):
if(margs and axis == "x"): if(margs and axis == "x"):
distance = margs.pop(0) distance = margs.pop(0)
gPronterPtr.onecmd('move X %s' % distance) gPronterPtr.onecmd('move X %s' % distance)
return "Moving X Axis " + str(distance) return ReloadPage("Moving X Axis " + str(distance))
if(margs and axis == "y"): if(margs and axis == "y"):
distance = margs.pop(0) distance = margs.pop(0)
gPronterPtr.onecmd('move Y %s' % distance) gPronterPtr.onecmd('move Y %s' % distance)
return "Moving Y Axis " + str(distance) return ReloadPage("Moving Y Axis " + str(distance))
if(margs and axis == "z"): if(margs and axis == "z"):
distance = margs.pop(0) distance = margs.pop(0)
gPronterPtr.onecmd('move Z %s' % distance) gPronterPtr.onecmd('move Z %s' % distance)
return "Moving Z Axis " + str(distance) return ReloadPage("Moving Z Axis " + str(distance))
raise cherrypy.HTTPError(400, "Unmached Move Command!") raise cherrypy.HTTPError(400, "Unmached Move Command!")
axis.exposed = True axis.exposed = True
axis._cp_config = {'tools.basic_auth.on': True, axis._cp_config = {'tools.basic_auth.on': True,
...@@ -147,6 +147,21 @@ class MoveButton(object): ...@@ -147,6 +147,21 @@ class MoveButton(object):
'tools.basic_auth.users': users, 'tools.basic_auth.users': users,
'tools.basic_auth.encrypt': clear_text} 'tools.basic_auth.encrypt': clear_text}
class CustomButton(object):
def button(self, *args):
if not args:
raise cherrypy.HTTPError(400, "No Custom Command Provided!")
margs=list(args)
command = margs.pop(0)
if(command):
gPronterPtr.onecmd(command)
return ReloadPage(str(command))
button.exposed = True
button._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 HomeButton(object): class HomeButton(object):
def axis(self, *args): def axis(self, *args):
if not args: if not args:
...@@ -241,6 +256,7 @@ class WebInterface(object): ...@@ -241,6 +256,7 @@ class WebInterface(object):
status = XMLstatus() status = XMLstatus()
home = HomeButton() home = HomeButton()
move = MoveButton() move = MoveButton()
custom =CustomButton()
def index(self): def index(self):
pageText=PrintHeader()+self.name+PrintMenu() pageText=PrintHeader()+self.name+PrintMenu()
...@@ -264,15 +280,40 @@ class WebInterface(object): ...@@ -264,15 +280,40 @@ class WebInterface(object):
pageText+="<div id='control_xy'>" pageText+="<div id='control_xy'>"
pageText+="<img src='/images/control_xy.png' usemap='#xymap'/>" pageText+="<img src='/images/control_xy.png' usemap='#xymap'/>"
pageText+='<map name="xymap">' pageText+='<map name="xymap">'
pageText+='<area shape="rect" coords="0,0,44,44" href="/home/axis/x" alt="X Home" />'
pageText+='<area shape="rect" coords="200,44,244,0" href="/home/axis/y" alt="Y Home" />' pageText+='<area shape="rect" coords="8,5,51,48" href="/home/axis/x" alt="X Home" title="X Home" />'
pageText+='<area shape="rect" coords="195,195,244,244" href="/home/axis/z" alt="Z Home" />' pageText+='<area shape="rect" coords="195,6,236,46" href="/home/axis/y" alt="Y Home" title="Y Home" />'
pageText+='<area shape="rect" coords="0,244,44,196" href="/home/axis/all" alt="All Home" />' pageText+='<area shape="rect" coords="7,192,48,232" href="/home/axis/all" alt="All Home" title="All Home" />'
#TODO Map X, Y Moves pageText+='<area shape="rect" coords="194,192,235,232" href="/home/axis/z" alt="Z Home" title="Z Home" />'
pageText+='<area shape="rect" coords="62,7,185,34" href="/move/axis/y/100" alt="Y 100" title="Y 100" />'
pageText+='<area shape="rect" coords="68,34,175,61" href="/move/axis/y/10" alt="Y 10" title="Y 10" />'
pageText+='<area shape="rect" coords="80,60,163,84" href="/move/axis/y/1" alt="Y 1" title="Y 1" />'
pageText+='<area shape="rect" coords="106,83,138,107" href="/move/axis/y/.1" alt="Y .1" title="Y .1" />'
pageText+='<area shape="rect" coords="110,135,142,159" href="/move/axis/y/-.1" alt="Y -.1" title="Y -.1" />'
pageText+='<area shape="rect" coords="81,157,169,181" href="/move/axis/y/-1" alt="Y -1" title="Y -1" />'
pageText+='<area shape="rect" coords="69,180,178,206" href="/move/axis/y/-10" alt="Y -10" title="Y -10" />'
pageText+='<area shape="rect" coords="60,205,186,231" href="/move/axis/y/-100" alt="Y -100" title="Y -100" />'
pageText+='<area shape="rect" coords="11,53,37,179" href="/move/axis/x/-100" alt="X -100" title="X -100" />'
pageText+='<area shape="rect" coords="210,59,236,185" href="/move/axis/x/100" alt="X 100" title="X 100" />'
pageText+='<area shape="rect" coords="38,60,64,172" href="/move/axis/x/-10" alt="X -10" title="X -10" />'
pageText+='<area shape="rect" coords="185,66,211,178" href="/move/axis/x/10" alt="X 10" title="X 10" />'
pageText+='<area shape="rect" coords="62,84,83,157" href="/move/axis/x/-1" alt="X -1" title="X -1" />'
pageText+='<area shape="rect" coords="163,87,187,160" href="/move/axis/x/1" alt="X 1" title="X 1" />'
pageText+='<area shape="rect" coords="82,104,110,139" href="/move/axis/x/-.1" alt="X -.1" title="X -.1" />'
pageText+='<area shape="rect" coords="137,105,165,140" href="/move/axis/x/.1" alt="X .1" title="X .1" />'
pageText+="</map>" pageText+="</map>"
pageText+="</div>\n" #endxy pageText+="</div>\n" #endxy
pageText+="<div id='control_z'>" pageText+="<div id='control_z'>"
pageText+="<img src='/images/control_z.png' />" pageText+="<img src='/images/control_z.png' usemap='#zmap'/>"
pageText+='<map name="zmap">'
pageText+='<area shape="rect" coords="4,35,54,64" href="/move/axis/z/10" alt="Z 10" title="Z 10" />'
pageText+='<area shape="rect" coords="4,60,54,89" href="/move/axis/z/1" alt="Z 1" title="Z 1" />'
pageText+='<area shape="rect" coords="4,87,54,116" href="/move/axis/z/.1" alt="Z .1" title="Z .1" />'
pageText+='<area shape="rect" coords="4,121,54,150" href="/move/axis/z/-.1" alt="Z -.1" title="Z -.1" />'
pageText+='<area shape="rect" coords="4,147,54,176" href="/move/axis/z/-1" alt="Z -1" title="Z -1" />'
pageText+='<area shape="rect" coords="4,173,54,202" href="/move/axis/z/-10" alt="Z -10" title="Z -10" />'
pageText+="</map>"
#TODO Map Z Moves #TODO Map Z Moves
pageText+="</div>\n" #endz pageText+="</div>\n" #endz
pageText+="</div>\n" #endgui pageText+="</div>\n" #endgui
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment