changeset 6:2620dac853ad

added autoconfig loading
author Marcin Kuzminski
date Thu, 18 Feb 2010 14:51:26 +0100
parents ad0dd3904225
children 8a2ddd2d6b4e
files pylons_app.log pylons_app/controllers/hg.py pylons_app/tests/configparser_test.py
diffstat 3 files changed, 266 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app.log	Thu Feb 18 14:13:45 2010 +0100
+++ b/pylons_app.log	Thu Feb 18 14:51:26 2010 +0100
@@ -7208,3 +7208,243 @@
 14:13:16,096 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x3806d70>, 'environ': {'routes.route': <routes.route.Route object at 0x2f7f550>, 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2f7f790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x37fe790>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': <beaker.cache.CacheManager object at 0x2f7f810>, 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x37fe510>, 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x37fe950>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2f7f850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x37fe790>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2f7f850>, 'wsgi.input': <socket._fileobject object at 0x2f09ad0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266498796.096786, '_creation_time': 1266498791.9932499}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x37fe950>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x37f0310>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f4a985881c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x22ce4d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
 14:13:16,997 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
 14:13:16,997 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:15:30,530 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app'
+14:15:30,530 DEBUG [pylons.configuration] Pushing process configuration
+14:15:30,534 DEBUG [pylons.configuration] Adding mako engine with alias None and {'myghty.data_dir': '/home/marcink/python_workspace/hg_app/data/templates', 'mako.directories': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'myghty.component_root': [{'templates': '/home/marcink/python_workspace/hg_app/pylons_app/templates'}], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/home/marcink/python_workspace/hg_app/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True} options
+14:15:30,534 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer
+14:15:30,537 DEBUG [pylons.templating] Initialized Buffet object
+14:15:30,538 DEBUG [pylons.templating] Adding mako template language for use with Buffet
+14:15:30,538 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True
+14:15:30,540 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986443634960: Initial worker pool
+14:15:30,541 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986435242256: Initial worker pool
+14:15:30,541 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986426849552: Initial worker pool
+14:15:30,541 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986418456848: Initial worker pool
+14:15:30,541 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986410064144: Initial worker pool
+14:15:30,542 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986401671440: Initial worker pool
+14:15:30,542 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986393278736: Initial worker pool
+14:15:30,542 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986384886032: Initial worker pool
+14:15:30,542 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986376493328: Initial worker pool
+14:15:30,543 DEBUG [paste.httpserver.ThreadPool] Started new worker 139986368100624: Initial worker pool
+14:47:31,905 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:47:31,907 DEBUG [routes.middleware] Matched GET /add/test
+14:47:31,907 DEBUG [routes.middleware] Route path: '/add/{new_repo:[a-z0-9\. _-]*}', defaults: {'action': u'add_repo', 'controller': u'hg'}
+14:47:31,908 DEBUG [routes.middleware] Match dict: {'action': u'add_repo', 'new_repo': u'test', 'controller': u'hg'}
+14:47:31,908 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:47:31,909 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:47:32,035 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController'
+14:47:32,035 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:47:32,035 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:47:32,036 DEBUG [pylons.controllers.core] Looking for u'add_repo' method to handle the request
+14:47:32,036 DEBUG [pylons.controllers.core] Calling 'add_repo' method with keyword args: **{'new_repo': u'test'}
+14:47:32,036 DEBUG [pylons.controllers.core] Assuming controller returned an iterable, setting it as pylons.response.app_iter
+14:47:32,036 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data
+14:48:18,628 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app'
+14:48:18,628 DEBUG [pylons.configuration] Pushing process configuration
+14:48:18,631 DEBUG [pylons.configuration] Adding mako engine with alias None and {'myghty.data_dir': '/home/marcink/python_workspace/hg_app/data/templates', 'mako.directories': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'myghty.component_root': [{'templates': '/home/marcink/python_workspace/hg_app/pylons_app/templates'}], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/home/marcink/python_workspace/hg_app/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True} options
+14:48:18,631 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer
+14:48:18,635 DEBUG [pylons.templating] Initialized Buffet object
+14:48:18,635 DEBUG [pylons.templating] Adding mako template language for use with Buffet
+14:48:18,636 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True
+14:48:18,638 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766760069392: Initial worker pool
+14:48:18,638 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766751676688: Initial worker pool
+14:48:18,640 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766743283984: Initial worker pool
+14:48:18,640 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766734891280: Initial worker pool
+14:48:18,640 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766726498576: Initial worker pool
+14:48:18,640 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766718105872: Initial worker pool
+14:48:18,641 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766709713168: Initial worker pool
+14:48:18,641 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766701320464: Initial worker pool
+14:48:18,641 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766692927760: Initial worker pool
+14:48:18,641 DEBUG [paste.httpserver.ThreadPool] Started new worker 139766684535056: Initial worker pool
+14:48:20,795 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:48:20,798 DEBUG [routes.middleware] Matched GET /add/test
+14:48:20,798 DEBUG [routes.middleware] Route path: '/add/{new_repo:[a-z0-9\. _-]*}', defaults: {'action': u'add_repo', 'controller': u'hg'}
+14:48:20,798 DEBUG [routes.middleware] Match dict: {'action': u'add_repo', 'new_repo': u'test', 'controller': u'hg'}
+14:48:20,798 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:48:20,799 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:48:20,863 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController'
+14:48:20,863 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:48:20,864 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:48:20,864 DEBUG [pylons.controllers.core] Looking for u'add_repo' method to handle the request
+14:48:20,864 DEBUG [pylons.controllers.core] Calling 'add_repo' method with keyword args: **{'new_repo': u'test'}
+14:48:20,898 INFO  [pylons_app.controllers.hg] test repo is free for creation
+14:48:20,898 INFO  [pylons_app.controllers.hg] test repo is free for creation
+14:48:20,899 INFO  [pylons_app.controllers.hg] creating repo test
+14:48:20,899 INFO  [pylons_app.controllers.hg] creating repo test
+14:48:20,903 DEBUG [pylons.controllers.core] Assuming controller returned an iterable, setting it as pylons.response.app_iter
+14:48:20,904 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data
+14:48:23,472 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:48:23,473 DEBUG [routes.middleware] Matched GET /
+14:48:23,473 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:48:23,473 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:48:23,474 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:48:23,474 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:48:23,474 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:48:23,474 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:48:23,475 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:48:23,475 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2a8a1b8>, 'environ': {'routes.route': <routes.route.Route object at 0x2206550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/add/test', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2206790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2771a10>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2771b10>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2206810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x22f8510>, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2771a10>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'wsgi.input': <socket._fileobject object at 0x2190bd0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266500903.475585, '_creation_time': 1266500903.475585}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x22f8510>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x221bed0>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f1e007211c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x15564d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:48:24,356 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:48:24,386 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:48:24,455 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:48:24,456 DEBUG [routes.middleware] Matched GET /static/style-gitweb.css
+14:48:24,456 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:48:24,457 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}
+14:48:24,457 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:48:24,457 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:48:24,458 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:48:24,458 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:48:24,458 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:48:24,458 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2a8c7d0>, 'environ': {'routes.route': <routes.route.Route object at 0x2206550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2206790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-gitweb.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2a79fd0>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2a79390>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2206810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2771fd0>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2a79fd0>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'wsgi.input': <socket._fileobject object at 0x2190ad0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266500904.458766, '_creation_time': 1266500903.475585}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2771fd0>, 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2a79990>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f1e007211c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x15564d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:48:25,577 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:48:25,577 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:48:27,424 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:48:27,425 DEBUG [routes.middleware] Matched GET /static/hgicon.png
+14:48:27,426 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:48:27,426 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}
+14:48:27,426 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:48:27,427 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:48:27,427 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:48:27,427 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:48:27,427 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:48:27,427 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2a8cd70>, 'environ': {'routes.route': <routes.route.Route object at 0x2206550>, 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2206790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2a87610>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': <beaker.cache.CacheManager object at 0x2206810>, 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2a87650>, 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2a87dd0>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2a87610>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2206850>, 'wsgi.input': <socket._fileobject object at 0x2758a50 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266500907.4276941, '_creation_time': 1266500903.475585}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2a87dd0>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2a79c10>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f1e007211c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x15564d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:48:28,329 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:48:28,329 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:49:27,774 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app'
+14:49:27,774 DEBUG [pylons.configuration] Pushing process configuration
+14:49:27,778 DEBUG [pylons.configuration] Adding mako engine with alias None and {'myghty.data_dir': '/home/marcink/python_workspace/hg_app/data/templates', 'mako.directories': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'myghty.component_root': [{'templates': '/home/marcink/python_workspace/hg_app/pylons_app/templates'}], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/home/marcink/python_workspace/hg_app/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True} options
+14:49:27,778 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer
+14:49:27,782 DEBUG [pylons.templating] Initialized Buffet object
+14:49:27,782 DEBUG [pylons.templating] Adding mako template language for use with Buffet
+14:49:27,782 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True
+14:49:27,784 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269308057872: Initial worker pool
+14:49:27,785 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269299665168: Initial worker pool
+14:49:27,785 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269291272464: Initial worker pool
+14:49:27,785 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269282879760: Initial worker pool
+14:49:27,785 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269274487056: Initial worker pool
+14:49:27,786 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269266094352: Initial worker pool
+14:49:27,786 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269257701648: Initial worker pool
+14:49:27,786 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269249308944: Initial worker pool
+14:49:27,786 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269240916240: Initial worker pool
+14:49:27,787 DEBUG [paste.httpserver.ThreadPool] Started new worker 140269232523536: Initial worker pool
+14:49:43,821 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:49:43,824 DEBUG [routes.middleware] Matched GET /add/test2
+14:49:43,824 DEBUG [routes.middleware] Route path: '/add/{new_repo:[a-z0-9\. _-]*}', defaults: {'action': u'add_repo', 'controller': u'hg'}
+14:49:43,825 DEBUG [routes.middleware] Match dict: {'action': u'add_repo', 'new_repo': u'test2', 'controller': u'hg'}
+14:49:43,825 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:49:43,826 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:49:43,906 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController'
+14:49:43,908 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:49:43,908 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:49:43,908 DEBUG [pylons.controllers.core] Looking for u'add_repo' method to handle the request
+14:49:43,909 DEBUG [pylons.controllers.core] Calling 'add_repo' method with keyword args: **{'new_repo': u'test2'}
+14:49:43,957 INFO  [pylons_app.controllers.hg] test2 repo is free for creation
+14:49:43,957 INFO  [pylons_app.controllers.hg] test2 repo is free for creation
+14:49:43,957 INFO  [pylons_app.controllers.hg] creating repo test2 in /home/marcink/python_workspace/**/test2
+14:49:43,957 INFO  [pylons_app.controllers.hg] creating repo test2 in /home/marcink/python_workspace/**/test2
+14:49:43,962 DEBUG [pylons.controllers.core] Assuming controller returned an iterable, setting it as pylons.response.app_iter
+14:49:43,962 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data
+14:50:36,802 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app'
+14:50:36,802 DEBUG [pylons.configuration] Pushing process configuration
+14:50:36,805 DEBUG [pylons.configuration] Adding mako engine with alias None and {'myghty.data_dir': '/home/marcink/python_workspace/hg_app/data/templates', 'mako.directories': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'myghty.component_root': [{'templates': '/home/marcink/python_workspace/hg_app/pylons_app/templates'}], 'kid.encoding': 'utf-8', 'kid.assume_encoding': 'utf-8', 'mako.module_directory': '/home/marcink/python_workspace/hg_app/data/templates', 'myghty.allow_globals': ['c', 'config', 'g', 'h', 'render', 'request', 'session', 'translator', 'ungettext', '_', 'N_'], 'myghty.output_encoding': 'utf-8', 'myghty.raise_error': True, 'mako.output_encoding': 'utf-8', 'mako.filesystem_checks': True} options
+14:50:36,805 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer
+14:50:36,809 DEBUG [pylons.templating] Initialized Buffet object
+14:50:36,809 DEBUG [pylons.templating] Adding mako template language for use with Buffet
+14:50:36,810 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True
+14:50:36,812 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820631587088: Initial worker pool
+14:50:36,812 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820623194384: Initial worker pool
+14:50:36,812 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820614801680: Initial worker pool
+14:50:36,812 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820606408976: Initial worker pool
+14:50:36,813 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820598016272: Initial worker pool
+14:50:36,813 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820589623568: Initial worker pool
+14:50:36,813 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820581230864: Initial worker pool
+14:50:36,813 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820572838160: Initial worker pool
+14:50:36,814 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820564445456: Initial worker pool
+14:50:36,814 DEBUG [paste.httpserver.ThreadPool] Started new worker 139820556052752: Initial worker pool
+14:50:48,060 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:50:48,063 DEBUG [routes.middleware] Matched GET /add/test2
+14:50:48,063 DEBUG [routes.middleware] Route path: '/add/{new_repo:[a-z0-9\. _-]*}', defaults: {'action': u'add_repo', 'controller': u'hg'}
+14:50:48,063 DEBUG [routes.middleware] Match dict: {'action': u'add_repo', 'new_repo': u'test2', 'controller': u'hg'}
+14:50:48,063 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:50:48,064 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:50:48,120 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController'
+14:50:48,120 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:50:48,120 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:50:48,120 DEBUG [pylons.controllers.core] Looking for u'add_repo' method to handle the request
+14:50:48,120 DEBUG [pylons.controllers.core] Calling 'add_repo' method with keyword args: **{'new_repo': u'test2'}
+14:50:48,156 INFO  [pylons_app.controllers.hg] test2 repo is free for creation
+14:50:48,156 INFO  [pylons_app.controllers.hg] test2 repo is free for creation
+14:50:48,156 INFO  [pylons_app.controllers.hg] creating repo test2 in /home/marcink/python_workspace/test2
+14:50:48,156 INFO  [pylons_app.controllers.hg] creating repo test2 in /home/marcink/python_workspace/test2
+14:50:48,405 DEBUG [pylons.controllers.core] Assuming controller returned an iterable, setting it as pylons.response.app_iter
+14:50:48,406 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data
+14:50:53,654 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:50:53,655 DEBUG [routes.middleware] Matched GET /
+14:50:53,655 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:50:53,655 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:50:53,656 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:50:53,656 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:50:53,656 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:50:53,656 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:50:53,657 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:50:53,657 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2d8e578>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/add/test2', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2a8b9d0>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2a8bad0>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2618490>, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2a8b9d0>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x24b0bd0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501053.6575689, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2618490>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2618110>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:50:54,621 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:50:54,651 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:50:54,672 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:50:54,681 DEBUG [routes.middleware] Matched GET /static/style-gitweb.css
+14:50:54,681 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:50:54,728 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}
+14:50:54,729 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:50:54,729 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:50:54,729 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:50:54,729 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:50:54,729 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:50:54,730 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2617d70>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-gitweb.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2d9bed0>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2d9bb50>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x253bed0>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2d9bed0>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x2a788d0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501054.730284, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x253bed0>, 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2d9bd50>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:50:55,614 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:50:55,614 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:50:57,677 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:50:57,680 DEBUG [routes.middleware] Matched GET /static/hgicon.png
+14:50:57,680 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:50:57,681 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}
+14:50:57,682 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:50:57,683 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:50:57,684 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:50:57,684 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:50:57,685 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:50:57,685 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2dacd70>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2da9450>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2da9b90>, 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2da9a90>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2da9450>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x2a789d0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501057.686095, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2da9a90>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2d9bd90>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:50:58,643 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:50:58,644 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:51:00,331 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:51:00,346 DEBUG [routes.middleware] Matched GET /test2/
+14:51:00,346 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:51:00,347 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'test2/'}
+14:51:00,348 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:51:00,349 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:51:00,350 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:51:00,350 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:51:00,350 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:51:00,351 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2dacaa0>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'test2/'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/test2/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2d9bfd0>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2d9bb10>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2d9be90>, {'action': u'view', 'controller': u'hg', 'path_info': 'test2/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2d9bfd0>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x24b0ad0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501060.3517771, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2d9be90>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2d9b390>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:51:01,254 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:51:01,257 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:51:01,304 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:51:01,306 DEBUG [routes.middleware] Matched GET /static/style-gitweb.css
+14:51:01,306 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:51:01,306 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}
+14:51:01,306 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:51:01,307 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:51:01,307 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:51:01,307 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:51:01,307 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:51:01,307 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2dda140>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_REFERER': 'http://127.0.0.1:5000/test2/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-gitweb.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2dd8f90>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2dd8ed0>, 'wsgi.url_scheme': 'http', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2d9bb50>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2dd8f90>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x2d96a50 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501061.3081, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2d9bb50>, 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2d9b210>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:51:02,219 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:51:02,220 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
+14:51:04,300 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued)
+14:51:04,302 DEBUG [routes.middleware] Matched GET /static/hgicon.png
+14:51:04,302 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'}
+14:51:04,302 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}
+14:51:04,302 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals
+14:51:04,303 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg'
+14:51:04,303 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating
+14:51:04,303 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface
+14:51:04,303 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request
+14:51:04,303 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': <function repl_start_response at 0x2dcf7d0>, 'environ': {'routes.route': <routes.route.Route object at 0x2526550>, 'HTTP_COOKIE': 'pylons_app=ec1f911f486328328b82fe62b9ecfb8c8e67ce074366ad71ec9c1fedd2deef3b48609ea4', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x2526790>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': <bound method HgController.view of <pylons_app.controllers.hg.HgController object at 0x2d5aad0>>, 'CONTENT_LENGTH': '0', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.2pre) Gecko/20100216 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': <beaker.cache.CacheManager object at 0x2526810>, 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext object at 0x2d5a250>, 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (<routes.util.URLGenerator object at 0x2da5b90>, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'pylons.controller': <pylons_app.controllers.hg.HgController object at 0x2d5aad0>, 'paste.evalexception': <weberror.evalexception.EvalException object at 0x2526850>, 'wsgi.input': <socket._fileobject object at 0x24b0ad0 length=0>, 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266501064.303968, '_creation_time': 1266501053.6575689}, 'wsgi.multithread': True, 'routes.url': <routes.util.URLGenerator object at 0x2da5b90>, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry object at 0x2da54d0>, 'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f2a8b7031c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool object at 0x18764d0>, 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}}
+14:51:05,186 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows
+14:51:05,186 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched
--- a/pylons_app/controllers/hg.py	Thu Feb 18 14:13:45 2010 +0100
+++ b/pylons_app/controllers/hg.py	Thu Feb 18 14:51:26 2010 +0100
@@ -14,7 +14,7 @@
 
 from mercurial import ui, hg
 from mercurial.error import RepoError
