diff --git a/libs/CherryPy-3.2.2/dist/CherryPy-3.2.2-py2.7.egg b/libs/CherryPy-3.2.2/dist/CherryPy-3.2.2-py2.7.egg index 17e220a..b68299a 100644 Binary files a/libs/CherryPy-3.2.2/dist/CherryPy-3.2.2-py2.7.egg and b/libs/CherryPy-3.2.2/dist/CherryPy-3.2.2-py2.7.egg differ diff --git a/libs/CherryPy-3.2.2/files.txt b/libs/CherryPy-3.2.2/files.txt new file mode 100644 index 0000000..8900850 --- /dev/null +++ b/libs/CherryPy-3.2.2/files.txt @@ -0,0 +1,231 @@ +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 diff --git a/pronterface.py b/pronterface.py index 7b8d093..658ae0d 100755 --- a/pronterface.py +++ b/pronterface.py @@ -46,14 +46,20 @@ if os.name=="nt": pass + from xybuttons import XYButtons from zbuttons import ZButtons from graph import Graph import pronsole -import cherrypy, webinterface -from threading import Thread - +webavail = True +try : + import cherrypy, webinterface + from threading import Thread +except: + print _("CherryPy is not installed. Web Interface Disabled.") + webavail = False + def dosify(name): return os.path.split(name)[1].split(".")[0][:8]+".g" @@ -156,9 +162,10 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.cur_button=None self.hsetpoint=0.0 self.bsetpoint=0.0 - self.webInterface=webinterface.WebInterface(self) - self.webThread = Thread(target=webinterface.StartWebInterfaceThread, args=(self.webInterface, )) - self.webThread.start() + if webavail: + self.webInterface=webinterface.WebInterface(self) + self.webThread = Thread(target=webinterface.StartWebInterfaceThread, args=(self.webInterface, )) + self.webThread.start() def startcb(self): self.starttime=time.time() @@ -281,7 +288,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): else: print _("You cannot set negative temperatures. To turn the hotend off entirely, set its temperature to 0.") 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=""): try: @@ -314,11 +323,17 @@ class PronterWindow(wx.Frame,pronsole.pronsole): wx.CallAfter(self.btemp.SetBackgroundColour,"white") wx.CallAfter(self.btemp.Refresh) 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: - 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: - 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): pronsole.pronsole.end_macro(self) @@ -337,7 +352,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): if dialog.ShowModal()==wx.ID_YES: self.delete_macro(macro_name) return - print _("Cancelled."); self.webInterface.AddLog("Cancelled.") + print _("Cancelled."); + if webavail: + self.webInterface.AddLog("Cancelled.") return self.cur_macro_name = macro_name self.cur_macro_def = definition @@ -356,7 +373,8 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.capture_skip_newline = True return wx.CallAfter(self.logbox.AppendText,l) - self.webInterface.AppendLog(l) + if webavail: + self.webInterface.AppendLog(l) def scanserial(self): """scan for available ports. return a list of device names.""" @@ -377,7 +395,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): if(self.p.online): projectlayer.setframe(self,self.p).Show() 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): self.menustrip = wx.MenuBar() @@ -451,7 +471,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): print _("Name '%s' is being used by built-in command") % macro return 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 else: old_def = "" @@ -867,7 +889,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.topsizer.Layout() def help_button(self): - print _('Defines custom button. Usage: button "title" [/c "colour"] command'); self.webInterface.AddLog('Defines custom button. Usage: button "title" [/c "colour"] command') + print _('Defines custom button. Usage: button "title" [/c "colour"] command'); + if webavail: + self.webInterface.AddLog('Defines custom button. Usage: button "title" [/c "colour"] command') def do_button(self,argstr): def nextarg(rest): @@ -889,7 +913,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): pass command=argstr.strip() 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 while num >= len(self.custombuttons): self.custombuttons+=[None] @@ -1143,7 +1169,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.onecmd(e.GetEventObject().properties[1]) self.cur_button=None 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 raise @@ -1160,7 +1188,8 @@ class PronterWindow(wx.Frame,pronsole.pronsole): except: pass self.Destroy() - webinterface.KillWebInterfaceThread() + if webavail: + webinterface.KillWebInterfaceThread() def do_monitor(self,l=""): if l.strip()=="": @@ -1172,12 +1201,18 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.monitor_interval=float(l) wx.CallAfter(self.monitorbox.SetValue,self.monitor_interval>0) 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) if self.monitor: - print _("Monitoring printer."); self.webInterface.AddLog("Monitoring printer.") + print _("Monitoring printer."); + if webavail: + self.webInterface.AddLog("Monitoring printer.") else: - print _("Done monitoring."); self.webInterface.AddLog("Done monitoring.") + print _("Done monitoring."); + if webavail: + self.webInterface.AddLog("Done monitoring.") def setmonitor(self,e): @@ -1194,7 +1229,8 @@ class PronterWindow(wx.Frame,pronsole.pronsole): if not len(command): return wx.CallAfter(self.logbox.AppendText,">>>"+command+"\n") - self.webInterface.AppendLog(">>>"+command+"\n") + if webavail: + self.webInterface.AppendLog(">>>"+command+"\n") self.onecmd(str(command)) self.commandbox.SetSelection(0,len(command)) @@ -1356,7 +1392,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): try: import shlex 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())] #print pararray self.skeinp=subprocess.Popen(pararray,stderr=subprocess.STDOUT,stdout=subprocess.PIPE) @@ -1367,7 +1405,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): self.skeinp.wait() self.stopsf=1 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 traceback.print_exc(file=sys.stdout) @@ -1454,7 +1494,9 @@ class PronterWindow(wx.Frame,pronsole.pronsole): def loadviz(self): 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 _("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 Z\nand is %f mm high\n") % (Zmin, Zmax, Ztot) print _("Estimated duration (pessimistic): "), pronsole.estimate_duration(self.f) @@ -1686,7 +1728,8 @@ class macroed(wx.Dialog): self.callback(self.e.GetValue().split("\n")) def close(self,ev): self.Destroy() - webinterface.KillWebInterfaceThread() + if webavail: + webinterface.KillWebInterfaceThread() def unindent(self,text): self.indent_chars = text[:len(text)-len(text.lstrip())] if len(self.indent_chars)==0: diff --git a/webinterface.py b/webinterface.py index e8ebd06..b959807 100644 --- a/webinterface.py +++ b/webinterface.py @@ -131,22 +131,37 @@ class MoveButton(object): if(margs and axis == "x"): distance = margs.pop(0) gPronterPtr.onecmd('move X %s' % distance) - return "Moving X Axis " + str(distance) + return ReloadPage("Moving X Axis " + str(distance)) if(margs and axis == "y"): distance = margs.pop(0) gPronterPtr.onecmd('move Y %s' % distance) - return "Moving Y Axis " + str(distance) + return ReloadPage("Moving Y Axis " + str(distance)) if(margs and axis == "z"): distance = margs.pop(0) 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!") axis.exposed = True axis._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 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): def axis(self, *args): if not args: @@ -241,6 +256,7 @@ class WebInterface(object): status = XMLstatus() home = HomeButton() move = MoveButton() + custom =CustomButton() def index(self): pageText=PrintHeader()+self.name+PrintMenu() @@ -264,15 +280,40 @@ class WebInterface(object): pageText+="
" pageText+="" pageText+='' - pageText+='X Home' - pageText+='Y Home' - pageText+='Z Home' - pageText+='All Home' - #TODO Map X, Y Moves + + pageText+='X Home' + pageText+='Y Home' + pageText+='All Home' + pageText+='Z Home' + pageText+='Y 100' + pageText+='Y 10' + pageText+='Y 1' + pageText+='Y .1' + pageText+='Y -.1' + pageText+='Y -1' + pageText+='Y -10' + pageText+='Y -100' + pageText+='X -100' + pageText+='X 100' + pageText+='X -10' + pageText+='X 10' + pageText+='X -1' + pageText+='X 1' + pageText+='X -.1' + pageText+='X .1' + pageText+="" pageText+="
\n" #endxy pageText+="
" - pageText+="" + pageText+="" + pageText+='' + pageText+='Z 10' + pageText+='Z 1' + pageText+='Z .1' + pageText+='Z -.1' + pageText+='Z -1' + pageText+='Z -10' + pageText+="" #TODO Map Z Moves pageText+="
\n" #endz pageText+="\n" #endgui