-
+from ConfigParser import ConfigParser
 #http://bel-epa.com/hg/
 #def make_web_app():
 #    repos = "hgwebdir.config"
@@ -46,7 +46,19 @@
 class HgController(BaseController):
 
     def _check_repo(self, repo_name):
-        repos_path = '/home/marcink/python_workspace'
+
+        p = os.path.dirname(__file__)
+        config_path = os.path.join(p, '../..', 'hgwebdir.config')
+        print config_path
+
+        cp = ConfigParser()
+
+        cp.read(config_path)
+        repos_path = cp.get('paths', '/').replace("**", '')
+
+        if not repos_path:
+            raise Exception('Could not read config !')
+
         self.repo_path = os.path.join(repos_path, repo_name)
 
         try:
@@ -66,7 +78,7 @@
             raise Exception('undefined repo_name of repo')
 
         if self._check_repo(repo_name):
-            log.info('creating repo %s', repo_name)
+            log.info('creating repo %s in %s', repo_name, self.repo_path)
             cmd = """mkdir %s && hg init %s""" \
                     % (self.repo_path, self.repo_path)
             os.popen(cmd)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pylons_app/tests/configparser_test.py	Thu Feb 18 14:51:26 2010 +0100
@@ -0,0 +1,11 @@
+import os
+p = os.path.dirname(__file__)
+repos = os.path.join(p, '../..', 'hgwebdir.config')
+#repos = "/home/marcink/python_workspace/hg_app/hgwebdir.config"
+print repos
+from ConfigParser import ConfigParser
+
+cp = ConfigParser()
+
+cp.read(repos)
+print cp.get('paths', '/')