diff --git a/.hgignore b/.hgignore new file mode 100644 --- /dev/null +++ b/.hgignore @@ -0,0 +1,3 @@ + +syntax: regexp +^data$ \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +include pylons_app/config/deployment.ini_tmpl +recursive-include pylons_app/public * +recursive-include pylons_app/templates * diff --git a/README.txt b/README.txt new file mode 100644 --- /dev/null +++ b/README.txt @@ -0,0 +1,19 @@ +This file is for you to describe the pylons_app application. Typically +you would include information such as the information below: + +Installation and Setup +====================== + +Install ``pylons_app`` using easy_install:: + + easy_install pylons_app + +Make a config file as follows:: + + paster make-config pylons_app config.ini + +Tweak the config file as appropriate and then setup the application:: + + paster setup-app config.ini + +Then you are ready to go. diff --git a/development.ini b/development.ini new file mode 100644 --- /dev/null +++ b/development.ini @@ -0,0 +1,116 @@ +######################################################################## +## +## pylons_app - Pylons development environment configuration +## +## The %(here)s variable will be replaced with the parent directory of this file +## +[DEFAULT] +debug = true +## Uncomment and replace with the address which should receive any error reports +email_to = marcin.kuzminski@etelko.pl +smtp_server = localhost +error_email_from = paste_error@localhost + +[server:main] +use = egg:Paste#http +host = 127.0.0.1 +port = 5000 + +[app:main] +use = egg:pylons_app +full_stack = true +static_files = false +##default lang +lang=en + +cache_dir = %(here)s/data +beaker.session.key = pylons_app +beaker.session.secret = #@^^F&VWUDCT%@$#WR^@&*IWEKF +beaker.session.timeout = 3600 + +##auto save the session to not to use .save() +beaker.session.auto = True + +##true exire at browser close +#beaker.session.cookie_expires = 3600 + +## If you'd like to fine-tune the individual locations of the cache data dirs +## for the Cache data, or the Session saves, un-comment the desired settings +## here: +#beaker.cache.data_dir = %(here)s/data/cache +#beaker.session.data_dir = %(here)s/data/sessions + + +##Type of storage used for the session, current types are +##“dbm”, “file”, “memcached”, “database”, and “memory”. +##The storage uses the Container API that is also used by the cache system. +beaker.session.type = memory + +##if db or memcached is used +##you have to use +#beaker.session.url = +#beaker.session.table_name = + +## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* +## Debug mode will enable the interactive debugging tool, allowing ANYONE to +## execute malicious code after an exception is raised. +#set debug = false + +##dozer logging +#logview.sqlalchemy = #faa +#logview.pylons.templating = #bfb +#logview.sample_app.lib = #aaa + +# Logging configuration +[loggers] +keys = root, routes, pylons_app, sqlalchemy + +[handlers] +keys = console,file_handler + +[formatters] +keys = generic + +## LOGGERS ## +[logger_root] +level = DEBUG +handlers = console, file_handler + +[logger_routes] +level = INFO +handlers = console +qualname = routes.middleware +# "level = DEBUG" logs the route matched and routing variables. + +[logger_pylons_app] +level = DEBUG +handlers = console,file_handler +qualname = pylons_app + +[logger_sqlalchemy] +level = DEBUG +handlers = +qualname = sqlalchemy.pool +propagate = 0 + + +## HANDLERS ## + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[handler_file_handler] +class = FileHandler +args = ('./pylons_app.log','a') +level = NOTSET +formatter = generic + +## FORMATTERS ## + +[formatter_generic] +format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S + diff --git a/docs/index.txt b/docs/index.txt new file mode 100644 --- /dev/null +++ b/docs/index.txt @@ -0,0 +1,19 @@ +pylons_app +++++++++++ + +This is the main index page of your documentation. It should be written in +`reStructuredText format `_. + +You can generate your documentation in HTML format by running this command:: + + setup.py pudge + +For this to work you will need to download and install `buildutils`_, +`pudge`_, and `pygments`_. The ``pudge`` command is disabled by +default; to ativate it in your project, run:: + + setup.py addcommand -p buildutils.pudge_command + +.. _buildutils: http://pypi.python.org/pypi/buildutils +.. _pudge: http://pudge.lesscode.org/ +.. _pygments: http://pygments.org/ diff --git a/ez_setup.py b/ez_setup.py new file mode 100644 --- /dev/null +++ b/ez_setup.py @@ -0,0 +1,276 @@ +#!python +"""Bootstrap setuptools installation + +If you want to use setuptools in your package's setup.py, just include this +file in the same directory with it, and add this to the top of your setup.py:: + + from ez_setup import use_setuptools + use_setuptools() + +If you want to require a specific version of setuptools, set a download +mirror, or use an alternate download directory, you can do so by supplying +the appropriate options to ``use_setuptools()``. + +This file can also be run as a script to install or upgrade setuptools. +""" +import sys +DEFAULT_VERSION = "0.6c9" +DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] + +md5_data = { + 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', + 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb', + 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b', + 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a', + 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618', + 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac', + 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5', + 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4', + 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c', + 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b', + 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27', + 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277', + 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa', + 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', + 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', + 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f', + 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2', + 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc', + 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167', + 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', + 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', + 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', + 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', + 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', + 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', + 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', + 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', + 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', + 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', + 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', + 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03', + 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a', + 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6', + 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a', +} + +import sys, os +try: from hashlib import md5 +except ImportError: from md5 import md5 + +def _validate_md5(egg_name, data): + if egg_name in md5_data: + digest = md5(data).hexdigest() + if digest != md5_data[egg_name]: + print >>sys.stderr, ( + "md5 validation of %s failed! (Possible download problem?)" + % egg_name + ) + sys.exit(2) + return data + +def use_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + download_delay=15 +): + """Automatically find/download setuptools and make it available on sys.path + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end with + a '/'). `to_dir` is the directory where setuptools will be downloaded, if + it is not already available. If `download_delay` is specified, it should + be the number of seconds that will be paused before initiating a download, + should one be required. If an older version of setuptools is installed, + this routine will print a message to ``sys.stderr`` and raise SystemExit in + an attempt to abort the calling script. + """ + was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules + def do_download(): + egg = download_setuptools(version, download_base, to_dir, download_delay) + sys.path.insert(0, egg) + import setuptools; setuptools.bootstrap_install_from = egg + try: + import pkg_resources + except ImportError: + return do_download() + try: + pkg_resources.require("setuptools>="+version); return + except pkg_resources.VersionConflict, e: + if was_imported: + print >>sys.stderr, ( + "The required version of setuptools (>=%s) is not available, and\n" + "can't be installed while this script is running. Please install\n" + " a more recent version first, using 'easy_install -U setuptools'." + "\n\n(Currently using %r)" + ) % (version, e.args[0]) + sys.exit(2) + else: + del pkg_resources, sys.modules['pkg_resources'] # reload ok + return do_download() + except pkg_resources.DistributionNotFound: + return do_download() + +def download_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + delay = 15 +): + """Download setuptools from a specified location and return its filename + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end + with a '/'). `to_dir` is the directory where the egg will be downloaded. + `delay` is the number of seconds to pause before an actual download attempt. + """ + import urllib2, shutil + egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3]) + url = download_base + egg_name + saveto = os.path.join(to_dir, egg_name) + src = dst = None + if not os.path.exists(saveto): # Avoid repeated downloads + try: + from distutils import log + if delay: + log.warn(""" +--------------------------------------------------------------------------- +This script requires setuptools version %s to run (even to display +help). I will attempt to download it for you (from +%s), but +you may need to enable firewall access for this script first. +I will start the download in %d seconds. + +(Note: if this machine does not have network access, please obtain the file + + %s + +and place it in this directory before rerunning this script.) +---------------------------------------------------------------------------""", + version, download_base, delay, url + ); from time import sleep; sleep(delay) + log.warn("Downloading %s", url) + src = urllib2.urlopen(url) + # Read/write all in one block, so we don't create a corrupt file + # if the download is interrupted. + data = _validate_md5(egg_name, src.read()) + dst = open(saveto,"wb"); dst.write(data) + finally: + if src: src.close() + if dst: dst.close() + return os.path.realpath(saveto) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +def main(argv, version=DEFAULT_VERSION): + """Install or upgrade setuptools and EasyInstall""" + try: + import setuptools + except ImportError: + egg = None + try: + egg = download_setuptools(version, delay=0) + sys.path.insert(0,egg) + from setuptools.command.easy_install import main + return main(list(argv)+[egg]) # we're done here + finally: + if egg and os.path.exists(egg): + os.unlink(egg) + else: + if setuptools.__version__ == '0.0.1': + print >>sys.stderr, ( + "You have an obsolete version of setuptools installed. Please\n" + "remove it from your system entirely before rerunning this script." + ) + sys.exit(2) + + req = "setuptools>="+version + import pkg_resources + try: + pkg_resources.require(req) + except pkg_resources.VersionConflict: + try: + from setuptools.command.easy_install import main + except ImportError: + from easy_install import main + main(list(argv)+[download_setuptools(delay=0)]) + sys.exit(0) # try to force an exit + else: + if argv: + from setuptools.command.easy_install import main + main(argv) + else: + print "Setuptools version",version,"or greater has been installed." + print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' + +def update_md5(filenames): + """Update our built-in md5 registry""" + + import re + + for name in filenames: + base = os.path.basename(name) + f = open(name,'rb') + md5_data[base] = md5(f.read()).hexdigest() + f.close() + + data = [" %r: %r,\n" % it for it in md5_data.items()] + data.sort() + repl = "".join(data) + + import inspect + srcfile = inspect.getsourcefile(sys.modules[__name__]) + f = open(srcfile, 'rb'); src = f.read(); f.close() + + match = re.search("\nmd5_data = {\n([^}]+)}", src) + if not match: + print >>sys.stderr, "Internal error!" + sys.exit(2) + + src = src[:match.start(1)] + repl + src[match.end(1):] + f = open(srcfile,'w') + f.write(src) + f.close() + + +if __name__=='__main__': + if len(sys.argv)>2 and sys.argv[1]=='--md5update': + update_md5(sys.argv[2:]) + else: + main(sys.argv[1:]) + + + + + + diff --git a/hgapp.py b/hgapp.py new file mode 100644 --- /dev/null +++ b/hgapp.py @@ -0,0 +1,26 @@ +import logging +from logging import Formatter, StreamHandler +from wsgiref.simple_server import make_server +from mercurial.hgweb.hgwebdir_mod import hgwebdir +from mercurial.hgweb.request import wsgiapplication + +log = logging.getLogger(__name__) +log.setLevel(logging.DEBUG) +formatter = Formatter("%(asctime)s - %(levelname)s %(message)s") +console_handler = StreamHandler() +console_handler.setFormatter(formatter) +log.addHandler(console_handler) + +def make_web_app(): + + repos = "hgwebdir.config" + hgwebapp = hgwebdir(repos) + return hgwebapp + +port = 8000 +ip = '127.0.0.1' + +log.info('Starting server on %s:%s' % (ip, port)) +httpd = make_server(ip, port, wsgiapplication(make_web_app)) +httpd.serve_forever() + diff --git a/hgwebdir.config b/hgwebdir.config new file mode 100644 --- /dev/null +++ b/hgwebdir.config @@ -0,0 +1,21 @@ +[hooks] +#to do push with autoupdate +changegroup = hg update >&2 + +[extensions] +hgext.highlight= +#hgk= + +[web] +push_ssl = false +contact = marcin.kuzminski@etelko.pl +allow_archive = gz zip bz2 +allow_push = * +#style = monoblue +style = gitweb +Spygments_style = trac +staticurl = /static +baseurl = / + +[paths] +/ = /home/marcink/python_workspace/** diff --git a/pylons_app.egg-info/PKG-INFO b/pylons_app.egg-info/PKG-INFO new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: sample-app +Version: 0.1dev +Summary: UNKNOWN +Home-page: UNKNOWN +Author: UNKNOWN +Author-email: UNKNOWN +License: UNKNOWN +Description: UNKNOWN +Platform: UNKNOWN diff --git a/pylons_app.egg-info/SOURCES.txt b/pylons_app.egg-info/SOURCES.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/SOURCES.txt @@ -0,0 +1,33 @@ +MANIFEST.in +README.txt +setup.cfg +setup.py +pylons_app/__init__.py +pylons_app/websetup.py +pylons_app.egg-info/PKG-INFO +pylons_app.egg-info/SOURCES.txt +pylons_app.egg-info/dependency_links.txt +pylons_app.egg-info/entry_points.txt +pylons_app.egg-info/not-zip-safe +pylons_app.egg-info/paster_plugins.txt +pylons_app.egg-info/requires.txt +pylons_app.egg-info/top_level.txt +pylons_app/config/__init__.py +pylons_app/config/deployment.ini_tmpl +pylons_app/config/environment.py +pylons_app/config/middleware.py +pylons_app/config/routing.py +pylons_app/controllers/__init__.py +pylons_app/controllers/error.py +pylons_app/lib/__init__.py +pylons_app/lib/app_globals.py +pylons_app/lib/base.py +pylons_app/lib/helpers.py +pylons_app/model/__init__.py +pylons_app/public/bg.png +pylons_app/public/favicon.ico +pylons_app/public/index.html +pylons_app/public/pylons-logo.gif +pylons_app/tests/__init__.py +pylons_app/tests/test_models.py +pylons_app/tests/functional/__init__.py \ No newline at end of file diff --git a/pylons_app.egg-info/dependency_links.txt b/pylons_app.egg-info/dependency_links.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/dependency_links.txt @@ -0,0 +1,1 @@ + diff --git a/pylons_app.egg-info/entry_points.txt b/pylons_app.egg-info/entry_points.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/entry_points.txt @@ -0,0 +1,7 @@ + + [paste.app_factory] + main = pylons_app.config.middleware:make_app + + [paste.app_install] + main = pylons.util:PylonsInstaller + \ No newline at end of file diff --git a/pylons_app.egg-info/not-zip-safe b/pylons_app.egg-info/not-zip-safe new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/not-zip-safe @@ -0,0 +1,1 @@ + diff --git a/pylons_app.egg-info/paster_plugins.txt b/pylons_app.egg-info/paster_plugins.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/paster_plugins.txt @@ -0,0 +1,2 @@ +PasteScript +Pylons diff --git a/pylons_app.egg-info/requires.txt b/pylons_app.egg-info/requires.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/requires.txt @@ -0,0 +1,1 @@ +Pylons>=0.9.7 \ No newline at end of file diff --git a/pylons_app.egg-info/top_level.txt b/pylons_app.egg-info/top_level.txt new file mode 100644 --- /dev/null +++ b/pylons_app.egg-info/top_level.txt @@ -0,0 +1,1 @@ +pylons_app diff --git a/pylons_app.log b/pylons_app.log new file mode 100644 --- /dev/null +++ b/pylons_app.log @@ -0,0 +1,3748 @@ +23:15:41,905 INFO [root] INITIALIZING DB MODELS +23:16:21,061 INFO [root] INITIALIZING DB MODELS +23:18:28,416 INFO [root] INITIALIZING DB MODELS +00:03:24,459 INFO [root] INITIALIZING DB MODELS +00:08:56,464 INFO [root] INITIALIZING DB MODELS +00:10:01,095 INFO [root] INITIALIZING DB MODELS +00:30:17,596 INFO [root] INITIALIZING DB MODELS +00:31:12,410 INFO [root] INITIALIZING DB MODELS +00:36:47,850 INFO [root] INITIALIZING DB MODELS +00:39:37,058 INFO [root] INITIALIZING DB MODELS +00:41:35,149 INFO [root] INITIALIZING DB MODELS +00:53:59,100 INFO [root] INITIALIZING DB MODELS +00:56:44,240 INFO [root] INITIALIZING DB MODELS +00:57:08,893 INFO [root] INITIALIZING DB MODELS +00:57:48,006 INFO [root] INITIALIZING DB MODELS +01:00:16,754 INFO [root] INITIALIZING DB MODELS +01:00:32,350 INFO [root] INITIALIZING DB MODELS +01:02:59,043 INFO [root] INITIALIZING DB MODELS +01:03:23,895 INFO [root] INITIALIZING DB MODELS +13:31:27,415 INFO [root] INITIALIZING DB MODELS +13:33:53,569 INFO [pylons_app.model] INITIALIZING DB MODELS +13:33:53,569 INFO [pylons_app.model] INITIALIZING DB MODELS +13:34:15,341 INFO [pylons_app.model] INITIALIZING DB MODELS +13:34:15,341 INFO [pylons_app.model] INITIALIZING DB MODELS +13:47:44,421 INFO [pylons_app.model] INITIALIZING DB MODELS +13:47:44,421 INFO [pylons_app.model] INITIALIZING DB MODELS +14:00:56,971 INFO [paste.httpserver.ThreadPool] kill_hung_threads status: 10 threads (0 working, 10 idle, 0 starting) ave time N/A, max time 0.00sec, killed 0 workers +14:28:33,100 INFO [paste.httpserver.ThreadPool] kill_hung_threads status: 10 threads (0 working, 10 idle, 0 starting) ave time N/A, max time 0.00sec, killed 0 workers +22:01:38,914 INFO [pylons_app.model] INITIALIZING DB MODELS +22:01:38,914 INFO [pylons_app.model] INITIALIZING DB MODELS +22:09:45,709 INFO [pylons_app.model] INITIALIZING DB MODELS +22:09:45,709 INFO [pylons_app.model] INITIALIZING DB MODELS +22:10:00,336 INFO [pylons_app.model] INITIALIZING DB MODELS +22:10:00,336 INFO [pylons_app.model] INITIALIZING DB MODELS +22:10:26,275 INFO [pylons_app.model] INITIALIZING DB MODELS +22:10:26,275 INFO [pylons_app.model] INITIALIZING DB MODELS +22:16:30,287 INFO [pylons_app.model] INITIALIZING DB MODELS +22:16:30,287 INFO [pylons_app.model] INITIALIZING DB MODELS +22:16:44,047 INFO [pylons_app.model] INITIALIZING DB MODELS +22:16:44,047 INFO [pylons_app.model] INITIALIZING DB MODELS +22:19:25,929 INFO [pylons_app.model] INITIALIZING DB MODELS +22:19:25,929 INFO [pylons_app.model] INITIALIZING DB MODELS +22:31:35,944 INFO [pylons_app.model] INITIALIZING DB MODELS +22:31:35,944 INFO [pylons_app.model] INITIALIZING DB MODELS +22:54:23,527 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +22:54:28,475 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +23:01:34,024 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +23:01:34,028 INFO [paste.httpserver.ThreadPool] All workers stopped +23:01:34,029 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +23:01:34,029 INFO [paste.httpserver.ThreadPool] All workers stopped +23:01:42,824 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +23:01:42,873 INFO [paste.httpserver.ThreadPool] All workers stopped +23:01:42,918 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +23:01:42,918 INFO [paste.httpserver.ThreadPool] All workers stopped +00:58:16,215 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +11:20:19,264 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +11:56:44,327 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +11:56:49,736 DEBUG [routes.middleware] Initialized with method overriding = True, and path info altering = True +11:56:57,627 DEBUG [routes.middleware] Matched GET / +11:56:57,627 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'} +11:56:57,627 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': u'/'} +11:56:58,640 DEBUG [routes.middleware] Matched GET /static/style-monoblue.css +11:56:58,640 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'} +11:56:58,640 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'} +11:56:59,675 DEBUG [routes.middleware] Matched GET /static/hglogo.png +11:56:59,675 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'} +11:56:59,675 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'} +11:57:01,653 DEBUG [routes.middleware] Matched GET /static/hgicon.png +11:57:01,654 DEBUG [routes.middleware] Route path: '/{path_info:.*}', defaults: {'action': u'view', 'controller': u'hg', 'path_info': u'/'} +11:57:01,654 DEBUG [routes.middleware] Match dict: {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'} +13:06:10,536 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +13:06:10,536 DEBUG [pylons.configuration] Pushing process configuration +13:06:10,539 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 +13:06:10,540 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +13:06:10,543 DEBUG [pylons.templating] Initialized Buffet object +13:06:10,543 DEBUG [pylons.templating] Adding mako template language for use with Buffet +13:06:10,551 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200819407120: Initial worker pool +13:06:10,552 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200811014416: Initial worker pool +13:06:10,552 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200802621712: Initial worker pool +13:06:10,552 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200794229008: Initial worker pool +13:06:10,553 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200785836304: Initial worker pool +13:06:10,553 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200777443600: Initial worker pool +13:06:10,553 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200769050896: Initial worker pool +13:06:10,553 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200760658192: Initial worker pool +13:06:10,554 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200752265488: Initial worker pool +13:06:10,554 DEBUG [paste.httpserver.ThreadPool] Started new worker 140200743872784: Initial worker pool +13:06:11,488 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:11,494 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:11,495 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:11,557 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +13:06:11,557 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:11,557 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:11,558 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:11,558 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/evoice_py/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321971.558501, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'evoice_py/', 'action': u'view'} +13:06:12,496 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:12,496 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:12,497 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:06:12,574 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:12,581 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:12,581 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:12,581 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:12,582 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:12,582 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:12,582 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:12,582 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/evoice_py/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/evoice_py/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321972.582741, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'evoice_py/static/style-monoblue.css', 'action': u'view'} +13:06:13,499 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:13,500 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:06:13,513 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:13,515 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:13,516 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:13,516 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:13,516 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:13,516 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:13,517 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:13,516 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/evoice_py/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/evoice_py/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'evoice_py/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321973.517339, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'evoice_py/static/hglogo.png', 'action': u'view'} +13:06:14,403 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:14,404 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:06:23,179 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:23,180 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:23,181 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:23,181 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:23,181 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:23,181 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:23,182 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:23,181 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321983.1827569, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +13:06:24,104 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:24,105 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:06:24,179 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:24,181 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:24,181 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:24,181 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:24,182 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:24,182 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:24,182 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:24,182 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321984.182817, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +13:06:25,096 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:25,097 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:06:25,111 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:06:25,112 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:06:25,113 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:06:25,113 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:06:25,113 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:06:25,113 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:06:25,114 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:06:25,113 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266321985.114399, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +13:06:26,128 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:06:26,128 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:09:04,896 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:09:04,898 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:09:04,898 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:09:04,898 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:09:04,898 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:09:04,899 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:09:04,899 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:09:04,899 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322144.8996329, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/', 'action': u'view'} +13:09:05,796 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:09:05,797 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:09:05,923 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:09:05,925 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:09:05,926 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:09:05,926 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:09:05,926 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:09:05,926 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:09:05,927 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:09:05,926 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322145.9271979, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/style-monoblue.css', 'action': u'view'} +13:09:05,964 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:09:05,964 DEBUG [paste.httpserver.ThreadPool] Added task (1 tasks queued) +13:09:05,975 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:09:05,975 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:09:05,976 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:09:05,976 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:09:05,976 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:09:05,977 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:09:05,976 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322145.978097, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hglogo.png', 'action': u'view'} +13:09:05,978 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:09:05,979 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:09:05,979 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:09:05,979 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:09:05,979 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:09:05,980 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:09:05,980 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322145.9804909, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hgicon.png', 'action': u'view'} +13:09:08,376 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:09:08,377 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:09:08,581 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:09:08,582 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:09:08,933 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:09:08,984 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:09:08,987 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:09:08,988 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:09:08,988 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:09:08,988 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:09:08,990 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:09:08,988 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322148.9917991, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f83108641c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hgicon.png', 'action': u'view'} +13:09:09,182 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:09:09,183 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:09:10,104 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:09:10,105 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:13:26,391 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +13:13:26,391 DEBUG [pylons.configuration] Pushing process configuration +13:13:26,394 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 +13:13:26,394 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +13:13:26,398 DEBUG [pylons.templating] Initialized Buffet object +13:13:26,398 DEBUG [pylons.templating] Adding mako template language for use with Buffet +13:13:26,406 DEBUG [paste.httpserver.ThreadPool] Started new worker 140601021282576: Initial worker pool +13:13:26,406 DEBUG [paste.httpserver.ThreadPool] Started new worker 140601012889872: Initial worker pool +13:13:26,407 DEBUG [paste.httpserver.ThreadPool] Started new worker 140601004497168: Initial worker pool +13:13:26,407 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600996104464: Initial worker pool +13:13:26,407 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600987711760: Initial worker pool +13:13:26,408 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600979319056: Initial worker pool +13:13:26,408 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600970926352: Initial worker pool +13:13:26,408 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600962533648: Initial worker pool +13:13:26,408 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600954140944: Initial worker pool +13:13:26,409 DEBUG [paste.httpserver.ThreadPool] Started new worker 140600945748240: Initial worker pool +13:13:26,576 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:13:26,581 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:13:26,583 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:13:26,635 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +13:13:26,635 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:13:26,635 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:13:26,635 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:13:26,636 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:13:26,636 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322406.636781, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fe03e6a41c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/', 'action': u'view'} +13:13:27,600 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:13:27,601 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:13:27,673 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:13:27,676 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:13:27,676 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:13:27,676 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:13:27,676 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:13:27,677 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:13:27,677 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:13:27,677 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322407.6777921, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fe03e6a41c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/style-monoblue.css', 'action': u'view'} +13:13:28,574 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:13:28,575 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:13:28,596 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:13:28,598 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:13:28,598 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:13:28,598 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:13:28,598 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:13:28,598 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:13:28,599 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:13:28,599 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322408.59951, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fe03e6a41c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hglogo.png', 'action': u'view'} +13:13:29,536 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:13:29,537 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:13:30,715 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:13:30,718 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:13:30,720 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:13:30,720 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:13:30,720 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:13:30,721 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:13:30,722 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:13:30,721 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266322410.7229431, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fe03e6a41c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hgicon.png', 'action': u'view'} +13:13:31,634 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:13:31,635 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:58:31,424 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +13:58:31,425 DEBUG [pylons.configuration] Pushing process configuration +13:58:31,428 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 +13:58:31,428 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +13:58:31,431 DEBUG [pylons.templating] Initialized Buffet object +13:58:31,431 DEBUG [pylons.templating] Adding mako template language for use with Buffet +13:58:31,439 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094138050832: Initial worker pool +13:58:31,439 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094129658128: Initial worker pool +13:58:31,440 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094121265424: Initial worker pool +13:58:31,440 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094112872720: Initial worker pool +13:58:31,440 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094104480016: Initial worker pool +13:58:31,440 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094096087312: Initial worker pool +13:58:31,441 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094087694608: Initial worker pool +13:58:31,441 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094079301904: Initial worker pool +13:58:31,441 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094070909200: Initial worker pool +13:58:31,442 DEBUG [paste.httpserver.ThreadPool] Started new worker 140094062516496: Initial worker pool +13:58:38,267 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:58:38,275 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:58:38,277 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:58:38,328 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +13:58:38,329 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:58:38,329 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:58:38,329 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:58:38,329 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:58:38,329 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325118.3300569, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/shortlog', 'action': u'view'} +13:58:39,307 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:58:39,308 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:58:39,387 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:58:39,389 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:58:39,390 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:58:39,390 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:58:39,390 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:58:39,390 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:58:39,391 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:58:39,390 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/shortlog', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325119.3912959, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/style-monoblue.css', 'action': u'view'} +13:58:40,307 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:58:40,308 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:58:40,320 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:58:40,322 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:58:40,322 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:58:40,322 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:58:40,322 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:58:40,323 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:58:40,323 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:58:40,323 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/shortlog', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325120.3236139, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hglogo.png', 'action': u'view'} +13:58:41,231 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:58:41,231 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:58:42,455 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:58:42,459 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:58:42,460 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:58:42,461 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:58:42,461 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:58:42,462 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:58:42,463 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:58:42,462 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325122.4637499, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'zte_tail/static/hgicon.png', 'action': u'view'} +13:58:43,371 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:58:43,371 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:59:37,944 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:59:37,948 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:59:37,949 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:59:37,950 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:59:37,950 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:59:37,950 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:59:37,952 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:59:37,951 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325177.952543, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +13:59:38,858 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:59:38,858 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:59:38,944 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:59:38,946 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:59:38,947 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:59:38,947 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:59:38,947 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:59:38,947 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:59:38,948 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:59:38,947 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325178.9483449, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +13:59:39,036 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +13:59:39,038 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +13:59:39,038 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +13:59:39,038 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +13:59:39,038 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +13:59:39,038 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +13:59:39,039 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +13:59:39,039 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325179.0394981, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +13:59:40,733 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:59:40,734 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +13:59:40,935 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +13:59:40,935 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:00:15,218 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:00:15,220 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:00:15,220 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:00:15,220 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:00:15,220 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:00:15,220 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:00:15,221 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:00:15,221 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325215.2215321, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:00:16,108 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:00:16,109 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:00:16,231 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:00:16,232 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:00:16,233 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:00:16,233 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:00:16,233 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:00:16,233 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:00:16,233 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:00:16,233 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325216.2340269, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:00:17,116 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:00:17,117 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:00:17,157 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:00:17,159 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:00:17,159 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:00:17,159 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:00:17,159 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:00:17,160 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:00:17,160 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:00:17,160 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325217.1606431, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6a39d1f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:00:18,058 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:00:18,059 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:01:22,543 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:01:22,544 DEBUG [pylons.configuration] Pushing process configuration +14:01:22,547 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:01:22,547 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:01:22,551 DEBUG [pylons.templating] Initialized Buffet object +14:01:22,551 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:01:22,558 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695484033296: Initial worker pool +14:01:22,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695475640592: Initial worker pool +14:01:22,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695467247888: Initial worker pool +14:01:22,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695458855184: Initial worker pool +14:01:22,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695450462480: Initial worker pool +14:01:22,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695442069776: Initial worker pool +14:01:22,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695433677072: Initial worker pool +14:01:22,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695425284368: Initial worker pool +14:01:22,561 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695416891664: Initial worker pool +14:01:22,561 DEBUG [paste.httpserver.ThreadPool] Started new worker 140695408498960: Initial worker pool +14:02:27,243 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:02:27,247 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:02:27,248 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:02:27,308 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:02:27,308 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:02:27,308 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:02:27,309 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:02:27,309 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:02:27,309 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325347.309742, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff63cd571c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:02:28,230 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:02:28,231 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:02:28,358 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:02:28,361 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:02:28,361 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:02:28,361 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:02:28,361 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:02:28,362 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:02:28,362 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:02:28,362 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325348.362679, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff63cd571c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:02:29,268 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:02:29,269 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:02:29,304 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:02:29,305 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:02:29,306 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:02:29,306 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:02:29,306 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:02:29,306 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:02:29,307 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:02:29,306 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325349.307339, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff63cd571c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:02:30,233 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:02:30,233 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:02:56,160 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:02:56,160 DEBUG [pylons.configuration] Pushing process configuration +14:02:56,164 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:02:56,164 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:02:56,167 DEBUG [pylons.templating] Initialized Buffet object +14:02:56,167 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:02:56,176 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760815585552: Initial worker pool +14:02:56,176 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760807192848: Initial worker pool +14:02:56,176 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760798800144: Initial worker pool +14:02:56,177 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760790407440: Initial worker pool +14:02:56,177 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760782014736: Initial worker pool +14:02:56,177 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760773622032: Initial worker pool +14:02:56,177 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760765229328: Initial worker pool +14:02:56,178 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760756836624: Initial worker pool +14:02:56,178 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760748443920: Initial worker pool +14:02:56,178 DEBUG [paste.httpserver.ThreadPool] Started new worker 139760740051216: Initial worker pool +14:03:03,636 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:03:03,636 DEBUG [pylons.configuration] Pushing process configuration +14:03:03,640 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:03:03,640 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:03:03,643 DEBUG [pylons.templating] Initialized Buffet object +14:03:03,643 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:03:03,651 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731092011280: Initial worker pool +14:03:03,651 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731083618576: Initial worker pool +14:03:03,651 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731075225872: Initial worker pool +14:03:03,652 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731066833168: Initial worker pool +14:03:03,652 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731058440464: Initial worker pool +14:03:03,652 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731050047760: Initial worker pool +14:03:03,653 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731041655056: Initial worker pool +14:03:03,653 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731033262352: Initial worker pool +14:03:03,653 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731024869648: Initial worker pool +14:03:03,653 DEBUG [paste.httpserver.ThreadPool] Started new worker 139731016476944: Initial worker pool +14:03:12,370 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:03:12,382 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:03:12,384 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:03:12,438 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:03:12,438 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:03:12,438 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:03:12,438 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:03:12,439 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:03:12,438 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325392.4393489, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:03:13,468 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:03:13,469 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:03:13,596 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:03:13,598 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:03:13,599 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:03:13,599 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:03:13,599 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:03:13,599 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:03:13,600 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:03:13,599 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325393.600137, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:03:14,488 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:03:14,488 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:03:14,512 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:03:14,514 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:03:14,514 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:03:14,514 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:03:14,515 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:03:14,515 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:03:14,515 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:03:14,515 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325394.5158279, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:03:15,390 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:03:15,391 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:06:35,128 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:06:35,131 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:06:35,134 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:06:35,134 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:06:35,135 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:06:35,135 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:06:35,136 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:06:35,135 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325595.1371341, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:06:36,041 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:06:36,041 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:06:36,147 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:06:36,149 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:06:36,149 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:06:36,149 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:06:36,149 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:06:36,150 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:06:36,150 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:06:36,150 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325596.15065, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:06:37,075 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:06:37,076 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:06:37,101 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:06:37,103 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:06:37,103 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:06:37,103 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:06:37,104 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:06:37,104 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:06:37,104 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:06:37,104 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266325597.104744, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:06:37,986 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:06:37,987 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:24,244 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:24,247 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:24,249 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:24,249 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:24,249 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:24,250 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:24,251 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:24,250 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326184.2530739, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:16:24,649 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:24,650 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:24,717 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:24,718 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:24,718 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:24,719 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:24,719 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:24,719 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:24,719 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:24,719 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326184.7198801, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:16:25,240 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:25,240 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:25,271 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:25,273 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:25,273 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:25,273 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:25,273 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:25,274 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:25,274 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:25,274 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326185.2747359, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:16:25,651 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:25,652 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:27,397 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:27,398 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:27,399 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:27,399 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:27,399 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:27,399 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:27,400 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:27,399 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326187.40031, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/', 'action': u'view'} +14:16:27,809 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:27,810 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:27,938 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:27,939 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:27,940 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:27,940 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:27,940 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:27,940 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:27,941 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:27,940 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326187.941263, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css', 'action': u'view'} +14:16:27,993 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:27,995 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:27,996 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:27,996 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:27,996 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:27,996 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:27,996 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:27,996 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326187.9971189, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/hglogo.png', 'action': u'view'} +14:16:28,726 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:28,726 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:28,858 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:28,859 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:30,957 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:30,959 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:30,959 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:30,959 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:30,959 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:30,960 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:30,960 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:30,960 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326190.9605949, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/hgicon.png', 'action': u'view'} +14:16:31,350 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:31,351 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:16:31,742 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:16:31,746 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:16:31,747 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:16:31,747 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:16:31,748 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:16:31,748 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:16:31,750 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:16:31,749 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326191.7504389, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/hglogo.png', 'action': u'view'} +14:16:32,142 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:16:32,143 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:17:20,403 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:17:20,404 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:17:20,405 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:17:20,405 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:17:20,405 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:17:20,405 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:17:20,406 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:17:20,405 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326240.4061289, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/', 'action': u'view'} +14:17:21,273 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:17:21,273 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:17:21,338 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:17:21,351 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:17:21,352 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:17:21,352 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:17:21,352 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:17:21,352 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:17:21,353 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:17:21,352 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326241.353133, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/style-monoblue.css', 'action': u'view'} +14:17:22,240 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:17:22,241 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:17:22,271 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:17:22,272 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:17:22,273 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:17:22,273 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:17:22,273 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:17:22,273 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:17:22,274 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:17:22,273 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326242.274209, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/hglogo.png', 'action': u'view'} +14:17:23,152 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:17:23,152 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:17:24,348 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:17:24,351 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:17:24,352 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:17:24,353 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:17:24,353 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:17:24,354 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:17:24,355 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:17:24,354 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hgicon.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/static/hgicon.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326244.355767, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/static/hgicon.png', 'action': u'view'} +14:17:25,370 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:17:25,370 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:32,579 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:32,581 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:32,581 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:32,581 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:32,581 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:32,582 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:32,582 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:32,582 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326312.5827019, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/', 'action': u'view'} +14:18:32,590 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 404 Not Found +14:18:32,590 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:36,995 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:36,998 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:36,999 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:36,999 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:36,999 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:37,000 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:37,001 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:37,000 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326317.00142, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:18:37,013 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:37,015 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:37,075 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:37,077 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:37,077 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:37,077 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:37,077 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:37,078 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:37,078 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:37,078 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326317.0785949, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:18:37,086 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:37,086 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:37,136 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:37,151 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:37,151 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:37,151 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:37,151 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:37,152 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:37,152 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:37,152 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326317.1526201, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:18:37,160 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:37,160 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:49,068 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:49,071 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:49,073 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:49,073 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:49,073 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:49,074 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:49,074 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:49,074 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326329.0748241, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:18:49,082 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:49,082 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:49,132 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:49,133 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:49,134 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:49,134 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:49,134 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:49,134 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:49,135 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:49,134 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326329.1352501, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:18:49,142 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:49,142 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:18:49,173 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:18:49,174 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:18:49,175 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:18:49,175 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:18:49,175 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:18:49,175 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:18:49,175 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:18:49,175 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326329.1760299, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:18:49,184 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:18:49,184 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:36,908 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:36,915 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:36,915 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:36,915 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:36,916 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:36,916 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:36,916 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:36,916 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326376.9168589, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:19:36,924 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:36,925 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:36,978 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:36,980 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:36,980 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:36,980 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:36,980 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:36,980 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:36,981 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:36,981 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326376.9815509, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:19:36,990 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:36,990 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:37,014 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:37,015 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:37,015 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:37,016 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:37,016 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:37,016 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:37,016 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:37,016 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326377.0169389, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:19:37,026 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:37,029 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:42,385 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:42,386 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:42,387 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:42,387 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:42,387 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:42,387 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:42,388 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:42,387 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326382.38815, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:19:42,395 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:42,396 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:42,480 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:42,481 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:42,482 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:42,482 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:42,482 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:42,482 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:42,482 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:42,482 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326382.483063, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:19:42,490 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:42,491 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:42,512 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:42,514 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:42,514 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:42,514 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:42,514 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:42,514 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:42,515 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:42,515 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326382.5155439, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:19:42,527 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:42,528 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:46,869 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:46,872 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:46,874 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:46,874 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:46,875 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:46,875 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:46,877 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:46,875 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326386.8773191, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:19:47,267 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:47,268 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:47,332 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:47,333 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:47,333 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:47,333 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:47,333 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:47,334 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:47,334 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:47,334 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326387.334677, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:19:47,709 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:47,709 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:19:47,734 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:19:47,735 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:19:47,736 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:19:47,736 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:19:47,736 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:19:47,736 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:19:47,737 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:19:47,736 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326387.737325, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f15b29701c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:19:48,114 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:19:48,115 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:44,106 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:21:44,106 DEBUG [pylons.configuration] Pushing process configuration +14:21:44,110 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:21:44,110 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:21:44,113 DEBUG [pylons.templating] Initialized Buffet object +14:21:44,113 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:21:44,121 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535651760400: Initial worker pool +14:21:44,122 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535643367696: Initial worker pool +14:21:44,122 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535634974992: Initial worker pool +14:21:44,122 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535618189584: Initial worker pool +14:21:44,122 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535626582288: Initial worker pool +14:21:44,123 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535609796880: Initial worker pool +14:21:44,123 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535601404176: Initial worker pool +14:21:44,123 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535593011472: Initial worker pool +14:21:44,124 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535584618768: Initial worker pool +14:21:44,124 DEBUG [paste.httpserver.ThreadPool] Started new worker 140535576226064: Initial worker pool +14:21:47,373 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:47,380 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:47,381 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:47,431 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:21:47,431 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:47,432 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:47,432 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:47,432 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:47,432 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326507.4328599, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:21:47,812 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:47,813 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:47,909 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:47,911 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:47,912 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:47,912 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:47,912 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:47,912 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:47,913 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:47,912 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326507.9131441, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:21:48,309 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:48,309 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:48,354 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:48,355 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:48,356 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:48,356 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:48,356 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:48,356 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:48,357 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:48,356 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326508.3574049, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:21:48,741 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:48,742 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:57,864 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:57,866 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:57,866 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:57,866 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:57,866 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:57,867 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:57,867 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:57,867 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326517.868046, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:21:58,251 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:58,251 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:58,340 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:58,342 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:58,342 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:58,342 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:58,342 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:58,342 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:58,343 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:58,343 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326518.343477, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:21:58,723 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:58,724 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:21:58,764 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:21:58,765 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:21:58,766 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:21:58,766 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:21:58,766 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:21:58,766 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:21:58,767 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:21:58,766 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326518.767339, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:21:59,153 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:21:59,153 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:08,830 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:08,833 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:08,834 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:08,835 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:08,835 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:08,835 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:08,840 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:08,836 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326528.8408921, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:22:08,848 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:08,848 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:08,898 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:08,899 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:08,900 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:08,900 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:08,900 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:08,900 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:08,901 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:08,900 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326528.901237, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:22:08,911 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:08,913 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:08,938 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:08,939 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:08,940 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:08,940 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:08,940 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:08,940 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:08,940 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:08,940 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326528.9410501, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:22:08,949 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:08,949 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:19,826 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:19,828 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:19,829 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:19,829 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:19,829 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:19,829 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:19,830 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:19,830 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326539.830708, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:22:19,840 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:19,840 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:19,895 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:19,902 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:19,902 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:19,902 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:19,903 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:19,903 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:19,903 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:19,903 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326539.9037421, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:22:19,911 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:19,912 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:19,934 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:19,937 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:19,937 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:19,937 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:19,938 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:19,938 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:19,938 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:19,938 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326539.938771, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:22:19,946 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:19,946 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:44,133 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:44,134 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:44,135 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:44,135 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:44,135 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:44,135 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:44,136 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:44,135 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326564.1362531, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:22:44,144 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:44,144 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:44,202 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:44,208 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:44,209 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:44,209 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:44,209 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:44,209 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:44,209 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:44,209 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326564.2100461, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:22:44,217 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:44,217 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:22:44,248 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:22:44,250 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:22:44,250 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:22:44,250 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:22:44,250 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:22:44,250 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:22:44,251 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:22:44,251 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326564.2515631, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:22:44,259 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:22:44,260 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:21,973 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:21,975 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:21,976 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:21,976 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:21,977 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:21,977 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:21,977 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:21,977 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326601.9777651, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:23:21,985 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:21,986 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:22,036 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:22,037 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:22,038 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:22,038 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:22,038 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:22,038 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:22,039 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:22,038 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326602.039372, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:23:22,047 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:22,050 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:22,084 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:22,085 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:22,086 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:22,086 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:22,086 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:22,086 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:22,086 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:22,086 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326602.0870399, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:23:22,095 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:22,095 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:46,420 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:46,422 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:46,423 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:46,423 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:46,424 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:46,424 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:46,425 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:46,424 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326626.4255519, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:23:46,452 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:46,452 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:46,501 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:46,508 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:46,509 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:46,509 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:46,509 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:46,509 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:46,509 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:46,509 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326626.509958, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:23:46,518 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:46,518 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:23:46,554 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:23:46,555 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:23:46,556 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:23:46,556 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:23:46,556 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:23:46,556 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:23:46,556 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:23:46,556 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326626.55707, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:23:46,565 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:23:46,565 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:09,802 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:09,804 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:09,804 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:09,804 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:09,804 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:09,804 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:09,805 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:09,805 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326649.8055999, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:24:09,813 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:09,813 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:09,872 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:09,879 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:09,879 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:09,879 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:09,879 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:09,879 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:09,880 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:09,880 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326649.8804009, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:24:09,888 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:09,888 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:09,924 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:09,925 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:09,926 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:09,926 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:09,926 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:09,926 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:09,926 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:09,926 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326649.9270909, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:24:09,935 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:09,935 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:16,209 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:16,212 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:16,212 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:16,212 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:16,213 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:16,213 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:16,214 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:16,213 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326656.2142651, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:24:16,221 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:16,221 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:16,272 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:16,278 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:16,278 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:16,278 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:16,279 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:16,279 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:16,279 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:16,279 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326656.279717, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:24:16,287 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:16,287 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:16,308 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:16,309 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:16,310 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:16,310 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:16,310 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:16,310 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:16,310 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:16,310 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326656.311023, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:24:16,318 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:16,318 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:29,290 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:29,293 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:29,293 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:29,293 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:29,294 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:29,294 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:29,294 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:29,294 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326669.2947919, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:24:30,172 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:30,173 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:30,244 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:30,246 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:30,246 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:30,246 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:30,246 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:30,246 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:30,247 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:30,246 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326670.247329, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:24:31,169 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:31,170 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:24:31,203 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:24:31,204 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:24:31,205 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:24:31,205 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:24:31,205 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:24:31,205 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:24:31,206 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:24:31,205 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326671.2062581, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:24:32,103 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:24:32,103 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:27:23,395 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:27:23,404 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:27:23,405 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:27:23,405 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:27:23,406 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:27:23,406 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:27:23,407 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:27:23,406 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326843.4072709, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:27:24,283 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:27:24,283 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:27:24,364 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:27:24,374 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:27:24,375 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:27:24,375 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:27:24,375 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:27:24,375 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:27:24,376 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:27:24,375 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-monoblue.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-monoblue.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326844.3763511, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-monoblue.css', 'action': u'view'} +14:27:25,256 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:27:25,256 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:27:25,294 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:27:25,295 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:27:25,295 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:27:25,296 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:27:25,296 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:27:25,296 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:27:25,296 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:27:25,296 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266326845.2969921, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:27:26,205 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:27:26,206 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:15,330 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:15,332 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:15,332 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:15,332 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:15,332 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:15,332 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:15,333 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:15,333 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327555.3335979, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:39:16,314 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:16,316 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:16,439 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:16,440 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:16,441 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:16,441 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:16,441 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:16,441 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:16,442 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:16,441 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327556.4422629, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-paper.css', 'action': u'view'} +14:39:17,326 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:17,328 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:17,382 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:17,383 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:17,384 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:17,384 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:17,384 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:17,384 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:17,385 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:17,384 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327557.385169, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:39:18,296 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:18,344 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:30,511 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:30,515 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:30,516 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:30,516 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:30,516 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:30,517 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:30,517 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:30,517 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327570.5176101, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:39:31,435 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:31,435 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:31,511 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:31,513 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:31,513 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:31,513 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:31,513 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:31,513 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:31,514 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:31,514 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327571.5145171, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-paper.css', 'action': u'view'} +14:39:32,427 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:32,427 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:32,463 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:32,465 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:32,465 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:32,465 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:32,465 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:32,465 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:32,466 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:32,466 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327572.466469, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hglogo.png', 'action': u'view'} +14:39:33,399 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:33,399 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:42,098 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:42,101 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:42,102 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:42,102 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:42,103 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:42,103 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:42,104 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:42,104 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327582.1046491, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:39:43,072 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:43,074 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:43,208 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:43,210 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:43,210 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:43,210 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:43,211 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:43,211 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:43,211 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:43,211 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327583.2118199, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:39:44,110 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:44,111 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:49,729 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:49,736 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:49,736 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:49,737 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:49,737 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:49,737 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:49,737 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:49,737 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/lotto/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327589.7378261, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'lotto/', 'action': u'view'} +14:39:50,672 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:50,673 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:50,790 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:50,802 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:50,802 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:50,802 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:50,802 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:50,803 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:50,803 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:50,803 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327590.8036101, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:39:51,724 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:51,772 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:53,590 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:53,591 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:53,592 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:53,592 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:53,592 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:53,592 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:53,592 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:53,592 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/lotto/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327593.592931, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'lotto/shortlog', 'action': u'view'} +14:39:54,496 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:54,496 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:54,546 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:54,547 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:54,548 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:54,548 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:54,548 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:54,548 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:54,548 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:54,548 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/shortlog', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327594.5489669, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:39:55,458 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:39:55,459 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:39:59,737 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:39:59,741 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:39:59,742 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:39:59,742 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:39:59,743 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:39:59,743 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:39:59,744 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:39:59,744 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/shortlog', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/log/11'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/lotto/log/11', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/log/11'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327599.7453101, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'lotto/log/11', 'action': u'view'} +14:40:00,658 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:00,659 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:00,721 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:00,722 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:00,722 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:00,723 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:00,723 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:00,723 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:00,723 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:00,723 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/log/11', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327600.723855, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:40:01,610 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:01,659 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:07,647 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:07,651 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:07,652 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:07,652 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:07,653 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:07,653 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:07,654 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:07,654 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/log/11', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/graph'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/lotto/graph', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'lotto/graph'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327607.6552601, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'lotto/graph', 'action': u'view'} +14:40:08,569 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:08,569 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:08,621 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:08,622 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:08,622 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:08,623 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:08,623 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:08,623 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:08,623 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:08,623 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/graph', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327608.6238811, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:40:08,696 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:08,698 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:08,698 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:08,698 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:08,698 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:08,698 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:08,699 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:08,698 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/lotto/graph', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/graph.js'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/graph.js', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/graph.js'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327608.6993721, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': '*/*', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd1061681c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/graph.js', 'action': u'view'} +14:40:09,802 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:09,802 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:10,433 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:10,433 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:32,661 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:40:32,661 DEBUG [pylons.configuration] Pushing process configuration +14:40:32,665 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:40:32,665 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:40:32,668 DEBUG [pylons.templating] Initialized Buffet object +14:40:32,668 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:40:32,676 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054498146576: Initial worker pool +14:40:32,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054489753872: Initial worker pool +14:40:32,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054481361168: Initial worker pool +14:40:32,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054472968464: Initial worker pool +14:40:32,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054464575760: Initial worker pool +14:40:32,678 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054456183056: Initial worker pool +14:40:32,678 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054447790352: Initial worker pool +14:40:32,679 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054439397648: Initial worker pool +14:40:32,679 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054431004944: Initial worker pool +14:40:32,679 DEBUG [paste.httpserver.ThreadPool] Started new worker 140054422612240: Initial worker pool +14:40:36,608 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:36,611 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:36,612 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:36,665 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:40:36,665 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:36,665 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:36,665 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:36,666 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:36,666 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327636.666698, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:40:37,546 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:37,547 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:37,656 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:37,659 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:37,659 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:37,659 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:37,659 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:37,659 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:37,660 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:37,659 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327637.660351, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:40:38,534 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:38,534 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:54,108 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:54,109 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:54,110 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:54,110 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:54,110 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:54,110 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:54,110 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:54,110 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'slavehack_hack/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/slavehack_hack/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'slavehack_hack/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327654.1110981, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'slavehack_hack/', 'action': u'view'} +14:40:55,000 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:55,000 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:40:55,134 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:40:55,135 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:40:55,136 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:40:55,136 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:40:55,136 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:40:55,136 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:40:55,136 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:40:55,136 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/slavehack_hack/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327655.13709, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:40:55,988 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:40:55,988 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:41:13,941 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:41:13,950 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:41:13,951 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:41:13,952 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:41:13,952 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:41:13,952 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:41:13,954 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:41:13,953 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327673.954361, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:41:14,828 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:41:14,829 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:41:14,899 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:41:14,901 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:41:14,901 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:41:14,901 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:41:14,901 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:41:14,902 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:41:14,902 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:41:14,902 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327674.9026921, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f60ff1901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:41:15,762 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:41:15,763 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:42:03,654 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:42:03,655 DEBUG [pylons.configuration] Pushing process configuration +14:42:03,658 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:42:03,658 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:42:03,661 DEBUG [pylons.templating] Initialized Buffet object +14:42:03,661 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:42:03,670 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889227299088: Initial worker pool +14:42:03,670 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889218906384: Initial worker pool +14:42:03,670 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889210513680: Initial worker pool +14:42:03,671 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889202120976: Initial worker pool +14:42:03,671 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889193728272: Initial worker pool +14:42:03,671 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889185335568: Initial worker pool +14:42:03,671 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889176942864: Initial worker pool +14:42:03,672 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889168550160: Initial worker pool +14:42:03,672 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889160157456: Initial worker pool +14:42:03,672 DEBUG [paste.httpserver.ThreadPool] Started new worker 139889151764752: Initial worker pool +14:42:56,070 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:42:56,070 DEBUG [pylons.configuration] Pushing process configuration +14:42:56,073 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:42:56,074 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:42:56,077 DEBUG [pylons.templating] Initialized Buffet object +14:42:56,077 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:42:56,085 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392929880336: Initial worker pool +14:42:56,086 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392921487632: Initial worker pool +14:42:56,086 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392913094928: Initial worker pool +14:42:56,086 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392904702224: Initial worker pool +14:42:56,087 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392896309520: Initial worker pool +14:42:56,087 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392887916816: Initial worker pool +14:42:56,087 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392879524112: Initial worker pool +14:42:56,088 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392871131408: Initial worker pool +14:42:56,088 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392862738704: Initial worker pool +14:42:56,089 DEBUG [paste.httpserver.ThreadPool] Started new worker 140392854346000: Initial worker pool +14:42:58,459 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:42:58,462 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:42:58,463 DEBUG [pylons.wsgiapp] No controller found, returning 404 HTTP Not Found +14:42:58,463 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:42:58,464 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'error' +14:42:58,491 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.error', class: 'ErrorController' +14:42:58,491 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:42:58,491 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:42:58,491 DEBUG [pylons.controllers.core] Looking for u'document' method to handle the request +14:42:58,491 DEBUG [pylons.controllers.core] Calling 'document' method with keyword args: **{} +14:42:58,492 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:42:58,492 DEBUG [pylons.templating] Created render namespace with pylons vars: {'c': , 'ungettext': , 'g': , 'url': , 'h': , 'request': , 'tmpl_context': , 'translator': , 'session': {'_accessed_time': 1266327778.492738, '_creation_time': 1266321971.558501}, 'N_': , 'app_globals': , 'config': {'error_email_from': 'paste_error@localhost', 'beaker.session.auto': 'True', 'pylons.paths': {'templates': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'controllers': '/home/marcink/python_workspace/hg_app/pylons_app/controllers', 'static_files': '/home/marcink/python_workspace/hg_app/pylons_app/public', 'root': '/home/marcink/python_workspace/hg_app/pylons_app'}, 'logview.sqlalchemy': '#faa', 'pylons.errorware': {'debug': True}, 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}, 'beaker.session.type': 'file', 'pylons.c_attach_args': True, 'logview.pylons.templating': '#bfb', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'smtp_server': 'localhost', 'app_conf': {'lang': 'en', 'beaker.session.auto': 'True', 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'beaker.session.timeout': '3600', 'logview.sqlalchemy': '#faa', 'cache_dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.type': 'file'}, 'pylons.cache_dir': '/home/marcink/python_workspace/hg_app/data', 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'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}}], 'buffet.template_options': {'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}, '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'routes.map': , 'here': '/home/marcink/python_workspace/hg_app', 'email_to': 'marcin.kuzminski@etelko.pl', 'pylons.h': , 'pylons.package': 'pylons_app', 'pylons.g': , 'lang': 'en', 'global_conf': {'error_email_from': 'paste_error@localhost', 'email_to': 'marcin.kuzminski@etelko.pl', 'debug': 'true', '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'smtp_server': 'localhost', 'here': '/home/marcink/python_workspace/hg_app'}, 'package': 'pylons_app', 'cache.dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.timeout': '3600', 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'pylons.strict_c': False, 'beaker.cache.data_dir': '/home/marcink/python_workspace/hg_app/data/cache', 'debug': True, 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.data_dir': '/home/marcink/python_workspace/hg_app/data/sessions'}, 'response': , '_': } +14:42:58,494 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:42:58,494 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:43:01,083 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:01,085 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:01,085 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:43:01,130 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:43:01,130 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:01,130 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:01,130 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:43:01,131 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:01,131 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '/hg', '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327781.1315889, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fafcb3371c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:43:02,028 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:43:02,028 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:43:02,100 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:02,102 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:02,102 DEBUG [pylons.wsgiapp] No controller found, returning 404 HTTP Not Found +14:43:02,103 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:02,103 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'error' +14:43:02,103 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:02,103 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:02,104 DEBUG [pylons.controllers.core] Looking for u'document' method to handle the request +14:43:02,104 DEBUG [pylons.controllers.core] Calling 'document' method with keyword args: **{} +14:43:02,104 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:02,104 DEBUG [pylons.templating] Created render namespace with pylons vars: {'c': , 'ungettext': , 'g': , 'url': , 'h': , 'request': , 'tmpl_context': , 'translator': , 'session': {'_accessed_time': 1266327782.104913, '_creation_time': 1266321971.558501}, 'N_': , 'app_globals': , 'config': {'error_email_from': 'paste_error@localhost', 'beaker.session.auto': 'True', 'pylons.paths': {'templates': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'controllers': '/home/marcink/python_workspace/hg_app/pylons_app/controllers', 'static_files': '/home/marcink/python_workspace/hg_app/pylons_app/public', 'root': '/home/marcink/python_workspace/hg_app/pylons_app'}, 'logview.sqlalchemy': '#faa', 'pylons.errorware': {'debug': True}, 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}, 'beaker.session.type': 'file', 'pylons.c_attach_args': True, 'logview.pylons.templating': '#bfb', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'smtp_server': 'localhost', 'app_conf': {'lang': 'en', 'beaker.session.auto': 'True', 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'beaker.session.timeout': '3600', 'logview.sqlalchemy': '#faa', 'cache_dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.type': 'file'}, 'pylons.cache_dir': '/home/marcink/python_workspace/hg_app/data', 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'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}}], 'buffet.template_options': {'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}, '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'routes.map': , 'here': '/home/marcink/python_workspace/hg_app', 'email_to': 'marcin.kuzminski@etelko.pl', 'pylons.h': , 'pylons.package': 'pylons_app', 'pylons.g': , 'lang': 'en', 'global_conf': {'error_email_from': 'paste_error@localhost', 'email_to': 'marcin.kuzminski@etelko.pl', 'debug': 'true', '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'smtp_server': 'localhost', 'here': '/home/marcink/python_workspace/hg_app'}, 'package': 'pylons_app', 'cache.dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.timeout': '3600', 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'pylons.strict_c': False, 'beaker.cache.data_dir': '/home/marcink/python_workspace/hg_app/data/cache', 'debug': True, 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.data_dir': '/home/marcink/python_workspace/hg_app/data/sessions'}, 'response': , '_': } +14:43:02,105 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:43:02,105 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:43:14,988 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:43:14,988 DEBUG [pylons.configuration] Pushing process configuration +14:43:14,991 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:43:14,992 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:43:14,995 DEBUG [pylons.templating] Initialized Buffet object +14:43:14,995 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:43:15,005 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842214570256: Initial worker pool +14:43:15,006 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842206177552: Initial worker pool +14:43:15,006 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842197784848: Initial worker pool +14:43:15,006 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842189392144: Initial worker pool +14:43:15,006 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842180999440: Initial worker pool +14:43:15,007 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842172606736: Initial worker pool +14:43:15,007 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842164214032: Initial worker pool +14:43:15,007 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842155821328: Initial worker pool +14:43:15,008 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842147428624: Initial worker pool +14:43:15,008 DEBUG [paste.httpserver.ThreadPool] Started new worker 139842139035920: Initial worker pool +14:43:38,419 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:38,421 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:38,422 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:43:38,489 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:43:38,489 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:38,489 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:38,490 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:43:38,490 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:38,490 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327818.490762, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2f9202b1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:43:39,375 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:43:39,375 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:43:39,472 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:39,475 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:39,475 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:43:39,475 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:39,476 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:39,476 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:43:39,476 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:39,476 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327819.47679, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2f9202b1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:43:40,355 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:43:40,355 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:43:55,209 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:43:55,209 DEBUG [pylons.configuration] Pushing process configuration +14:43:55,212 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:43:55,213 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:43:55,217 DEBUG [pylons.templating] Initialized Buffet object +14:43:55,217 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:43:55,219 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472426989840: Initial worker pool +14:43:55,219 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472418597136: Initial worker pool +14:43:55,219 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472410204432: Initial worker pool +14:43:55,219 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472401811728: Initial worker pool +14:43:55,219 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472393419024: Initial worker pool +14:43:55,220 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472385026320: Initial worker pool +14:43:55,220 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472376633616: Initial worker pool +14:43:55,220 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472368240912: Initial worker pool +14:43:55,220 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472359848208: Initial worker pool +14:43:55,221 DEBUG [paste.httpserver.ThreadPool] Started new worker 140472351455504: Initial worker pool +14:43:55,918 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:55,921 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:55,922 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:43:55,972 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:43:55,972 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:55,972 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:55,972 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:43:55,973 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:55,972 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327835.9732239, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fc24d78c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:43:56,863 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:43:56,863 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:43:56,905 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:43:56,906 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:43:56,907 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:43:56,907 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:43:56,907 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:43:56,907 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:43:56,908 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:43:56,907 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327836.9082389, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fc24d78c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:43:57,796 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:43:57,797 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:06,476 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:06,489 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:06,490 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:06,490 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:06,490 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:06,490 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:06,491 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:06,490 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327846.4912381, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fc24d78c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:44:07,360 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:07,360 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:07,384 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:07,385 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:07,385 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:07,385 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:07,385 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:07,385 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:07,386 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:07,386 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327847.3865819, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fc24d78c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:44:08,254 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:08,254 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:16,094 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:44:16,094 DEBUG [pylons.configuration] Pushing process configuration +14:44:16,097 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:44:16,098 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:44:16,101 DEBUG [pylons.templating] Initialized Buffet object +14:44:16,101 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:44:16,102 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342153849104: Initial worker pool +14:44:16,102 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342145456400: Initial worker pool +14:44:16,103 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342137063696: Initial worker pool +14:44:16,103 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342128670992: Initial worker pool +14:44:16,103 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342120278288: Initial worker pool +14:44:16,104 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342111885584: Initial worker pool +14:44:16,104 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342103492880: Initial worker pool +14:44:16,104 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342095100176: Initial worker pool +14:44:16,104 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342086707472: Initial worker pool +14:44:16,105 DEBUG [paste.httpserver.ThreadPool] Started new worker 140342078314768: Initial worker pool +14:44:20,149 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:20,156 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:20,157 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:20,210 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:44:20,210 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:20,210 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:20,210 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:20,211 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:20,210 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327860.211241, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa3f89661c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:44:21,101 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:21,152 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:21,195 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:21,196 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:21,197 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:21,197 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:21,197 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:21,197 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:21,198 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:21,197 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'pylons.controller': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327861.1982059, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa3f89661c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:44:22,077 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:22,077 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:31,736 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:44:31,737 DEBUG [pylons.configuration] Pushing process configuration +14:44:31,740 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:44:31,740 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:44:31,743 DEBUG [pylons.templating] Initialized Buffet object +14:44:31,744 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:44:31,751 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688071006480: Initial worker pool +14:44:31,752 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688062613776: Initial worker pool +14:44:31,752 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688054221072: Initial worker pool +14:44:31,752 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688045828368: Initial worker pool +14:44:31,752 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688037435664: Initial worker pool +14:44:31,753 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688029042960: Initial worker pool +14:44:31,753 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688020650256: Initial worker pool +14:44:31,753 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688012257552: Initial worker pool +14:44:31,753 DEBUG [paste.httpserver.ThreadPool] Started new worker 140688003864848: Initial worker pool +14:44:31,754 DEBUG [paste.httpserver.ThreadPool] Started new worker 140687995472144: Initial worker pool +14:44:32,484 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:32,495 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:32,505 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:32,570 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:44:32,570 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:32,570 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:32,570 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:32,571 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:32,571 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327872.5715599, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff482fba1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:44:33,450 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:33,450 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:33,550 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:33,553 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:33,553 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:33,553 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:33,553 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:33,553 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:33,554 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:33,553 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327873.5543909, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff482fba1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:44:34,490 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:34,490 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:44:39,916 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:44:39,917 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:44:39,918 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:44:39,918 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:44:39,918 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:44:39,918 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:44:39,919 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:44:39,918 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327879.919168, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7ff482fba1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/hgicon.png', 'action': u'view'} +14:44:40,831 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:44:40,831 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:45:16,128 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:45:16,128 DEBUG [pylons.configuration] Pushing process configuration +14:45:16,131 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:45:16,131 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:45:16,135 DEBUG [pylons.templating] Initialized Buffet object +14:45:16,181 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:45:16,198 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404773447952: Initial worker pool +14:45:16,198 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404765055248: Initial worker pool +14:45:16,198 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404756662544: Initial worker pool +14:45:16,199 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404748269840: Initial worker pool +14:45:16,199 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404739877136: Initial worker pool +14:45:16,199 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404731484432: Initial worker pool +14:45:16,199 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404723091728: Initial worker pool +14:45:16,200 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404714699024: Initial worker pool +14:45:16,200 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404706306320: Initial worker pool +14:45:16,200 DEBUG [paste.httpserver.ThreadPool] Started new worker 140404697913616: Initial worker pool +14:45:16,402 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:45:16,407 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:45:16,408 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:45:16,458 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:45:16,459 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:45:16,459 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:45:16,459 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:45:16,459 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:45:16,459 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327916.4600699, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb28d21f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:45:17,364 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:45:17,365 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:45:17,452 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:45:17,453 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:45:17,454 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:45:17,454 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:45:17,454 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:45:17,454 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:45:17,455 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:45:17,455 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327917.4555199, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb28d21f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:45:18,353 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:45:18,354 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:45:25,275 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:45:25,277 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:45:25,277 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:45:25,277 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:45:25,277 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:45:25,277 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:45:25,278 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:45:25,278 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327925.2785201, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb28d21f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:45:26,198 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:45:26,248 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:45:26,337 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:45:26,338 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:45:26,338 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:45:26,338 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:45:26,338 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:45:26,338 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:45:26,339 DEBUG [beaker.container] data file /home/marcink/python_workspace/hg_app/data/sessions/container_file/d/d0/d08f13a0624d036cff94c88a7239f3eb.cache +14:45:26,339 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327926.3398249, '_creation_time': 1266321971.558501}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb28d21f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:45:27,257 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:45:27,258 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:45:34,281 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:45:34,281 DEBUG [pylons.configuration] Pushing process configuration +14:45:34,285 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:45:34,285 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:45:34,288 DEBUG [pylons.templating] Initialized Buffet object +14:45:34,289 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:45:34,296 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181326231824: Initial worker pool +14:45:34,297 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181317839120: Initial worker pool +14:45:34,297 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181309446416: Initial worker pool +14:45:34,297 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181301053712: Initial worker pool +14:45:34,297 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181292661008: Initial worker pool +14:45:34,298 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181284268304: Initial worker pool +14:45:34,298 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181275875600: Initial worker pool +14:45:34,298 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181267482896: Initial worker pool +14:45:34,298 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181259090192: Initial worker pool +14:45:34,299 DEBUG [paste.httpserver.ThreadPool] Started new worker 140181250697488: Initial worker pool +14:46:08,309 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:46:08,310 DEBUG [pylons.configuration] Pushing process configuration +14:46:08,313 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:46:08,313 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:46:08,317 DEBUG [pylons.templating] Initialized Buffet object +14:46:08,317 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:46:08,325 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172688390416: Initial worker pool +14:46:08,325 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172679997712: Initial worker pool +14:46:08,325 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172671605008: Initial worker pool +14:46:08,326 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172663212304: Initial worker pool +14:46:08,326 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172654819600: Initial worker pool +14:46:08,326 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172646426896: Initial worker pool +14:46:08,327 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172638034192: Initial worker pool +14:46:08,327 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172629641488: Initial worker pool +14:46:08,327 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172621248784: Initial worker pool +14:46:08,327 DEBUG [paste.httpserver.ThreadPool] Started new worker 140172612856080: Initial worker pool +14:46:12,014 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:46:12,019 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:46:12,022 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:46:12,076 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:46:12,076 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:46:12,076 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:46:12,076 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:46:12,076 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327972.076967, '_creation_time': 1266327972.076967}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f7c83c901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:46:12,984 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:46:12,984 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:46:13,079 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:46:13,082 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:46:13,082 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:46:13,082 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:46:13,083 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:46:13,083 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:46:13,083 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327973.0835471, '_creation_time': 1266327972.076967}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f7c83c901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:46:13,984 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:46:13,984 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:46:21,990 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:46:21,991 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:46:21,992 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:46:21,992 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:46:21,992 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:46:21,992 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:46:21,992 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/archive/tip.tar.bz2'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/archive/tip.tar.bz2', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/archive/tip.tar.bz2'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266327981.993077, '_creation_time': 1266327972.076967}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f7c83c901c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'czy_jest_spotkanie/archive/tip.tar.bz2', 'action': u'view'} +14:46:22,934 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:46:23,120 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:09,430 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:48:09,430 DEBUG [pylons.configuration] Pushing process configuration +14:48:09,433 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:09,433 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:48:09,436 DEBUG [pylons.templating] Initialized Buffet object +14:48:09,437 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:48:09,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337613756688: Initial worker pool +14:48:09,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337605363984: Initial worker pool +14:48:09,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337596971280: Initial worker pool +14:48:09,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337588578576: Initial worker pool +14:48:09,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337580185872: Initial worker pool +14:48:09,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337571793168: Initial worker pool +14:48:09,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337563400464: Initial worker pool +14:48:09,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337555007760: Initial worker pool +14:48:09,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337546615056: Initial worker pool +14:48:09,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140337538222352: Initial worker pool +14:48:12,703 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:12,706 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:12,707 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:12,759 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:48:12,760 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:12,760 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:12,760 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:12,760 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328092.7608099, '_creation_time': 1266328092.7608099}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa2ea1a61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:48:13,651 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:13,651 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:13,753 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:13,766 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:13,767 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:13,767 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:13,767 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:13,767 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:13,767 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328093.768117, '_creation_time': 1266328092.7608099}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa2ea1a61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:48:14,659 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:14,659 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:17,640 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:17,643 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:17,644 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:17,644 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:17,644 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:17,644 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:17,645 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328097.645376, '_creation_time': 1266328092.7608099}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa2ea1a61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:48:18,528 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:18,528 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:18,603 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:18,605 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:18,606 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:18,606 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:18,606 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:18,606 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:18,606 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328098.6070249, '_creation_time': 1266328092.7608099}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa2ea1a61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:48:19,518 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:19,518 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:44,681 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:48:44,681 DEBUG [pylons.configuration] Pushing process configuration +14:48:44,684 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:44,685 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:48:44,688 DEBUG [pylons.templating] Initialized Buffet object +14:48:44,688 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:48:44,697 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849544108304: Initial worker pool +14:48:44,697 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849535715600: Initial worker pool +14:48:44,697 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849527322896: Initial worker pool +14:48:44,698 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849518930192: Initial worker pool +14:48:44,698 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849510537488: Initial worker pool +14:48:44,698 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849502144784: Initial worker pool +14:48:44,698 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849493752080: Initial worker pool +14:48:44,699 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849485359376: Initial worker pool +14:48:44,699 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849476966672: Initial worker pool +14:48:44,699 DEBUG [paste.httpserver.ThreadPool] Started new worker 139849468573968: Initial worker pool +14:48:46,629 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:46,636 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:46,638 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:46,688 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:48:46,688 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:46,689 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:46,689 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:46,689 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328126.690064, '_creation_time': 1266328126.690064}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f3146e291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:48:47,556 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:47,556 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:47,674 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:48:47,676 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:48:47,677 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:48:47,677 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:48:47,677 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:48:47,677 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:48:47,677 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328127.6778729, '_creation_time': 1266328126.690064}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f3146e291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': 'static/style-gitweb.css', 'action': u'view'} +14:48:48,557 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +14:48:48,557 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +14:48:56,187 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:48:56,187 DEBUG [pylons.configuration] Pushing process configuration +14:48:56,190 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:56,190 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:48:56,193 DEBUG [pylons.templating] Initialized Buffet object +14:48:56,194 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:48:56,202 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762161404176: Initial worker pool +14:48:56,202 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762153011472: Initial worker pool +14:48:56,203 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762144618768: Initial worker pool +14:48:56,203 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762061015312: Initial worker pool +14:48:56,203 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762052622608: Initial worker pool +14:48:56,203 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762044229904: Initial worker pool +14:48:56,204 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762035837200: Initial worker pool +14:48:56,204 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762027444496: Initial worker pool +14:48:56,204 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762019051792: Initial worker pool +14:48:56,205 DEBUG [paste.httpserver.ThreadPool] Started new worker 139762010659088: Initial worker pool +14:49:39,694 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +14:49:44,063 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:49:44,064 DEBUG [pylons.configuration] Pushing process configuration +14:49:44,067 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:44,067 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:49:44,070 DEBUG [pylons.templating] Initialized Buffet object +14:49:44,071 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:49:44,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032229001488: Initial worker pool +14:49:44,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032220608784: Initial worker pool +14:49:44,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032212216080: Initial worker pool +14:49:44,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032203823376: Initial worker pool +14:49:44,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032195430672: Initial worker pool +14:49:44,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032187037968: Initial worker pool +14:49:44,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032178645264: Initial worker pool +14:49:44,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032170252560: Initial worker pool +14:49:44,081 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032161859856: Initial worker pool +14:49:44,081 DEBUG [paste.httpserver.ThreadPool] Started new worker 140032153467152: Initial worker pool +14:51:27,298 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:51:27,299 DEBUG [pylons.configuration] Pushing process configuration +14:51:27,361 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:51:27,362 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:51:27,371 DEBUG [pylons.templating] Initialized Buffet object +14:51:27,372 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:51:27,381 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857948297488: Initial worker pool +14:51:27,381 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857939904784: Initial worker pool +14:51:27,382 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857931512080: Initial worker pool +14:51:27,382 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857923119376: Initial worker pool +14:51:27,382 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857914726672: Initial worker pool +14:51:27,382 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857906333968: Initial worker pool +14:51:27,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857897941264: Initial worker pool +14:51:27,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857889548560: Initial worker pool +14:51:27,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857881155856: Initial worker pool +14:51:27,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139857872763152: Initial worker pool +14:59:43,100 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +14:59:43,101 DEBUG [pylons.configuration] Pushing process configuration +14:59:43,104 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:59:43,104 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +14:59:43,107 DEBUG [pylons.templating] Initialized Buffet object +14:59:43,107 DEBUG [pylons.templating] Adding mako template language for use with Buffet +14:59:43,115 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886411589904: Initial worker pool +14:59:43,115 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886403197200: Initial worker pool +14:59:43,116 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886394804496: Initial worker pool +14:59:43,116 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886386411792: Initial worker pool +14:59:43,117 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886378019088: Initial worker pool +14:59:43,117 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886369626384: Initial worker pool +14:59:43,118 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886361233680: Initial worker pool +14:59:43,118 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886352840976: Initial worker pool +14:59:43,119 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886344448272: Initial worker pool +14:59:43,120 DEBUG [paste.httpserver.ThreadPool] Started new worker 139886336055568: Initial worker pool +14:59:52,345 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:52,352 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:52,355 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:52,412 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +14:59:52,412 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:52,412 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:52,412 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:52,413 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328792.4132619, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:52,413 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:52,413 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:54,345 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:54,350 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:54,351 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:54,352 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:54,352 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:54,353 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:54,353 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328794.3542831, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:54,354 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:54,354 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:55,020 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:55,023 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:55,024 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:55,024 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:55,025 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:55,025 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:55,026 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328795.0266261, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:55,027 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:55,028 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:55,553 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:55,556 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:55,557 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:55,557 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:55,558 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:55,558 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:55,559 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328795.559679, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:55,560 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:55,561 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:56,065 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:56,067 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:56,068 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:56,068 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:56,068 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:56,068 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:56,068 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328796.0687971, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:56,069 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:56,069 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:56,558 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:56,559 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:56,560 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:56,560 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:56,560 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:56,560 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:56,560 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328796.560986, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:56,561 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:56,561 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +14:59:57,001 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +14:59:57,002 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +14:59:57,003 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +14:59:57,003 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +14:59:57,003 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +14:59:57,003 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +14:59:57,003 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328797.0039549, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +14:59:57,004 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +14:59:57,004 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +15:00:12,173 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:00:12,181 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:00:12,182 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:00:12,182 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:00:12,183 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:00:12,183 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:00:12,184 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'pylons': , 'start_response': , 'controller': u'hg', 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266328812.1848619, '_creation_time': 1266328792.4132619}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f39dc5bb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}, 'path_info': u'/', 'action': u'view'} +15:00:12,185 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +15:00:12,186 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +15:02:05,029 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:02:05,029 DEBUG [pylons.configuration] Pushing process configuration +15:02:05,032 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 +15:02:05,032 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:02:05,036 DEBUG [pylons.templating] Initialized Buffet object +15:02:05,036 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:02:05,044 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570092333328: Initial worker pool +15:02:05,044 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570083940624: Initial worker pool +15:02:05,045 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570075547920: Initial worker pool +15:02:05,045 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570067155216: Initial worker pool +15:02:05,045 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570058762512: Initial worker pool +15:02:05,045 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570050369808: Initial worker pool +15:02:05,046 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570041977104: Initial worker pool +15:02:05,046 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570033584400: Initial worker pool +15:02:05,047 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570025191696: Initial worker pool +15:02:05,047 DEBUG [paste.httpserver.ThreadPool] Started new worker 140570016798992: Initial worker pool +15:12:03,765 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:12:03,773 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:12:03,776 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:12:03,828 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:12:03,829 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:12:03,829 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:12:03,829 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:12:03,829 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329523.829823, '_creation_time': 1266329523.829823}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd90ae7f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:12:04,686 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:12:04,723 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:12:04,836 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:12:04,845 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:12:04,846 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:12:04,846 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:12:04,846 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:12:04,846 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:12:04,846 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329524.8470571, '_creation_time': 1266329523.829823}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd90ae7f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:12:05,771 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:12:05,774 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:12:19,588 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:12:19,591 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:12:19,592 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:12:19,593 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:12:19,593 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:12:19,594 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:12:19,594 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329539.595278, '_creation_time': 1266329523.829823}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd90ae7f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:12:20,529 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:12:20,552 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:12:20,604 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:12:20,605 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:12:20,606 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:12:20,606 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:12:20,606 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:12:20,606 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:12:20,606 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329540.6071219, '_creation_time': 1266329523.829823}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd90ae7f1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:12:21,500 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:12:21,503 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:13:54,284 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:13:54,284 DEBUG [pylons.configuration] Pushing process configuration +15:13:54,288 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 +15:13:54,288 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:13:54,291 DEBUG [pylons.templating] Initialized Buffet object +15:13:54,291 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:13:54,299 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154448947472: Initial worker pool +15:13:54,300 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154440554768: Initial worker pool +15:13:54,300 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154432162064: Initial worker pool +15:13:54,300 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154423769360: Initial worker pool +15:13:54,301 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154415376656: Initial worker pool +15:13:54,301 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154406983952: Initial worker pool +15:13:54,301 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154398591248: Initial worker pool +15:13:54,301 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154390198544: Initial worker pool +15:13:54,302 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154381805840: Initial worker pool +15:13:54,302 DEBUG [paste.httpserver.ThreadPool] Started new worker 140154373413136: Initial worker pool +15:13:57,076 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:13:57,079 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:13:57,080 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:13:57,136 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:13:57,136 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:13:57,136 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:13:57,136 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:13:57,137 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329637.137394, '_creation_time': 1266329637.137394}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f7844a131c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:13:58,015 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:13:58,044 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:13:58,133 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:13:58,135 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:13:58,135 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:13:58,136 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:13:58,136 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:13:58,136 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:13:58,136 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329638.136723, '_creation_time': 1266329637.137394}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f7844a131c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:13:59,012 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:13:59,014 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:16:21,543 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:16:21,543 DEBUG [pylons.configuration] Pushing process configuration +15:16:21,547 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 +15:16:21,547 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:16:21,550 DEBUG [pylons.templating] Initialized Buffet object +15:16:21,551 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:16:21,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329265322256: Initial worker pool +15:16:21,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329256929552: Initial worker pool +15:16:21,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329248536848: Initial worker pool +15:16:21,559 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329240144144: Initial worker pool +15:16:21,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329231751440: Initial worker pool +15:16:21,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329223358736: Initial worker pool +15:16:21,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329214966032: Initial worker pool +15:16:21,560 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329206573328: Initial worker pool +15:16:21,561 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329198180624: Initial worker pool +15:16:21,561 DEBUG [paste.httpserver.ThreadPool] Started new worker 140329189787920: Initial worker pool +15:16:22,271 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:16:22,273 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:16:22,275 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:16:22,330 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:16:22,331 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:16:22,331 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:16:22,331 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:16:22,331 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329782.331712, '_creation_time': 1266329782.331712}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa0f87f61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:16:23,266 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:16:23,297 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:16:23,373 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:16:23,375 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:16:23,376 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:16:23,376 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:16:23,376 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:16:23,376 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:16:23,376 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329783.377126, '_creation_time': 1266329782.331712}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fa0f87f61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:16:24,265 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:16:24,270 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:17:36,820 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:17:36,820 DEBUG [pylons.configuration] Pushing process configuration +15:17:36,824 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 +15:17:36,824 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:17:36,827 DEBUG [pylons.templating] Initialized Buffet object +15:17:36,827 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:17:36,836 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826856646928: Initial worker pool +15:17:36,836 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826848254224: Initial worker pool +15:17:36,836 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826839861520: Initial worker pool +15:17:36,837 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826831468816: Initial worker pool +15:17:36,837 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826823076112: Initial worker pool +15:17:36,837 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826814683408: Initial worker pool +15:17:36,837 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826806290704: Initial worker pool +15:17:36,838 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826797898000: Initial worker pool +15:17:36,838 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826789505296: Initial worker pool +15:17:36,838 DEBUG [paste.httpserver.ThreadPool] Started new worker 139826781112592: Initial worker pool +15:17:37,027 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:17:37,029 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:17:37,031 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:17:37,088 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:17:37,089 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:17:37,089 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:17:37,089 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:17:37,089 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329857.089978, '_creation_time': 1266329857.089978}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2bfe9b61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:17:37,969 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:17:37,998 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:17:38,080 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:17:38,082 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:17:38,082 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:17:38,082 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:17:38,082 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:17:38,082 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:17:38,083 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329858.0832651, '_creation_time': 1266329857.089978}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2bfe9b61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:17:38,995 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:17:38,995 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:18:22,496 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:18:22,497 DEBUG [pylons.configuration] Pushing process configuration +15:18:22,500 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 +15:18:22,500 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:18:22,503 DEBUG [pylons.templating] Initialized Buffet object +15:18:22,504 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:18:22,512 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668428630288: Initial worker pool +15:18:22,512 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668420237584: Initial worker pool +15:18:22,512 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668411844880: Initial worker pool +15:18:22,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668403452176: Initial worker pool +15:18:22,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668395059472: Initial worker pool +15:18:22,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668386666768: Initial worker pool +15:18:22,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668378274064: Initial worker pool +15:18:22,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668369881360: Initial worker pool +15:18:22,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668361488656: Initial worker pool +15:18:22,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 139668353095952: Initial worker pool +15:18:22,963 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:18:22,965 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:18:22,966 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:18:23,024 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:18:23,024 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:18:23,025 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:18:23,025 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:18:23,025 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329903.0256381, '_creation_time': 1266329903.0256381}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f071b8fb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:18:23,926 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:18:23,955 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:18:24,032 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:18:24,034 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:18:24,034 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:18:24,034 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:18:24,035 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:18:24,035 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:18:24,035 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329904.035532, '_creation_time': 1266329903.0256381}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f071b8fb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:18:24,927 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:18:24,927 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:18:39,429 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +15:18:39,429 DEBUG [pylons.configuration] Pushing process configuration +15:18:39,432 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 +15:18:39,432 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +15:18:39,436 DEBUG [pylons.templating] Initialized Buffet object +15:18:39,436 DEBUG [pylons.templating] Adding mako template language for use with Buffet +15:18:39,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140427022346512: Initial worker pool +15:18:39,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140427013953808: Initial worker pool +15:18:39,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140427005561104: Initial worker pool +15:18:39,445 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426997168400: Initial worker pool +15:18:39,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426988775696: Initial worker pool +15:18:39,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426908530960: Initial worker pool +15:18:39,446 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426900138256: Initial worker pool +15:18:39,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426891745552: Initial worker pool +15:18:39,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426883352848: Initial worker pool +15:18:39,447 DEBUG [paste.httpserver.ThreadPool] Started new worker 140426874960144: Initial worker pool +15:19:13,744 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:19:13,746 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:19:13,748 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:19:13,807 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +15:19:13,807 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:19:13,807 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:19:13,808 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:19:13,808 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329953.8084869, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:19:14,190 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:19:14,217 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:19:14,300 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:19:14,302 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:19:14,303 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:19:14,303 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:19:14,303 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:19:14,303 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:19:14,303 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329954.3039701, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:19:14,678 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:19:14,678 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:19:18,785 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:19:18,788 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:19:18,788 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:19:18,788 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:19:18,788 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:19:18,788 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:19:18,788 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'ezfeed_uploader/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/ezfeed_uploader/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'ezfeed_uploader/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329958.7891531, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:19:19,206 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:19:19,290 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:19:19,349 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:19:19,350 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:19:19,351 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:19:19,351 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:19:19,351 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:19:19,351 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:19:19,351 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/ezfeed_uploader/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266329959.351814, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:19:19,737 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:19:19,737 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:20:13,691 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:20:13,702 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:20:13,703 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:20:13,703 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:20:13,703 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:20:13,703 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:20:13,703 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'ezfeed_uploader/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/ezfeed_uploader/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'ezfeed_uploader/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266330013.7040229, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:20:14,097 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:20:14,105 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:20:14,161 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:20:14,162 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:20:14,163 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:20:14,163 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:20:14,163 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:20:14,163 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:20:14,163 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/ezfeed_uploader/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266330014.163923, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:20:14,540 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:20:14,540 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:22:11,404 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:22:11,408 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:22:11,409 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:22:11,409 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:22:11,410 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:22:11,410 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:22:11,411 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266330131.4116499, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:22:11,803 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:22:11,803 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:57:08,539 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:57:08,543 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:57:08,556 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:57:08,556 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:57:08,557 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:57:08,557 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:57:08,557 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332228.557687, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:57:09,793 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:57:09,821 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:57:09,930 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:57:09,931 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:57:09,932 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:57:09,932 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:57:09,932 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:57:09,932 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:57:09,932 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332229.933064, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:57:10,965 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:57:10,966 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +15:57:12,962 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +15:57:12,966 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +15:57:12,968 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +15:57:12,968 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +15:57:12,969 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +15:57:12,969 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +15:57:12,970 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332232.970896, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +15:57:14,048 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +15:57:14,060 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:01:28,206 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:01:28,209 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:01:28,209 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:01:28,210 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:01:28,210 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:01:28,210 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:01:28,210 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332488.2107611, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:01:29,249 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:01:29,277 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:01:29,331 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:01:29,332 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:01:29,332 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:01:29,333 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:01:29,333 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:01:29,333 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:01:29,333 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332489.3337209, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:01:30,359 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:01:30,359 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:01:32,379 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:01:32,382 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:01:32,383 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:01:32,384 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:01:32,384 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:01:32,385 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:01:32,385 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266332492.3867259, '_creation_time': 1266329953.8084869}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fb7bb4531c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:01:33,679 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:01:33,856 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:19:19,936 INFO [paste.httpserver.ThreadPool] Shutting down threadpool +16:20:44,866 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:20:44,866 DEBUG [pylons.configuration] Pushing process configuration +16:20:44,869 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 +16:20:44,869 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:20:44,873 DEBUG [pylons.templating] Initialized Buffet object +16:20:44,873 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:20:44,901 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683561367824: Initial worker pool +16:20:44,902 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683552975120: Initial worker pool +16:20:44,903 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683544582416: Initial worker pool +16:20:44,904 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683536189712: Initial worker pool +16:20:44,905 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683527797008: Initial worker pool +16:20:44,905 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683519404304: Initial worker pool +16:20:44,906 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683511011600: Initial worker pool +16:20:44,907 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683502618896: Initial worker pool +16:20:44,908 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683494226192: Initial worker pool +16:20:44,909 DEBUG [paste.httpserver.ThreadPool] Started new worker 139683485833488: Initial worker pool +16:20:46,154 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:20:46,157 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:20:46,158 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:20:46,411 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:20:46,411 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:20:46,411 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:20:46,411 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:20:46,411 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333646.4120591, '_creation_time': 1266333646.4120591}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f0aa18af1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:20:49,628 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:20:49,634 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:20:49,635 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:20:49,635 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:20:49,636 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:20:49,636 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:20:49,637 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'favicon.ico'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/favicon.ico', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'favicon.ico'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333649.6377721, '_creation_time': 1266333649.6377721}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f0aa18af1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:20:54,083 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:20:54,083 DEBUG [pylons.configuration] Pushing process configuration +16:20:54,087 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 +16:20:54,088 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:20:54,092 DEBUG [pylons.templating] Initialized Buffet object +16:20:54,092 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:20:54,137 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064338950416: Initial worker pool +16:20:54,138 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064330557712: Initial worker pool +16:20:54,138 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064322165008: Initial worker pool +16:20:54,138 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064313772304: Initial worker pool +16:20:54,139 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064305379600: Initial worker pool +16:20:54,139 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064296986896: Initial worker pool +16:20:54,139 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064288594192: Initial worker pool +16:20:54,139 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064280201488: Initial worker pool +16:20:54,140 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064271808784: Initial worker pool +16:20:54,140 DEBUG [paste.httpserver.ThreadPool] Started new worker 140064263416080: Initial worker pool +16:20:55,137 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:20:55,140 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:20:55,141 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:20:55,195 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:20:55,196 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:20:55,196 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:20:55,196 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:20:55,196 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333655.196805, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:20:56,194 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:20:56,224 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:20:56,299 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:20:56,301 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:20:56,301 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:20:56,301 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:20:56,301 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:20:56,302 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:20:56,302 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333656.3024039, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:20:57,191 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:20:57,191 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:20:59,342 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:20:59,345 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:20:59,346 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:20:59,347 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:20:59,347 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:20:59,348 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:20:59,348 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333659.3491011, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:00,245 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:00,298 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:00,899 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:00,902 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:00,904 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:00,904 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:00,904 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:00,905 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:00,905 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'ftp_exchange/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/ftp_exchange/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'ftp_exchange/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333660.907151, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:01,916 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:01,974 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:02,040 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:02,041 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:02,042 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:02,042 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:02,042 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:02,042 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:02,042 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/ftp_exchange/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333662.044889, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:02,943 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:02,943 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:05,090 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:05,092 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:05,093 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:05,143 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:05,143 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:05,144 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:05,145 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333665.1459939, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:06,061 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:06,062 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:06,178 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:06,184 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:06,185 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:06,185 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:06,186 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:06,186 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:06,186 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333666.187609, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:07,105 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:07,105 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:23,835 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:23,839 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:23,840 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:23,840 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:23,840 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:23,840 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:23,840 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333683.841233, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:24,733 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:24,743 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:24,804 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:24,806 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:24,806 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:24,806 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:24,806 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:24,806 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:24,807 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/statistics_new/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333684.8073211, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:25,707 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:25,707 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:21:27,842 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:21:27,847 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:21:27,848 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:21:27,849 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:21:27,849 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:21:27,850 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:21:27,850 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333687.851099, '_creation_time': 1266333655.196805}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6349a7c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:21:28,745 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:21:28,746 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:22:13,376 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:22:13,376 DEBUG [pylons.configuration] Pushing process configuration +16:22:13,379 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 +16:22:13,380 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:22:13,383 DEBUG [pylons.templating] Initialized Buffet object +16:22:13,383 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:22:13,392 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526655150352: Initial worker pool +16:22:13,392 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526646757648: Initial worker pool +16:22:13,392 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526638364944: Initial worker pool +16:22:13,393 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526629972240: Initial worker pool +16:22:13,393 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526621579536: Initial worker pool +16:22:13,393 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526613186832: Initial worker pool +16:22:13,393 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526604794128: Initial worker pool +16:22:13,394 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526596401424: Initial worker pool +16:22:13,394 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526588008720: Initial worker pool +16:22:13,394 DEBUG [paste.httpserver.ThreadPool] Started new worker 140526579616016: Initial worker pool +16:22:15,238 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:22:15,240 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:22:15,241 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:22:15,315 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:22:15,316 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:22:15,316 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:22:15,316 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:22:15,316 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333735.3167009, '_creation_time': 1266333735.3167009}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fceedd911c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:22:16,210 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:22:16,211 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:22:40,379 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:22:40,379 DEBUG [pylons.configuration] Pushing process configuration +16:22:40,382 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 +16:22:40,383 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:22:40,386 DEBUG [pylons.templating] Initialized Buffet object +16:22:40,387 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:22:40,395 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275994515728: Initial worker pool +16:22:40,396 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275986123024: Initial worker pool +16:22:40,396 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275977730320: Initial worker pool +16:22:40,396 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275969337616: Initial worker pool +16:22:40,396 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275960944912: Initial worker pool +16:22:40,397 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275952552208: Initial worker pool +16:22:40,397 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275944159504: Initial worker pool +16:22:40,397 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275935766800: Initial worker pool +16:22:40,398 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275927374096: Initial worker pool +16:22:40,398 DEBUG [paste.httpserver.ThreadPool] Started new worker 140275918981392: Initial worker pool +16:22:50,798 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:22:50,805 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:22:50,806 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:22:50,856 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:22:50,856 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:22:50,857 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:22:50,857 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:22:50,857 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333770.8575709, '_creation_time': 1266333770.8575709}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f94914f61c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:23:36,063 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:23:36,064 DEBUG [pylons.configuration] Pushing process configuration +16:23:36,067 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 +16:23:36,068 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:23:36,071 DEBUG [pylons.templating] Initialized Buffet object +16:23:36,071 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:23:36,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768875854096: Initial worker pool +16:23:36,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768867461392: Initial worker pool +16:23:36,079 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768859068688: Initial worker pool +16:23:36,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768850675984: Initial worker pool +16:23:36,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768842283280: Initial worker pool +16:23:36,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768833890576: Initial worker pool +16:23:36,080 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768825497872: Initial worker pool +16:23:36,081 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768817105168: Initial worker pool +16:23:36,081 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768808712464: Initial worker pool +16:23:36,081 DEBUG [paste.httpserver.ThreadPool] Started new worker 139768800319760: Initial worker pool +16:23:37,203 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:23:37,206 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:23:37,208 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:23:37,277 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:23:37,278 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:23:37,278 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:23:37,278 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:23:37,278 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333817.2788899, '_creation_time': 1266333817.2788899}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f1e7eaeb1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:24:09,316 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:24:09,316 DEBUG [pylons.configuration] Pushing process configuration +16:24:09,320 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 +16:24:09,320 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:24:09,323 DEBUG [pylons.templating] Initialized Buffet object +16:24:09,323 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:24:09,331 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218498062608: Initial worker pool +16:24:09,332 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218489669904: Initial worker pool +16:24:09,332 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218481277200: Initial worker pool +16:24:09,332 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218472884496: Initial worker pool +16:24:09,332 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218464491792: Initial worker pool +16:24:09,333 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218456099088: Initial worker pool +16:24:09,333 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218447706384: Initial worker pool +16:24:09,333 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218439313680: Initial worker pool +16:24:09,333 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218430920976: Initial worker pool +16:24:09,334 DEBUG [paste.httpserver.ThreadPool] Started new worker 140218422528272: Initial worker pool +16:24:10,027 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:24:10,031 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:24:10,032 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:24:10,086 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:24:10,086 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:24:10,086 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:24:10,086 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:24:10,086 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333850.086988, '_creation_time': 1266333850.086988}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f872e4121c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:25:20,368 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:25:20,368 DEBUG [pylons.configuration] Pushing process configuration +16:25:20,371 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 +16:25:20,371 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:25:20,375 DEBUG [pylons.templating] Initialized Buffet object +16:25:20,375 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:25:20,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976887982352: Initial worker pool +16:25:20,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976879589648: Initial worker pool +16:25:20,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976871196944: Initial worker pool +16:25:20,383 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976862804240: Initial worker pool +16:25:20,384 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976854411536: Initial worker pool +16:25:20,384 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976846018832: Initial worker pool +16:25:20,385 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976837626128: Initial worker pool +16:25:20,385 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976829233424: Initial worker pool +16:25:20,385 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976820840720: Initial worker pool +16:25:20,386 DEBUG [paste.httpserver.ThreadPool] Started new worker 139976742271248: Initial worker pool +16:25:27,263 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:25:27,267 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:25:27,268 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:25:27,333 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:25:27,333 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:25:27,333 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:25:27,333 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:25:27,333 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333927.3342371, '_creation_time': 1266333927.3342371}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f4eed2be1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:25:51,389 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:25:51,389 DEBUG [pylons.configuration] Pushing process configuration +16:25:51,393 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 +16:25:51,393 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:25:51,396 DEBUG [pylons.templating] Initialized Buffet object +16:25:51,396 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:25:51,404 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107727239440: Initial worker pool +16:25:51,405 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107718846736: Initial worker pool +16:25:51,405 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107710454032: Initial worker pool +16:25:51,405 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107702061328: Initial worker pool +16:25:51,405 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107693668624: Initial worker pool +16:25:51,406 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107685275920: Initial worker pool +16:25:51,406 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107676883216: Initial worker pool +16:25:51,406 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107668490512: Initial worker pool +16:25:51,407 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107660097808: Initial worker pool +16:25:51,407 DEBUG [paste.httpserver.ThreadPool] Started new worker 140107651705104: Initial worker pool +16:25:51,948 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:25:51,954 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:25:51,955 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:25:52,008 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:25:52,009 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:25:52,009 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:25:52,009 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:25:52,009 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333952.009784, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:25:52,921 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:25:52,935 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:25:53,021 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:25:53,023 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:25:53,024 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:25:53,024 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:25:53,024 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:25:53,024 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:25:53,024 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/statistics_new/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333953.02509, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:25:53,902 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:25:53,903 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:25:56,046 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:25:56,050 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:25:56,051 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:25:56,052 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:25:56,052 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:25:56,052 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:25:56,053 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333956.054095, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:25:56,951 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:25:56,952 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:07,929 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:07,933 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:07,934 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:07,934 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:07,935 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:07,935 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:07,936 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/statistics_new/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'statistics_new/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333967.937922, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:26:08,854 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:26:08,862 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:08,918 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:08,919 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:08,919 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:08,919 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:08,920 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:08,920 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:08,920 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/statistics_new/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333968.9206481, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:26:09,806 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:26:09,806 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:11,943 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:11,945 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:11,946 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:11,946 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:11,946 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:11,947 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:11,947 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266333971.947777, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:26:12,842 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:26:12,842 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:55,301 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:55,304 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:55,304 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:55,304 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:55,305 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:55,305 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:55,305 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266334015.3056469, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:26:56,171 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:26:56,194 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:56,242 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:56,243 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:56,244 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:56,244 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:56,244 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:56,244 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:56,244 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266334016.2451401, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:26:57,103 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:26:57,103 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:26:59,306 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:26:59,309 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:26:59,310 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:26:59,311 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:26:59,311 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:26:59,312 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:26:59,312 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266334019.3132491, '_creation_time': 1266333952.009784}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6d63cc81c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:27:00,202 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:27:00,202 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:27:34,660 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:27:34,660 DEBUG [pylons.configuration] Pushing process configuration +16:27:34,664 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 +16:27:34,664 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:27:34,667 DEBUG [pylons.templating] Initialized Buffet object +16:27:34,668 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:27:34,676 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142254557456: Initial worker pool +16:27:34,676 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142246164752: Initial worker pool +16:27:34,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142237772048: Initial worker pool +16:27:34,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142229379344: Initial worker pool +16:27:34,677 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142220986640: Initial worker pool +16:27:34,678 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142212593936: Initial worker pool +16:27:34,678 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142204201232: Initial worker pool +16:27:34,678 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142195808528: Initial worker pool +16:27:34,679 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142187415824: Initial worker pool +16:27:34,679 DEBUG [paste.httpserver.ThreadPool] Started new worker 140142179023120: Initial worker pool +16:27:36,554 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:27:36,554 DEBUG [pylons.configuration] Pushing process configuration +16:27:36,557 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 +16:27:36,557 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:27:36,560 DEBUG [pylons.templating] Initialized Buffet object +16:27:36,561 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:27:36,569 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667493472528: Initial worker pool +16:27:36,569 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667485079824: Initial worker pool +16:27:36,569 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667476687120: Initial worker pool +16:27:36,570 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667468294416: Initial worker pool +16:27:36,570 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667459901712: Initial worker pool +16:27:36,570 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667451509008: Initial worker pool +16:27:36,571 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667443116304: Initial worker pool +16:27:36,571 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667434723600: Initial worker pool +16:27:36,571 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667426330896: Initial worker pool +16:27:36,571 DEBUG [paste.httpserver.ThreadPool] Started new worker 139667417938192: Initial worker pool +16:27:38,779 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:27:38,782 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:27:38,783 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:27:38,837 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:27:38,838 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:27:38,838 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:27:38,838 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:27:38,838 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266334058.8388679, '_creation_time': 1266334058.8388679}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f06e3d251c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:48:51,006 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:48:51,019 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:48:51,019 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:48:51,019 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:48:51,019 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:48:51,019 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:48:51,020 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335331.0203431, '_creation_time': 1266335331.0203431}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f06e3d251c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:55:00,290 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:55:00,290 DEBUG [pylons.configuration] Pushing process configuration +16:55:00,294 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 +16:55:00,294 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:55:00,298 DEBUG [pylons.templating] Initialized Buffet object +16:55:00,298 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:55:00,305 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304879196432: Initial worker pool +16:55:00,306 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304870803728: Initial worker pool +16:55:00,306 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304862411024: Initial worker pool +16:55:00,307 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304854018320: Initial worker pool +16:55:00,307 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304845625616: Initial worker pool +16:55:00,307 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304837232912: Initial worker pool +16:55:00,308 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304828840208: Initial worker pool +16:55:00,308 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304820447504: Initial worker pool +16:55:00,308 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304812054800: Initial worker pool +16:55:00,309 DEBUG [paste.httpserver.ThreadPool] Started new worker 140304803662096: Initial worker pool +16:55:15,006 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:55:15,009 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:55:15,011 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:55:15,064 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:55:15,064 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:55:15,064 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:55:15,064 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:55:15,064 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335715.064996, '_creation_time': 1266335715.064996}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f9b4af8a1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:55:15,065 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +16:55:15,065 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:55:25,620 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:55:25,622 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:55:25,623 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:55:25,623 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:55:25,623 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:55:25,623 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:55:25,623 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335725.624068, '_creation_time': 1266335715.064996}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f9b4af8a1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:55:25,624 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +16:55:25,624 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:55:26,473 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:55:26,480 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:55:26,480 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:55:26,480 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:55:26,480 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:55:26,480 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:55:26,481 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335726.481324, '_creation_time': 1266335715.064996}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f9b4af8a1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:55:26,481 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +16:55:26,481 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:55:31,497 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:55:31,500 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:55:31,502 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:55:31,502 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:55:31,502 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:55:31,503 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:55:31,503 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335731.50438, '_creation_time': 1266335715.064996}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f9b4af8a1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:55:31,505 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +16:55:31,505 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:56:15,339 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:56:15,339 DEBUG [pylons.configuration] Pushing process configuration +16:56:15,343 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 +16:56:15,343 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:56:15,347 DEBUG [pylons.templating] Initialized Buffet object +16:56:15,347 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:56:15,355 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126135531792: Initial worker pool +16:56:15,355 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126127139088: Initial worker pool +16:56:15,356 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126118746384: Initial worker pool +16:56:15,356 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126110353680: Initial worker pool +16:56:15,357 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126101960976: Initial worker pool +16:56:15,357 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126093568272: Initial worker pool +16:56:15,357 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126085175568: Initial worker pool +16:56:15,358 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126076782864: Initial worker pool +16:56:15,358 DEBUG [paste.httpserver.ThreadPool] Started new worker 140126068390160: Initial worker pool +16:56:15,358 DEBUG [paste.httpserver.ThreadPool] Started new worker 140125992384784: Initial worker pool +16:56:19,579 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:56:19,582 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:56:19,583 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:56:19,640 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +16:56:19,640 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:56:19,640 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:56:19,640 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:56:19,641 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335779.6414261, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:56:20,538 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:56:20,568 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:56:20,643 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:56:20,645 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:56:20,645 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:56:20,646 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:56:20,646 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:56:20,646 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:56:20,646 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335780.6467869, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:56:21,553 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:56:21,554 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:56:23,685 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:56:23,689 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:56:23,690 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:56:23,690 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:56:23,691 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:56:23,691 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:56:23,691 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335783.6925819, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:56:24,656 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:56:24,657 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:13,930 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:13,932 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:13,932 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:13,932 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:13,932 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:13,933 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:13,933 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335833.93343, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:14,835 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:14,843 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:14,886 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:14,887 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:14,887 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:14,887 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:14,887 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:14,887 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:14,888 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335834.888319, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:15,752 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:15,759 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:17,951 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:17,953 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:17,954 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:17,954 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:17,954 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:17,954 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:17,954 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335837.954812, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:18,821 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:18,821 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:18,822 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:18,823 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:18,824 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:18,824 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:18,824 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:18,824 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:18,824 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335838.8251181, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:19,704 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:19,788 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:19,837 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:19,838 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:19,839 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:19,839 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:19,839 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:19,839 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:19,839 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/shortlog', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335839.8400109, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:20,724 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:20,725 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:57:22,893 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +16:57:22,896 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +16:57:22,897 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +16:57:22,898 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +16:57:22,898 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +16:57:22,898 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +16:57:22,899 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266335842.899967, '_creation_time': 1266335779.6414261}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f71ad04c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +16:57:23,790 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +16:57:23,791 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +16:59:47,863 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +16:59:47,863 DEBUG [pylons.configuration] Pushing process configuration +16:59:47,867 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 +16:59:47,868 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +16:59:47,871 DEBUG [pylons.templating] Initialized Buffet object +16:59:47,871 DEBUG [pylons.templating] Adding mako template language for use with Buffet +16:59:47,879 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553902377232: Initial worker pool +16:59:47,879 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553893984528: Initial worker pool +16:59:47,879 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553885591824: Initial worker pool +16:59:47,880 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553877199120: Initial worker pool +16:59:47,880 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553868806416: Initial worker pool +16:59:47,880 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553860413712: Initial worker pool +16:59:47,880 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553852021008: Initial worker pool +16:59:47,881 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553843628304: Initial worker pool +16:59:47,881 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553835235600: Initial worker pool +16:59:47,881 DEBUG [paste.httpserver.ThreadPool] Started new worker 140553826842896: Initial worker pool +17:06:29,268 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:06:29,274 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:06:29,275 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:06:29,327 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:06:29,327 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:06:29,328 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:06:29,328 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:06:29,328 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336389.3285661, '_creation_time': 1266336389.3285661}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7fd545e8d1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:06:29,328 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:06:29,329 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:07:32,785 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:07:32,785 DEBUG [pylons.configuration] Pushing process configuration +17:07:32,788 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 +17:07:32,789 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:07:32,792 DEBUG [pylons.templating] Initialized Buffet object +17:07:32,792 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:07:32,801 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113934706960: Initial worker pool +17:07:32,801 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113926314256: Initial worker pool +17:07:32,801 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113917921552: Initial worker pool +17:07:32,802 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113909528848: Initial worker pool +17:07:32,802 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113901136144: Initial worker pool +17:07:32,802 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113892743440: Initial worker pool +17:07:32,802 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113884350736: Initial worker pool +17:07:32,803 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113875958032: Initial worker pool +17:07:32,803 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113867565328: Initial worker pool +17:07:32,804 DEBUG [paste.httpserver.ThreadPool] Started new worker 140113859172624: Initial worker pool +17:07:40,107 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:07:40,110 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:07:40,111 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:07:40,162 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:07:40,162 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:07:40,162 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:07:40,162 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:07:40,162 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336460.163064, '_creation_time': 1266336460.163064}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6ed5caf1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:07:41,095 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:07:41,095 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:07:41,096 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:07:42,986 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:07:42,988 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:07:42,989 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:07:42,989 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:07:42,989 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:07:42,989 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:07:42,989 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336462.989825, '_creation_time': 1266336460.163064}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6ed5caf1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:07:43,868 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:07:43,868 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:07:43,868 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:07:52,857 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:07:52,857 DEBUG [pylons.configuration] Pushing process configuration +17:07:52,861 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 +17:07:52,861 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:07:52,865 DEBUG [pylons.templating] Initialized Buffet object +17:07:52,865 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:07:52,873 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803320662288: Initial worker pool +17:07:52,873 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803312269584: Initial worker pool +17:07:52,874 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803303876880: Initial worker pool +17:07:52,874 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803295484176: Initial worker pool +17:07:52,875 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803287091472: Initial worker pool +17:07:52,875 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803278698768: Initial worker pool +17:07:52,875 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803198748944: Initial worker pool +17:07:52,875 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803190356240: Initial worker pool +17:07:52,876 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803181963536: Initial worker pool +17:07:52,876 DEBUG [paste.httpserver.ThreadPool] Started new worker 139803173570832: Initial worker pool +17:07:54,352 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:07:54,360 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:07:54,365 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:07:54,441 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:07:54,441 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:07:54,442 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:07:54,442 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:07:54,442 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336474.4426711, '_creation_time': 1266336474.4426711}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2683c0c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:07:55,316 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:07:55,316 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:07:57,992 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:07:57,996 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:07:57,996 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:07:57,996 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:07:57,996 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:07:57,997 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:07:57,997 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336477.9974439, '_creation_time': 1266336474.4426711}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f2683c0c1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:07:58,906 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:07:58,906 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:26,496 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:11:26,496 DEBUG [pylons.configuration] Pushing process configuration +17:11:26,500 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 +17:11:26,500 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:11:26,503 DEBUG [pylons.templating] Initialized Buffet object +17:11:26,504 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:11:26,512 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287422282000: Initial worker pool +17:11:26,512 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287413889296: Initial worker pool +17:11:26,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287405496592: Initial worker pool +17:11:26,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287397103888: Initial worker pool +17:11:26,513 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287388711184: Initial worker pool +17:11:26,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287380318480: Initial worker pool +17:11:26,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287371925776: Initial worker pool +17:11:26,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287363533072: Initial worker pool +17:11:26,514 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287355140368: Initial worker pool +17:11:26,515 DEBUG [paste.httpserver.ThreadPool] Started new worker 140287346747664: Initial worker pool +17:11:27,788 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:27,792 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:27,794 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:27,847 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:11:27,848 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:27,848 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:27,848 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:27,848 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336687.8487141, '_creation_time': 1266336687.8487141}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f973e8bf1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:27,851 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 OK +17:11:27,851 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:35,000 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:11:35,001 DEBUG [pylons.configuration] Pushing process configuration +17:11:35,004 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 +17:11:35,004 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:11:35,008 DEBUG [pylons.templating] Initialized Buffet object +17:11:35,008 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:11:35,017 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872331503888: Initial worker pool +17:11:35,017 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872323111184: Initial worker pool +17:11:35,017 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872314718480: Initial worker pool +17:11:35,018 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872306325776: Initial worker pool +17:11:35,018 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872297933072: Initial worker pool +17:11:35,019 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872289540368: Initial worker pool +17:11:35,019 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872281147664: Initial worker pool +17:11:35,019 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872272754960: Initial worker pool +17:11:35,020 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872264362256: Initial worker pool +17:11:35,020 DEBUG [paste.httpserver.ThreadPool] Started new worker 139872255969552: Initial worker pool +17:11:35,563 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:35,573 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:35,574 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:35,638 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:11:35,639 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:35,639 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:35,639 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:35,639 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/czy_jest_spotkanie/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/czy_jest_spotkanie/shortlog', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'czy_jest_spotkanie/shortlog'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336695.6398399, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:35,708 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 404 Not Found +17:11:35,733 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:35,735 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:35,736 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'error' +17:11:35,737 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.error', class: 'ErrorController' +17:11:35,738 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:35,738 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:35,738 DEBUG [pylons.controllers.core] Looking for u'document' method to handle the request +17:11:35,739 DEBUG [pylons.controllers.core] Calling 'document' method with keyword args: **{} +17:11:35,740 DEBUG [pylons.templating] Created render namespace with pylons vars: {'c': , 'ungettext': , 'g': , 'url': , 'h': , 'request': , 'tmpl_context': , 'translator': , 'session': {'_accessed_time': 1266336695.740916, '_creation_time': 1266336695.6398399}, 'N_': , 'app_globals': , 'config': {'error_email_from': 'paste_error@localhost', 'beaker.session.auto': 'True', 'pylons.paths': {'templates': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'controllers': '/home/marcink/python_workspace/hg_app/pylons_app/controllers', 'static_files': '/home/marcink/python_workspace/hg_app/pylons_app/public', 'root': '/home/marcink/python_workspace/hg_app/pylons_app'}, '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'pylons.cache_dir': '/home/marcink/python_workspace/hg_app/data', 'pylons.errorware': {'debug': True}, 'here': '/home/marcink/python_workspace/hg_app', 'pylons.strict_c': False, 'logview.sqlalchemy': '#faa', 'email_to': 'marcin.kuzminski@etelko.pl', 'pylons.h': , 'pylons.package': 'pylons_app', 'buffet.template_options': {'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}, 'pylons.g': , 'logview.*': '#aaa', 'beaker.session.type': 'memory', 'lang': 'en', 'global_conf': {'error_email_from': 'paste_error@localhost', 'email_to': 'marcin.kuzminski@etelko.pl', 'debug': 'true', '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'smtp_server': 'localhost', 'here': '/home/marcink/python_workspace/hg_app'}, 'pylons.c_attach_args': True, 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'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}}], 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'cache.dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.timeout': '3600', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'smtp_server': 'localhost', 'routes.map': , 'app_conf': {'lang': 'en', 'beaker.session.auto': 'True', 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'beaker.session.timeout': '3600', 'logview.sqlalchemy': '#faa', 'cache_dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'logview.*': '#aaa', 'beaker.session.type': 'memory'}, 'beaker.cache.data_dir': '/home/marcink/python_workspace/hg_app/data/cache', 'debug': True, 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.data_dir': '/home/marcink/python_workspace/hg_app/data/sessions', 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}}, 'response': , '_': } +17:11:35,743 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +17:11:35,744 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +17:11:38,931 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:38,933 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:38,934 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:38,934 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:38,934 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:38,935 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:38,935 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336698.9354019, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:38,940 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:38,942 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:38,982 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:38,983 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:38,984 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:38,984 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:38,984 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:38,984 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:38,984 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336698.9852099, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:38,989 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:38,990 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:38,994 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:38,995 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:38,996 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:38,996 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:38,996 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:38,996 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:38,996 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336698.9969261, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:39,001 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:39,059 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:40,584 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:40,587 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:40,588 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:40,589 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:40,589 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:40,590 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:40,590 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336700.5911119, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:40,614 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:40,616 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:40,659 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:40,660 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:40,660 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:40,661 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:40,661 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:40,661 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:40,661 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336700.661763, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:40,666 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:40,666 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:40,683 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:40,684 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:40,685 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:40,685 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:40,685 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:40,685 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:40,685 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336700.6862409, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:40,692 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:40,692 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:41,232 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:41,249 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:41,251 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:41,251 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:41,251 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:41,252 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:41,252 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336701.2533231, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:41,266 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:41,268 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:41,331 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:41,332 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:41,332 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:41,333 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:41,333 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:41,333 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:41,333 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336701.333699, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:41,338 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:41,338 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:41,354 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:41,356 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:41,356 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:41,356 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:41,356 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:41,356 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:41,357 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336701.357245, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:41,361 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:41,361 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:42,000 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:42,002 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:42,002 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:42,002 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:42,003 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:42,003 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:42,003 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336702.003861, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:42,008 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:42,008 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:42,134 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:42,137 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:42,138 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:42,138 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:42,139 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:42,139 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:42,139 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336702.1405649, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:42,153 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:42,154 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:11:42,226 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:11:42,229 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:11:42,230 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:11:42,230 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:11:42,231 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:11:42,231 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:11:42,231 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336702.232604, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:11:42,246 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:11:42,247 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:54,166 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:54,168 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:54,213 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:54,214 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:54,214 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:54,215 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:54,215 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=name', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336774.216383, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:54,229 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:54,235 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:54,281 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:54,282 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:54,282 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:54,282 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:54,283 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:54,283 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:54,283 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336774.2835071, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:54,288 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:54,289 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:54,309 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:54,310 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:54,310 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:54,310 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:54,310 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:54,311 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:54,311 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336774.3114419, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:54,315 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:54,315 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:55,363 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:55,366 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:55,367 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:55,368 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:55,368 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:55,368 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:55,369 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336775.369911, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:55,377 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:55,379 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:55,418 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:55,419 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:55,419 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:55,419 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:55,419 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:55,420 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:55,420 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336775.4204309, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:55,424 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:55,424 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:55,506 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:55,507 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:55,507 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:55,507 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:55,507 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:55,508 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:55,508 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336775.5083981, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:55,512 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:55,512 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:56,572 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:56,575 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:56,576 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:56,577 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:56,577 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:56,577 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:56,578 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=contact', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336776.578922, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:56,589 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:56,591 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:56,642 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:56,643 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:56,644 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:56,644 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:56,644 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:56,644 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:56,644 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/style-paper.css', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-paper.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336776.6447279, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:56,649 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:56,649 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:56,677 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:56,679 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:56,679 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:56,679 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:56,679 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:56,679 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:56,680 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/static/hglogo.png', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hglogo.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336776.6803291, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'image/png,image/*;q=0.8,*/*;q=0.5', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:56,684 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:56,684 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:57,302 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:57,306 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:57,307 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:57,308 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:57,308 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:57,308 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:57,309 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336777.309978, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:57,322 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:57,323 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:57,544 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:57,546 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:57,548 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:57,548 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:57,548 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:57,549 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:57,549 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336777.5502779, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:57,563 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:57,564 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:12:57,652 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:12:57,655 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:12:57,656 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:12:57,657 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:12:57,657 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:12:57,658 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:12:57,658 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336777.6592081, '_creation_time': 1266336695.6398399}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f36951ea1c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:12:57,677 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:12:57,677 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:13:03,593 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:13:03,593 DEBUG [pylons.configuration] Pushing process configuration +17:13:03,597 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 +17:13:03,597 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:13:03,600 DEBUG [pylons.templating] Initialized Buffet object +17:13:03,600 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:13:03,608 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099389925648: Initial worker pool +17:13:03,609 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099381532944: Initial worker pool +17:13:03,609 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099373140240: Initial worker pool +17:13:03,609 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099364747536: Initial worker pool +17:13:03,610 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099356354832: Initial worker pool +17:13:03,610 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099347962128: Initial worker pool +17:13:03,610 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099339569424: Initial worker pool +17:13:03,610 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099331176720: Initial worker pool +17:13:03,611 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099322784016: Initial worker pool +17:13:03,611 DEBUG [paste.httpserver.ThreadPool] Started new worker 140099314391312: Initial worker pool +17:14:38,012 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:38,015 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:38,017 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:38,072 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:14:38,073 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:38,073 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:38,073 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:38,073 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=contact', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336878.073858, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:38,962 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:38,990 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:14:39,052 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:39,054 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:39,054 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:39,054 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:39,055 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:39,055 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:39,055 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336879.0556369, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:39,944 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:39,944 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:14:42,104 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:42,108 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:42,109 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:42,109 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:42,110 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:42,110 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:42,111 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336882.1118979, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:43,076 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:43,076 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:14:48,212 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:48,216 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:48,217 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:48,218 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:48,218 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:48,218 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:48,219 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=contact', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336888.2199931, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:49,090 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:49,115 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:14:49,159 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:49,160 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:49,160 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:49,161 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:49,161 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:49,161 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:49,161 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336889.161721, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:50,031 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:50,032 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:14:52,169 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:14:52,172 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:14:52,174 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:14:52,174 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:14:52,174 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:14:52,175 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:14:52,175 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336892.1764431, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:14:53,081 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:14:53,081 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:00,052 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:00,054 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:00,054 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:00,054 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:00,055 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:00,055 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:00,055 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=contact', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336900.055594, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:00,956 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:00,981 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:01,021 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:01,022 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:01,023 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:01,023 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:01,023 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:01,023 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:01,023 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336901.0242, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:01,900 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:01,900 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:04,050 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:04,054 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:04,055 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:04,056 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:04,056 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:04,057 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:04,057 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336904.05828, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:04,942 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:04,943 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:15,225 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:15,226 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:15,227 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:15,227 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:15,227 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:15,227 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:15,227 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=contact', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336915.228091, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:15,233 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:15,235 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:15,290 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:15,291 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:15,291 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:15,292 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:15,292 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:15,292 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:15,292 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=contact', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336915.2925961, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:15,308 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:15,308 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:18,303 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:18,304 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:18,304 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:18,304 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:18,304 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:18,304 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:18,305 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336918.3052471, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:18,310 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:18,310 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:25,966 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:25,969 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:25,970 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:25,970 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:25,971 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:25,971 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:25,971 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336925.972549, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:25,989 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:25,990 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:27,345 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:27,348 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:27,350 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:27,350 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:27,350 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:27,351 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:27,351 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336927.352319, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:27,368 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:27,370 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:27,477 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:27,483 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:27,485 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:27,485 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:27,485 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:27,486 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:27,486 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336927.488977, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:27,505 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:27,506 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:30,518 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:30,519 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:30,520 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:30,520 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:30,520 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:30,520 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:30,520 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336930.5210569, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:30,933 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:30,933 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:31,530 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:31,531 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:31,531 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:31,531 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:31,532 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:31,532 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:31,532 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336931.5325451, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:31,926 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:31,949 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:31,986 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:31,987 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:31,988 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:31,988 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:31,988 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:31,988 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:31,988 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336931.9891641, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:32,365 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:32,365 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:35,003 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:35,008 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:35,009 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:35,010 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:35,010 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:35,011 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:35,011 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336935.012126, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:35,553 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:35,553 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:41,903 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:41,907 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:41,908 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:41,908 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:41,908 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:41,908 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:41,909 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336941.909447, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:42,302 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:42,325 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:42,364 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:42,365 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:42,366 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:42,366 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:42,366 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:42,366 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:42,366 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336942.3672259, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:42,746 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:42,747 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:45,374 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:45,376 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:45,378 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:45,378 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:45,378 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:45,379 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:45,379 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336945.3803861, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:45,783 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:45,784 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:50,931 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:50,932 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:50,933 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:50,933 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:50,933 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:50,933 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:50,933 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336950.9339981, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:50,955 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:50,957 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:50,998 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:50,999 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:50,999 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:50,999 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:50,999 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:50,999 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:51,000 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336951.000335, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:51,005 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:51,005 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:51,834 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:51,836 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:51,837 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:51,837 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:51,837 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:51,837 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:51,837 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336951.838212, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:51,844 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:51,846 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:51,885 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:51,887 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:51,887 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:51,887 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:51,887 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:51,887 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:51,887 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336951.888135, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:51,893 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:51,893 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:54,900 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:54,901 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:54,901 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:54,901 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:54,902 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:54,902 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:54,902 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336954.9026029, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:54,908 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:54,908 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:55,030 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:55,033 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:55,034 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:55,034 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:55,035 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:55,035 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:55,035 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336955.0366199, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:55,049 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:55,049 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:56,530 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:56,532 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:56,532 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:56,532 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:56,532 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:56,532 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:56,533 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=name', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': u'/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': 'sort=description', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336956.5333021, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:57,406 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:57,431 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:15:57,478 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:15:57,479 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:15:57,480 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:15:57,480 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:15:57,480 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:15:57,480 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:15:57,480 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336957.481108, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:15:58,358 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:15:58,358 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:16:00,569 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:16:00,581 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:16:00,582 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:16:00,582 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:16:00,582 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:16:00,582 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:16:00,582 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266336960.5827439, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:16:01,702 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:16:01,702 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:34,186 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:34,197 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:34,198 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:34,198 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:34,198 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:34,198 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:34,198 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/?sort=description', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337054.1990769, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:35,114 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:35,126 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:35,230 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:35,235 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:35,236 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:35,236 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:35,236 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:35,236 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:35,236 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337055.237149, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:36,149 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:36,150 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:38,273 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:38,274 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:38,276 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:38,276 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:38,276 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:38,277 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:38,277 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337058.2784159, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:38,427 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:38,431 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:38,433 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:38,434 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:38,434 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:38,434 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:38,435 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/file/eaa67bb2bee0', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337058.435406, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:39,258 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:39,259 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:40,143 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:40,205 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:40,251 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:40,259 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:40,259 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:40,259 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:40,259 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:40,259 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:40,260 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337060.2603531, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:41,135 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:41,135 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:43,287 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:43,290 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:43,292 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:43,292 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:43,292 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:43,293 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:43,293 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/files'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/file/eaa67bb2bee0/files', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/files'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337063.2945299, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:43,298 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:43,344 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:43,344 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:43,345 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:43,345 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:43,345 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:43,345 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337063.345942, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:45,039 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:45,260 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:45,260 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:46,010 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:46,051 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:46,052 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:46,053 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:46,053 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:46,053 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:46,053 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:46,053 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0/files', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337066.0538859, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:46,933 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:46,933 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:49,003 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:49,008 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:49,009 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:49,010 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:49,010 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:49,010 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:49,011 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/src'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/file/eaa67bb2bee0/src', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/src'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337069.0113289, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:49,058 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:49,060 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:49,060 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:49,060 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:49,061 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:49,061 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:49,061 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337069.0618701, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:50,516 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:50,884 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:50,884 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:51,021 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:51,022 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:51,023 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:51,023 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:51,023 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:51,023 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:51,023 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337071.0238149, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:51,068 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:51,127 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:51,128 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:51,128 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:51,128 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:51,128 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:51,128 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:51,129 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0/src', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337071.129333, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:52,570 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:52,570 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:52,878 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:52,878 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:54,172 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:54,224 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:54,225 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:54,225 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:54,226 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:54,226 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:54,226 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337074.227577, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:54,813 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:54,818 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:54,822 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:54,822 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:54,822 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:54,824 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:54,824 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0/src', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/src/file_creator_123b.py'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/file/eaa67bb2bee0/src/file_creator_123b.py', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/file/eaa67bb2bee0/src/file_creator_123b.py'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337074.8247769, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:55,749 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:55,749 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:56,296 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:56,321 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:56,359 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:56,362 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:56,362 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:56,362 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:56,362 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:56,362 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:56,363 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0/src/file_creator_123b.py', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337076.363317, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:56,395 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:56,397 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:56,397 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:56,397 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:56,397 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:56,397 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:56,398 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_REFERER': 'http://127.0.0.1:5000/zte_tail/file/eaa67bb2bee0/src/file_creator_123b.py', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/highlightcss'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/zte_tail/highlightcss', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'zte_tail/highlightcss'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337076.398298, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:17:57,979 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:57,979 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:58,224 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:17:58,227 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:17:59,391 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:17:59,439 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:17:59,441 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:17:59,441 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:17:59,441 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:17:59,442 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:17:59,442 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337079.4434049, '_creation_time': 1266336878.073858}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f6b72db31c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:18:00,369 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:18:00,369 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:21:28,567 DEBUG [pylons.configuration] Initializing configuration, package: 'pylons_app' +17:21:28,568 DEBUG [pylons.configuration] Pushing process configuration +17:21:28,571 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 +17:21:28,571 DEBUG [pylons.configuration] Loaded mako template engine as the default template renderer +17:21:28,575 DEBUG [pylons.templating] Initialized Buffet object +17:21:28,575 DEBUG [pylons.templating] Adding mako template language for use with Buffet +17:21:28,584 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258597800208: Initial worker pool +17:21:28,585 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258589407504: Initial worker pool +17:21:28,585 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258581014800: Initial worker pool +17:21:28,585 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258572622096: Initial worker pool +17:21:28,586 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258564229392: Initial worker pool +17:21:28,586 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258555836688: Initial worker pool +17:21:28,586 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258547443984: Initial worker pool +17:21:28,586 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258539051280: Initial worker pool +17:21:28,587 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258530658576: Initial worker pool +17:21:28,587 DEBUG [paste.httpserver.ThreadPool] Started new worker 140258522265872: Initial worker pool +17:21:46,517 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:21:46,519 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:21:46,521 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:21:46,574 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.hg', class: 'HgController' +17:21:46,574 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:21:46,574 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:21:46,574 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:21:46,575 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': '\\'}, 'beaker.get_session': >, 'SCRIPT_NAME': '', 'webob.adhoc_attrs': {'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/\\', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'paste.throw_errors': True, 'pylons.action_method': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': '\\'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337306.575387, '_creation_time': 1266337306.575387}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f90846291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:21:47,485 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 404 Not Found +17:21:47,564 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:21:47,565 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:21:47,565 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'error' +17:21:47,565 DEBUG [pylons.wsgiapp] Found controller, module: 'pylons_app.controllers.error', class: 'ErrorController' +17:21:47,565 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:21:47,566 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:21:47,566 DEBUG [pylons.controllers.core] Looking for u'document' method to handle the request +17:21:47,566 DEBUG [pylons.controllers.core] Calling 'document' method with keyword args: **{} +17:21:47,566 DEBUG [pylons.templating] Created render namespace with pylons vars: {'c': , 'ungettext': , 'g': , 'url': , 'h': , 'request': , 'tmpl_context': , 'translator': , 'session': {'_accessed_time': 1266337307.566829, '_creation_time': 1266337306.575387}, 'N_': , 'app_globals': , 'config': {'error_email_from': 'paste_error@localhost', 'beaker.session.auto': 'True', 'pylons.paths': {'templates': ['/home/marcink/python_workspace/hg_app/pylons_app/templates'], 'controllers': '/home/marcink/python_workspace/hg_app/pylons_app/controllers', 'static_files': '/home/marcink/python_workspace/hg_app/pylons_app/public', 'root': '/home/marcink/python_workspace/hg_app/pylons_app'}, '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'pylons.cache_dir': '/home/marcink/python_workspace/hg_app/data', 'pylons.errorware': {'debug': True}, 'here': '/home/marcink/python_workspace/hg_app', 'pylons.strict_c': False, 'logview.sqlalchemy': '#faa', 'email_to': 'marcin.kuzminski@etelko.pl', 'pylons.h': , 'pylons.package': 'pylons_app', 'buffet.template_options': {'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}, 'pylons.g': , 'logview.*': '#aaa', 'beaker.session.type': 'memory', 'lang': 'en', 'global_conf': {'error_email_from': 'paste_error@localhost', 'email_to': 'marcin.kuzminski@etelko.pl', 'debug': 'true', '__file__': '/home/marcink/python_workspace/hg_app/development.ini', 'smtp_server': 'localhost', 'here': '/home/marcink/python_workspace/hg_app'}, 'pylons.c_attach_args': True, 'buffet.template_engines': [{'engine': 'mako', 'alias': None, 'template_root': '', 'template_options': {'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}}], 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'cache.dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.timeout': '3600', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.request_options': {'errors': 'replace', 'decode_param_names': False, 'charset': 'utf-8', 'language': 'en-us'}, 'pylons.db_engines': {}, 'smtp_server': 'localhost', 'routes.map': , 'app_conf': {'lang': 'en', 'beaker.session.auto': 'True', 'logview.pylons.templating': '#bfb', 'package': 'pylons_app', 'beaker.session.timeout': '3600', 'logview.sqlalchemy': '#faa', 'cache_dir': '/home/marcink/python_workspace/hg_app/data', 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'logview.*': '#aaa', 'beaker.session.type': 'memory'}, 'beaker.cache.data_dir': '/home/marcink/python_workspace/hg_app/data/cache', 'debug': True, 'beaker.session.key': 'pylons_app', 'beaker.session.secret': '#@^^F&VWUDCT%@$#WR^@&*IWEKF', 'beaker.session.data_dir': '/home/marcink/python_workspace/hg_app/data/sessions', 'pylons.response_options': {'headers': {'Pragma': 'no-cache', 'Cache-Control': 'no-cache'}, 'errors': 'strict', 'charset': 'utf-8', 'content_type': 'text/html'}}, 'response': , '_': } +17:21:47,567 DEBUG [pylons.controllers.core] Controller returned a unicode string , writing it to pylons.response +17:21:47,568 DEBUG [pylons.controllers.core] Calling Response object to return WSGI data +17:21:52,705 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:21:52,711 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:21:52,712 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:21:52,713 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:21:52,713 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:21:52,713 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:21:52,714 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': u'/'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': u'/'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337312.7149711, '_creation_time': 1266337306.575387}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f90846291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:21:53,624 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:21:53,648 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:21:53,688 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:21:53,689 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:21:53,690 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:21:53,690 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:21:53,690 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:21:53,690 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:21:53,690 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , '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': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'beaker.cache': , 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/style-gitweb.css'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337313.6909239, '_creation_time': 1266337306.575387}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/css,*/*;q=0.1', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f90846291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:21:54,582 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:21:54,583 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched +17:21:56,701 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks queued) +17:21:56,705 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object globals +17:21:56,706 DEBUG [pylons.wsgiapp] Resolved URL to controller: u'hg' +17:21:56,706 DEBUG [pylons.wsgiapp] Controller appears to be a class, instantiating +17:21:56,707 DEBUG [pylons.wsgiapp] Calling controller class with WSGI interface +17:21:56,707 DEBUG [pylons.controllers.core] Looking for u'view' method to handle the request +17:21:56,708 DEBUG [pylons.controllers.core] Calling 'view' method with keyword args: **{'start_response': , 'environ': {'routes.route': , 'HTTP_COOKIE': 'pylons_app=dc978ac3d8310b7331343eb2744a0b696f544612d08f13a0624d036cff94c88a7239f3eb', 'pylons.routes_dict': {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}, 'beaker.get_session': >, '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': >, '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/20100213 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre', 'HTTP_CONNECTION': 'keep-alive', 'beaker.cache': , 'SERVER_NAME': '127.0.0.1', 'REMOTE_ADDR': '127.0.0.1', 'pylons.environ_config': {'session': 'beaker.session', 'cache': 'beaker.cache'}, 'pylons.pylons': , 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args': (, {'action': u'view', 'controller': u'hg', 'path_info': 'static/hgicon.png'}), 'SERVER_PORT': '5000', 'weberror.evalexception': , 'pylons.controller': , 'paste.evalexception': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'beaker.session': {'_accessed_time': 1266337316.7088051, '_creation_time': 1266337306.575387}, 'wsgi.multithread': True, 'routes.url': , 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'paste.registry': , 'wsgi.run_once': False, 'wsgi.errors': ', mode 'w' at 0x7f90846291c8>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'CONTENT_TYPE': '', 'paste.httpserver.thread_pool': , 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_KEEP_ALIVE': '115'}} +17:21:57,600 DEBUG [pylons.controllers.core] Merging pylons.response headers into start_response call, status: 200 Script output follows +17:21:57,600 DEBUG [pylons.controllers.core] Response assumed to be WSGI content, returning un-touched diff --git a/pylons_app/__init__.py b/pylons_app/__init__.py new file mode 100644 diff --git a/pylons_app/config/__init__.py b/pylons_app/config/__init__.py new file mode 100644 diff --git a/pylons_app/config/deployment.ini_tmpl b/pylons_app/config/deployment.ini_tmpl new file mode 100644 --- /dev/null +++ b/pylons_app/config/deployment.ini_tmpl @@ -0,0 +1,60 @@ +# +# pylons_app - Pylons configuration +# +# The %(here)s variable will be replaced with the parent directory of this file +# +[DEFAULT] +debug = true +email_to = you@yourdomain.com +smtp_server = localhost +error_email_from = paste@localhost + +[server:main] +use = egg:Paste#http +host = 0.0.0.0 +port = 5000 + +[app:main] +use = egg:pylons_app +full_stack = true +static_files = true + +cache_dir = %(here)s/data +beaker.session.key = pylons_app +beaker.session.secret = ${app_instance_secret} +app_instance_uuid = ${app_instance_uuid} + +# If you'd like to fine-tune the individual locations of the cache data dirs +# for the Cache data, or the Session saves, un-comment the desired settings +# here: +#beaker.cache.data_dir = %(here)s/data/cache +#beaker.session.data_dir = %(here)s/data/sessions + +# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* +# Debug mode will enable the interactive debugging tool, allowing ANYONE to +# execute malicious code after an exception is raised. +set debug = false + + +# Logging configuration +[loggers] +keys = root + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = INFO +handlers = console + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(asctime)s %(levelname)-5.5s [%(name)s] %(message)s diff --git a/pylons_app/config/environment.py b/pylons_app/config/environment.py new file mode 100644 --- /dev/null +++ b/pylons_app/config/environment.py @@ -0,0 +1,44 @@ +"""Pylons environment configuration""" +import logging +import os +from pylons import config +from mako.lookup import TemplateLookup +from pylons.error import handle_mako_error +import pylons_app.lib.app_globals as app_globals +import pylons_app.lib.helpers +from pylons_app.config.routing import make_map + +log = logging.getLogger(__name__) + +def load_environment(global_conf, app_conf): + """Configure the Pylons environment via the ``pylons.config`` + object + """ + # Pylons paths + root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + paths = dict(root = root, + controllers = os.path.join(root, 'controllers'), + static_files = os.path.join(root, 'public'), + templates = [os.path.join(root, 'templates')]) + + # Initialize config with the basic options + config.init_app(global_conf, app_conf, package = 'pylons_app', + template_engine = 'mako', paths = paths) + + config['routes.map'] = make_map() + config['pylons.g'] = app_globals.Globals() + config['pylons.h'] = pylons_app.lib.helpers + + # Create the Mako TemplateLookup, with the default auto-escaping + config['pylons.g'].mako_lookup = TemplateLookup( + directories = paths['templates'], + error_handler = handle_mako_error, + module_directory = os.path.join(app_conf['cache_dir'], 'templates'), + input_encoding = 'utf-8', default_filters = ['escape'], + imports = ['from webhelpers.html import escape']) + + # Customize templating options via this variable + tmpl_options = config['buffet.template_options'] + + # CONFIGURATION OPTIONS HERE (note: all config options will override + # any Pylons config options) diff --git a/pylons_app/config/middleware.py b/pylons_app/config/middleware.py new file mode 100644 --- /dev/null +++ b/pylons_app/config/middleware.py @@ -0,0 +1,74 @@ +"""Pylons middleware initialization""" +from beaker.middleware import CacheMiddleware, SessionMiddleware +from paste.cascade import Cascade +from paste.registry import RegistryManager +from paste.urlparser import StaticURLParser +from paste.deploy.converters import asbool +from pylons import config +from pylons.middleware import ErrorHandler, StatusCodeRedirect +from pylons.wsgiapp import PylonsApp +from routes.middleware import RoutesMiddleware + +from pylons_app.config.environment import load_environment + +def make_app(global_conf, full_stack = True, static_files = True, **app_conf): + """Create a Pylons WSGI application and return it + + ``global_conf`` + The inherited configuration for this application. Normally from + the [DEFAULT] section of the Paste ini file. + + ``full_stack`` + Whether this application provides a full WSGI stack (by default, + meaning it handles its own exceptions and errors). Disable + full_stack when this application is "managed" by another WSGI + middleware. + + ``static_files`` + Whether this application serves its own static files; disable + when another web server is responsible for serving them. + + ``app_conf`` + The application's local configuration. Normally specified in + the [app:] section of the Paste ini file (where + defaults to main). + + """ + # Configure the Pylons environment + load_environment(global_conf, app_conf) + + # The Pylons WSGI app + app = PylonsApp() + + # Routing/Session/Cache Middleware + app = RoutesMiddleware(app, config['routes.map']) + app = SessionMiddleware(app, config) + app = CacheMiddleware(app, config) + + # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) + + if asbool(full_stack): + # Handle Python exceptions + app = ErrorHandler(app, global_conf, **config['pylons.errorware']) + + # Display error documents for 401, 403, 404 status codes (and + # 500 when debug is disabled) + if asbool(config['debug']): + app = StatusCodeRedirect(app) + else: + app = StatusCodeRedirect(app, [400, 401, 403, 404, 500]) + + # Establish the Registry for this application + app = RegistryManager(app) + + if asbool(static_files): + # Serve static files + static_app = StaticURLParser(config['pylons.paths']['static_files']) + app = Cascade([static_app, app]) + + #dozer debug + if asbool(config['debug']): + from dozer import Logview + app = Logview(app, config) + + return app diff --git a/pylons_app/config/routing.py b/pylons_app/config/routing.py new file mode 100644 --- /dev/null +++ b/pylons_app/config/routing.py @@ -0,0 +1,25 @@ +"""Routes configuration + +The more specific and detailed routes should be defined first so they +may take precedent over the more generic routes. For more information +refer to the routes manual at http://routes.groovie.org/docs/ +""" +from pylons import config +from routes import Mapper + +def make_map(): + """Create, configure and return the routes Mapper""" + map = Mapper(directory = config['pylons.paths']['controllers'], + always_scan = config['debug']) + map.minimization = False + + # The ErrorController route (handles 404/500 error pages); it should + # likely stay at the top, ensuring it can always be resolved + map.connect('/error/{action}', controller = 'error') + map.connect('/error/{action}/{id}', controller = 'error') + + # CUSTOM ROUTES HERE + map.connect('hg', '/{path_info:.*}', controller = 'hg', action = "view", + path_info = '/', conditions = {'method':'GET'}) + + return map diff --git a/pylons_app/controllers/__init__.py b/pylons_app/controllers/__init__.py new file mode 100644 diff --git a/pylons_app/controllers/error.py b/pylons_app/controllers/error.py new file mode 100644 --- /dev/null +++ b/pylons_app/controllers/error.py @@ -0,0 +1,62 @@ +import logging +from paste.urlparser import PkgResourcesParser +from pylons import request, tmpl_context as c +from pylons.controllers.util import forward +from pylons.i18n.translation import _ +from pylons_app.lib.base import BaseController, render +import cgi + +log = logging.getLogger(__name__) +class ErrorController(BaseController): + """ + Generates error documents as and when they are required. + + The ErrorDocuments middleware forwards to ErrorController when error + related status codes are returned from the application. + + This behaviour can be altered by changing the parameters to the + ErrorDocuments middleware in your config/middleware.py file. + """ + + def document(self): + + resp = request.environ.get('pylons.original_response') + c.error_message = cgi.escape(request.GET.get('code', str(resp.status))) + c.error_explanation = self.get_error_explanation(resp.status_int) + + c.serv_p = ''.join(['http://', request.environ.get('HTTP_HOST', '')]) + + #redirect to when error with given seconds + c.redirect_time = 5 + c.redirect_module = _('Home page')# name to what your going to be redirected + c.url_redirect = "/" + + return render('/errors/error_document.html') + + def _serve_file(self, path): + """Call Paste's FileApp (a WSGI application) to serve the file + at the specified path + """ + request.environ['PATH_INFO'] = '/%s' % path + return forward(PkgResourcesParser('pylons', 'pylons')) + + def get_error_explanation(self, code): + ''' get the error explanations of int codes + [400, 401, 403, 404, 500]''' + try: + code = int(code) + except: + code = 500 + + if code == 400: + return _('The request could not be understood by the server due to malformed syntax.') + if code == 401: + return _('Unathorized access to resource') + if code == 403: + return _("You don't have permission to view this page") + if code == 404: + return _('The resource could not be found') + if code == 500: + return _('The server encountered an unexpected condition which prevented it from fulfilling the request.') + + diff --git a/pylons_app/controllers/hg.py b/pylons_app/controllers/hg.py new file mode 100644 --- /dev/null +++ b/pylons_app/controllers/hg.py @@ -0,0 +1,61 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +import logging +from pylons_app.lib.base import BaseController +from pylons import c, g, session, h, request +from mako.template import Template +from pprint import pprint +#uncomment the following if you want to serve a single repo +#from mercurial.hgweb.hgweb_mod import hgweb +from mercurial.hgweb.hgwebdir_mod import hgwebdir +from mercurial.hgweb.request import wsgiapplication +log = logging.getLogger(__name__) + +#http://bel-epa.com/hg/ +#def make_web_app(): +# repos = "hgwebdir.config" +# hgwebapp = hgwebdir(repos) +# return hgwebapp +# +#class HgController(BaseController): +# +# def index(self): +# hgapp = wsgiapplication(make_web_app) +# return hgapp(request.environ, self.start_response) +# +# def view(self, *args, **kwargs): +# return u'dupa' +# #pprint(request.environ) +# hgapp = wsgiapplication(make_web_app) +# return hgapp(request.environ, self.start_response) + +def _make_app(): + #for single a repo + #return hgweb("/path/to/repo", "Name") + repos = "hgwebdir.config" + return hgwebdir(repos) + +def wsgi_app(environ, start_response): + start_response('200 OK', [('Content-type', 'text/html')]) + return ['\n\nHello World!\n\n'] + +class HgController(BaseController): + + + + def view(self, environ, start_response): + #the following is only needed when using hgwebdir + app = _make_app() + #return wsgi_app(environ, start_response) + response = app(request.environ, self.start_response) + + if environ['PATH_INFO'].find("static") != -1: + return response + else: + #wrap the murcurial response in a mako template. + template = Template("".join(response), + lookup = environ['pylons.pylons']\ + .config['pylons.g'].mako_lookup) + + return template.render(g = g, c = c, session = session, h = h) + diff --git a/pylons_app/dbmodel/__init__.py b/pylons_app/dbmodel/__init__.py new file mode 100644 --- /dev/null +++ b/pylons_app/dbmodel/__init__.py @@ -0,0 +1,7 @@ +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import relation, backref +from sqlalchemy import ForeignKey, Column, Table, Sequence +from sqlalchemy.types import * +from sqlalchemy.databases.mysql import * +from sqlalchemy.databases.postgres import * +from pylons_app.model.meta import Base diff --git a/pylons_app/i18n/en/LC_MESSAGES/pylons_app.mo b/pylons_app/i18n/en/LC_MESSAGES/pylons_app.mo new file mode 100644 index 0000000000000000000000000000000000000000..2364012659858b3257d083b34705a8ec533369ec GIT binary patch literal 1257 zc%1E0!EVz)5H&OxjD!$p1j7kX+0-$mDsEFXZBr;pph{CDE})HfY%kcmW_O)7T=)PE zoVfA@aNvxPxbPXkk>6kv2UV50a$}{Z=at{Sc{95|E;ZhHw9XMO6NGnqeIP6mKF&4Y z2@eRr2v-T=8P9u4JRrV6{E7Gq@mJzS;-AE?3Fpt&K5rIkpU(@m&$orz=VGJw2^zJ} z+eYp4zES&pA@(|PtSjX}RmBJmNDESpc`n5*kPeE30MOy;6Oa2g7pC)yM!z)qCo$IZEw)s>0yv{ypm z#O(jv1Jx`q8amDu)xzTvV@JDKDmRh|Fn> zvl;Ch{hZRVJ;5H+Oh^<#ImxxM&v;ov&}{hwEVXg0Z&NAQR+U;d)Dd+1oxR>>XJ=>7 zJvi|99}U^IK|bw{?Qn+?gh4A{LCAs?2*c>k@*?d660!k~rTx3^cGOy_bv>l=d@UYYG!uqMw8zfa}MZK^g@*<-7!+Ni`naid&>4v|bSBB?om+sR>pvu|S zw!<~3KifAHTx&z?rr+P|cTa}UY6kwcrrS}JV^UI3hsSQI%(+x+5NF(2bnVI|Z1qGp s&6}WMU3vq8ZZU$@k#zn&RA{JK8s8*>Ek44WCVRKJ?Ein=|MYeL21!kY+5i9m diff --git a/pylons_app/i18n/en/LC_MESSAGES/pylons_app.po b/pylons_app/i18n/en/LC_MESSAGES/pylons_app.po new file mode 100644 --- /dev/null +++ b/pylons_app/i18n/en/LC_MESSAGES/pylons_app.po @@ -0,0 +1,53 @@ +# English translations for pylons_app. +# Copyright (C) 2010 ORGANIZATION +# This file is distributed under the same license as the pylons_app project. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pylons_app 0.1\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2010-02-06 22:54+0100\n" +"PO-Revision-Date: 2010-02-06 23:16+0100\n" +"Last-Translator: FULL NAME \n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +#: pylons_app/controllers/error.py:34 +msgid "Home page" +msgstr "" + +#: pylons_app/controllers/error.py:55 +msgid "The request could not be understood by the server due to malformed syntax." +msgstr "" + +#: pylons_app/controllers/error.py:57 +msgid "Unathorized access to resource" +msgstr "" + +#: pylons_app/controllers/error.py:59 +msgid "You don't have permission to view this page" +msgstr "" + +#: pylons_app/controllers/error.py:61 +msgid "The resource could not be found" +msgstr "" + +#: pylons_app/controllers/error.py:63 +msgid "" +"The server encountered an unexpected condition which prevented it from " +"fulfilling the request." +msgstr "" + +#: pylons_app/model/forms.py:29 +msgid "Token mismatch" +msgstr "" + +#: pylons_app/model/forms.py:52 +msgid "Account number is invalid, it must be 26 digits" +msgstr "" + diff --git a/pylons_app/i18n/how_to b/pylons_app/i18n/how_to new file mode 100644 --- /dev/null +++ b/pylons_app/i18n/how_to @@ -0,0 +1,15 @@ +#goto pylons folder app (the on holding .ini files) + +# to create new +python setup.py extract_messages -> get messages from project +python setup.py init_catalog -l pl -> create a language directory +edit the new po file with poedit +python setup.py compile_catalog -> create translation files +#done + + # to update +python setup.py extract_messages -> get messages from project +python setup.py update_catalog -> to update the translations +edit the new updated po file with poedit +python setup.py compile_catalog -> create translation files +#done \ No newline at end of file diff --git a/pylons_app/i18n/pl/LC_MESSAGES/pylons_app.mo b/pylons_app/i18n/pl/LC_MESSAGES/pylons_app.mo new file mode 100644 index 0000000000000000000000000000000000000000..34317e380a43c091ff870bc0786d76a38e6b66c1 GIT binary patch literal 1315 zc%1E1O>fgM7!Ir#io}64g7?DMG~6ZGn6|7P>$VOywJ>!Z5*Lu0ylp)aJJ?RQqWum2 z1sphX9b!ceU2-o z&!d`! z14=F`_NN{wi+oYjaV{wqo~9UDT7^nR!U`qfWF*27q#DO4^BpQ=pj85cEFOqB7IIi* zHBFwvs~0FC5hmd_963jl+mX`ZRURS?(U?5zKlwRNRR)ogcPxzfn0kSlPMSO}sm20N z$eh|(^yomVW6F;0MeGUnghT9{1R`MxIy4cDTg=eAjcC>oa!+d_TCiyg+N0gsh8WVg9aL3cQt4*XG8u zp61fT+$tTw?oqo9kD8qp)GvhIAgLT?R151NPbm8s>h1PsENV&*H>wA5rg_YE={`*W zGA)*-v9u25v@s_e4G->v3$%UPb2l13%+40mdSf}C&gFBr?zwPwR(#Jj?mV6G=!`#K z?d)}0=k4=qZgpGHy-KQJl2VBlPwiqFb0OCu9C2;XHZnV4tLM7B(gAALqQ57i`ww8X gFKqPzO4QUQYWyUCE#AkN?qsdDT>bwp{^`5;4bgRz^Z)<= diff --git a/pylons_app/i18n/pl/LC_MESSAGES/pylons_app.po b/pylons_app/i18n/pl/LC_MESSAGES/pylons_app.po new file mode 100644 --- /dev/null +++ b/pylons_app/i18n/pl/LC_MESSAGES/pylons_app.po @@ -0,0 +1,54 @@ +# Polish translations for pylons_app. +# Copyright (C) 2010 ORGANIZATION +# This file is distributed under the same license as the pylons_app project. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pylons_app 0.1\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2010-02-06 22:54+0100\n" +"PO-Revision-Date: 2010-02-06 22:54+0100\n" +"Last-Translator: FULL NAME \n" +"Language-Team: pl \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && " +"(n%100<10 || n%100>=20) ? 1 : 2)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +#: pylons_app/controllers/error.py:34 +msgid "Home page" +msgstr "" + +#: pylons_app/controllers/error.py:55 +msgid "The request could not be understood by the server due to malformed syntax." +msgstr "" + +#: pylons_app/controllers/error.py:57 +msgid "Unathorized access to resource" +msgstr "" + +#: pylons_app/controllers/error.py:59 +msgid "You don't have permission to view this page" +msgstr "" + +#: pylons_app/controllers/error.py:61 +msgid "The resource could not be found" +msgstr "" + +#: pylons_app/controllers/error.py:63 +msgid "" +"The server encountered an unexpected condition which prevented it from " +"fulfilling the request." +msgstr "" + +#: pylons_app/model/forms.py:29 +msgid "Token mismatch" +msgstr "" + +#: pylons_app/model/forms.py:52 +msgid "Account number is invalid, it must be 26 digits" +msgstr "" + diff --git a/pylons_app/i18n/pylons_app.pot b/pylons_app/i18n/pylons_app.pot new file mode 100644 --- /dev/null +++ b/pylons_app/i18n/pylons_app.pot @@ -0,0 +1,53 @@ +# Translations template for pylons_app. +# Copyright (C) 2010 ORGANIZATION +# This file is distributed under the same license as the pylons_app project. +# FIRST AUTHOR , 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pylons_app 0.1\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2010-02-06 22:54+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +#: pylons_app/controllers/error.py:34 +msgid "Home page" +msgstr "" + +#: pylons_app/controllers/error.py:55 +msgid "The request could not be understood by the server due to malformed syntax." +msgstr "" + +#: pylons_app/controllers/error.py:57 +msgid "Unathorized access to resource" +msgstr "" + +#: pylons_app/controllers/error.py:59 +msgid "You don't have permission to view this page" +msgstr "" + +#: pylons_app/controllers/error.py:61 +msgid "The resource could not be found" +msgstr "" + +#: pylons_app/controllers/error.py:63 +msgid "" +"The server encountered an unexpected condition which prevented it from " +"fulfilling the request." +msgstr "" + +#: pylons_app/model/forms.py:29 +msgid "Token mismatch" +msgstr "" + +#: pylons_app/model/forms.py:52 +msgid "Account number is invalid, it must be 26 digits" +msgstr "" + diff --git a/pylons_app/lib/__init__.py b/pylons_app/lib/__init__.py new file mode 100644 diff --git a/pylons_app/lib/app_globals.py b/pylons_app/lib/app_globals.py new file mode 100644 --- /dev/null +++ b/pylons_app/lib/app_globals.py @@ -0,0 +1,15 @@ +"""The application's Globals object""" + +class Globals(object): + + """Globals acts as a container for objects available throughout the + life of the application + + """ + + def __init__(self): + """One instance of Globals is created during application + initialization and is available during requests via the + 'app_globals' variable + + """ diff --git a/pylons_app/lib/base.py b/pylons_app/lib/base.py new file mode 100644 --- /dev/null +++ b/pylons_app/lib/base.py @@ -0,0 +1,20 @@ +"""The base Controller API + +Provides the BaseController class for subclassing. +""" +from pylons.controllers import WSGIController +from pylons.templating import render_mako as render +from pylons_app.model import meta + +class BaseController(WSGIController): + + def __call__(self, environ, start_response): + """Invoke the Controller""" + # WSGIController.__call__ dispatches to the Controller method + # the request is routed to. This routing information is + # available in environ['pylons.routes_dict'] + try: + return WSGIController.__call__(self, environ, start_response) + finally: + pass + #meta.Session.remove() diff --git a/pylons_app/lib/colored_logger.py b/pylons_app/lib/colored_logger.py new file mode 100644 --- /dev/null +++ b/pylons_app/lib/colored_logger.py @@ -0,0 +1,1 @@ + diff --git a/pylons_app/lib/helpers.py b/pylons_app/lib/helpers.py new file mode 100644 --- /dev/null +++ b/pylons_app/lib/helpers.py @@ -0,0 +1,49 @@ +"""Helper functions + +Consists of functions to typically be used within templates, but also +available to Controllers. This module is available to both as 'h'. +""" +from routes import redirect_to, url_for + +from webhelpers.html import (literal, HTML, escape) +from webhelpers.html.tools import (auto_link, button_to, highlight, js_obfuscate + , mail_to, strip_links, strip_tags, tag_re) +from webhelpers.html.tags import (auto_discovery_link, checkbox, css_classes, + end_form, file, form, hidden, image, + javascript_link, link_to, link_to_if, + link_to_unless, ol, required_legend, + select, stylesheet_link, + submit, text, textarea, title, ul, xml_declaration) +from webhelpers.text import (chop_at, collapse, convert_accented_entities, + convert_misc_characters, convert_misc_entities, + lchop, plural, rchop, remove_formatting, replace_whitespace, + urlify) + +from webhelpers.pylonslib import Flash as _Flash +from webhelpers.pylonslib.secure_form import secure_form + +#Custom helper here :) +class _Link(object): + ''' + Make a url based on label and url with help of url_for + @param label:name of link if not defined url is used + @param url: the url for link + ''' + + def __call__(self, label = '', *url, **urlargs): + if label is None or '': + label = url + link_fn = link_to(label, url_for(*url, **urlargs)) + return link_fn + + +class _GetError(object): + + def __call__(self, field_name, form_errors): + tmpl = """%s""" + if form_errors and form_errors.has_key(field_name): + return literal(tmpl % form_errors.get(field_name)) + +link = _Link() +flash = _Flash() +get_error = _GetError() diff --git a/pylons_app/model/__init__.py b/pylons_app/model/__init__.py new file mode 100644 --- /dev/null +++ b/pylons_app/model/__init__.py @@ -0,0 +1,30 @@ +"""The application's model objects""" +import logging +import sqlalchemy as sa +from sqlalchemy import orm +from pylons_app.model import meta +from pylons_app.model.meta import Session +log = logging.getLogger(__name__) + +# Add these two imports: +import datetime +from sqlalchemy import schema, types + +def init_model(engine): + """Call me before using any of the tables or classes in the model""" + log.info("INITIALIZING DB MODELS") + meta.Base.metadata.bind = engine + #meta.Base2.metadata.bind = engine2 + +#THIS IS A TEST FOR EXECUTING SCRIPT AND LOAD PYLONS APPLICATION GLOBALS +#from paste.deploy import appconfig +#from pylons import config +#from sqlalchemy import engine_from_config +#from pylons_app.config.environment import load_environment +# +#conf = appconfig('config:development.ini', relative_to = './../../') +#load_environment(conf.global_conf, conf.local_conf) +# +#engine = engine_from_config(config, 'sqlalchemy.') +#init_model(engine) +# DO SOMETHING diff --git a/pylons_app/model/forms.py b/pylons_app/model/forms.py new file mode 100644 --- /dev/null +++ b/pylons_app/model/forms.py @@ -0,0 +1,63 @@ +""" this is forms validation classes +http://formencode.org/module-formencode.validators.html +for list off all availible validators + +we can create our own validators + +The table below outlines the options which can be used in a schema in addition to the validators themselves +pre_validators [] These validators will be applied before the schema +chained_validators [] These validators will be applied after the schema +allow_extra_fields False If True, then it is not an error when keys that aren't associated with a validator are present +filter_extra_fields False If True, then keys that aren't associated with a validator are removed +if_key_missing NoDefault If this is given, then any keys that aren't available but are expected will be replaced with this value (and then validated). This does not override a present .if_missing attribute on validators. NoDefault is a special FormEncode class to mean that no default values has been specified and therefore missing keys shouldn't take a default value. +ignore_key_missing False If True, then missing keys will be missing in the result, if the validator doesn't have .if_missing on it already + + + = formencode.validators. + must equal form name +list=[1,2,3,4,5] +for select use formencode.All(OneOf(list), Int()) + +""" + +import formencode +from formencode.validators import UnicodeString, OneOf, Int, Number, Regex +from pylons.i18n.translation import _ +from webhelpers.pylonslib.secure_form import authentication_token + +class ValidAuthToken(formencode.validators.FancyValidator): + messages = {'invalid_token':_('Token mismatch')} + + def validate_python(self, value, state): + + if value != authentication_token(): + raise formencode.Invalid(self.message('invalid_token', state, search_number = value), value, state) + + +class WireTransferForm(object): + ''' + A factory wrapper class. It might return the instance of class for a validation, but also it can + return the list for select fields values. + @param ret_type: type to return defaut: 'class' + ''' + #class attributes here + #it might be fetched from db,from models and so on + recipients_list = [ + (1, 'a'), + (2, 'b') + ] + + def _form(self): + class _WireTransferForm(formencode.Schema): + allow_extra_fields = True + _authentication_token = ValidAuthToken() + account_number = Regex(r'[0-9]{26}', not_empty = True, messages = { + 'invalid': _("Account number is invalid, it must be 26 digits")}) + title = UnicodeString(not_empty = True, min = 3, strip = True) + recipient = formencode.All(OneOf([i[0] for i in WireTransferForm.recipients_list], + testValueList = True, hideList = True), Int()) + recipient_address = UnicodeString(not_empty = True, strip = True) + amount = Number(not_empty = True, min = 1) + + return _WireTransferForm() + diff --git a/pylons_app/model/meta.py b/pylons_app/model/meta.py new file mode 100644 --- /dev/null +++ b/pylons_app/model/meta.py @@ -0,0 +1,15 @@ +"""SQLAlchemy Metadata and Session object""" +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import scoped_session, sessionmaker + +__all__ = ['Base', 'Session'] +# +# SQLAlchemy session manager. Updated by model.init_model() +# +Session = scoped_session(sessionmaker()) +# + +# The declarative Base +Base = declarative_base() +#For another db... +#Base2 = declarative_base() diff --git a/pylons_app/public/css/style.css b/pylons_app/public/css/style.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/css/style.css @@ -0,0 +1,554 @@ + +/*-------[ general ]---------------------------------*/ + +body { +background:#f0f0f0; +font:14px Arial, Tahoma, Sans-Serif; +color:#444; +margin:30px 0 30px 0; +padding:0; +line-height:21px; +} +p,ul,ol,h1,h2,h3,h4,blockquote,fieldset,form { +margin:0; +padding:0; +} +a { +outline:none; +text-decoration:none; +color:#296785; +} +a:hover { +color:#000; +} +img { +border:none; +} +.left-img { +float:left; +border:1px solid #ccc; +margin:5px 10px 0 0; +padding:5px; +} +.right-img { +float:right; +border:1px solid #ccc; +margin:5px 0 0 10px; +padding:5px; +} +blockquote { +background:url(/images/blockquote.gif) no-repeat top left; +padding:10px 0 0 40px; +font-style:italic; +} +.clearfix:after { +content: "."; +display: block; +height: 0; +clear: both; +visibility: hidden; +} + +/*-------[ top-glow (just a little beauty! i know it maybe against semantics but i can't find a good solution) ]---------------------------------*/ + +#top-glow { +width:940px; +height:20px; +background:url(/images/top-glow.jpg) no-repeat; +margin:0 auto; +} + +/*-------[ container ]---------------------------------*/ + +#container { +width: 900px; +padding:0 20px 0 20px; +margin:0 auto; +background:url(/images/container-bg.jpg) repeat-y; +} + +/*-------[ header ]---------------------------------*/ + +#header { +width:900px; +height:120px; +background:url(/images/header.jpg) repeat-y; +border-top:1px solid #fff; +} +#logo { +width:263px; +height:40px; +position:absolute; +margin:37px 0 0 30px; +} +#logo a { +background:url(/images/logo.png) no-repeat; +text-indent:-9999pt; +display:block; +width:263px; +height:40px; +} + +/*-------[ navigation ]---------------------------------*/ + +#navigation { +width:900px; +height:44px; +background:url(/images/navigation.jpg) no-repeat; +} +#navigation ul { +list-style:none; +padding-left:30px; +} +#navigation li { +float:left; +} +#navigation li a { +display:block; +text-indent:-9999pt; +margin:16px 17px 0 0; +} +#navigation li a:hover, #navigation a.selected { +background-position:0 -10px; +} +#home-button { +width:36px; +height:10px; +background:url(/images/home-button.png) no-repeat; +} +#about-button { +width:45px; +height:10px; +background:url(/images/about-button.png) no-repeat; +} +#services-button { +width:64px; +height:10px; +background:url(/images/services-button.png) no-repeat; +} +#portfolio-button { +width:74px; +height:10px; +background:url(/images/portfolio-button.png) no-repeat; +} +#blog-button { +width:34px; +height:10px; +background:url(/images/blog-button.png) no-repeat; +} +#contact-button { +width:64px; +height:10px; +background:url(/images/contact-button.png) no-repeat; +} + +/*-------[ featured ]---------------------------------*/ + +#featured { +width:840px; +background:url(/images/featured.jpg) repeat-y; +border-bottom:1px solid #4A4C4E; +padding:30px; +color:#fff; +} +#featured-title { +text-indent:-9999pt; +background:url(/images/featured-title.png) no-repeat; +height:31px; +margin-bottom:20px; +} +#featured-left { +float:left; +width:393px; +margin-right:50px; +} +#featured-right { +float:right; +width:385px; +height:205px; +display:block; +border:1px solid #11879C; +padding:5px; +background:#fff; +} +#featured-right a { +margin:5px 0 0 5px; +} +#featured-buttons { +margin-top:20px; +} +#featured-buttons a { +float:left; +display:block; +width:143px; +height:47px; +text-indent:-9999pt; +margin-right:25px; +} +#featured-buttons a:hover { +background-position:0 0; +} +#learn-more { +background:url(/images/learn-more.png) 0 -47px no-repeat; +} +#our-services { +background:url(/images/our-services.png) 0 -47px no-repeat; +} + +/*-------[ main ]---------------------------------*/ + +#main { +width:840px; +padding:30px 30px 15px 30px; +} + +/*-------[ sidebar ]---------------------------------*/ + +#sidebar { +float:right; +width:250px; +} +.sidebox { +width:250px; +border:1px solid #b1b1b1; +margin-bottom:30px; +background:#fafafa; +color:#5d5d5d; +} +.sidebox-content { +padding:15px; +} +.sidebox h2 { +text-indent:-9999pt; +height:40px; +display:block; +border-bottom:1px solid #B1B1B1; +} +.sidebox p { +margin-bottom:10px; +} +.sidebox ul { +list-style:none; +} +.sidebox li { +margin-bottom:10px; +} +.sidebox li:last-child { +margin-bottom:0; +} +.list { +list-style:square !important; +margin-left:15px; +} +.list li { +margin-bottom:3px; +} +#recent-posts-title { +background:url(/images/recent-posts-title.jpg) no-repeat; +} +#recent-posts a { +color:#5D5D5D; +} +#recent-posts a:hover { +color:#296785; +} +.more-link { +color:#296785; +} +#clients-title { +background:url(/images/clients-title.jpg) no-repeat; +} +#location-title { +background:url(/images/location-title.jpg) no-repeat; +} +#categories-title { +background:url(/images/categories-title.jpg) no-repeat; +} + +/*-------[ search form ]---------------------------------*/ +#searchform { +margin-bottom:15px; +} +#searchform fieldset { +border:none; +} +#search-button { +padding:5px 0 5px 0; +background:#e3e3e3; +border:none; +color:#444; +width:60px; +text-align:center; +float:right; +display:block; +} +#search-field { +border:1px solid #ccc; +background:#F2F2F2; +padding:5px; +color:#444; +width:170px; +float:left; +display:block; +} +#search-field:focus { +border:1px solid #aaa; +background:#fff; +} +/*-------[ content ]---------------------------------*/ + +#content { +width:560px; +float:left; +margin-right:30px; +} +#content h2 { +border-bottom:1px solid #ccc; +padding-bottom:3px; +margin-bottom:15px; +font:20px Arial, Tahoma, Sans-Serif; +} +#content p { +margin-bottom:15px; +} +#content h3, #content h4, #content h5, #content h6 { +margin-bottom:10px; +color:#1B7883; +font-family:Arial, Tahoma, Verdana, Sans-Serif; +} +#content h3 { +font-size:18px; +} +#content h4 { +font-size:16px; +} +#content h5 { +font-size:14px; +} +#content h6 { +font-size:13px; +} +#content ul { +margin:10px 0 15px 30px; +} +#content ol { +margin:10px 0 15px 30px; +} +#content table { +border-left:1px solid #ccc; +border-top:1px solid #ccc; +margin-bottom:15px; +width:100%; +} +#content td, #content th { +border-right:1px solid #ccc; +border-bottom:1px solid #ccc; +padding:5px; +font-size:13px; +text-align:left; +} +#content th { +font-size:13px; +color:#000; +font-weight:normal; +background:#f2f2f2; +} +.br { /* use this for an extra 10px space if needed */ +display:block; +margin:10px; +} +.bullet { +list-style-image:url(/images/bullet.gif) !important; +} + +/*-------[ blog styles ]---------------------------------*/ + +.post { +margin-bottom:30px; +} +h2.post-title { +margin-bottom:5px !important; +} +.post-meta { +font-size:12px; +margin-bottom:10px; +} +.post-comments { +background:url(/images/speech_bubble_48.png) no-repeat; +padding:11px 0 15px 0; +width:48px; +display:block; +text-align:center; +font-size:18px; +color:#444; +position:absolute; +margin:-28px 0 0 514px; +} +.post-comments:hover { +color:#000; +} + +#previous-next { +margin-bottom:15px; +} +#next { +float:right; +} +#prev { +float:left; +} + +/*-------[ front page ]---------------------------------*/ + +.frontpage-box { +margin-bottom:10px; +} +.frontpage-box-img { +float:left; +width:48px; +height:48px; +margin:15px 22px 0 0; +} +.frontpage-box-text { +float:right; +width:490px; +} +.frontpage-box h3 { +font:16px Arial, Tahoma, Sans-Serif !important; +margin-bottom:5px !important; +color:#1B7883 !important; +} + +/*-------[ portfolio ]---------------------------------*/ + +#portfolio { +width:840px; +} +#portfolio h2 { +border-bottom:1px solid #ccc; +padding-bottom:3px; +margin-bottom:30px; +font:20px Arial, Tahoma, Sans-Serif; +} +ul.work-gallery { +list-style:none; +width:870px; +position:relative; +} +.work-gallery li { +float:left; +width:260px; +margin:0 30px 0 0; +min-height:220px; +font-size:12px; +line-height:19px; +} + a.work-thumb { +display:block; +border:1px solid #ccc; +padding:5px; +width:248px; +height:138px; +} + a.work-thumb:hover { +border:1px solid #999; +} +.work-name { +padding:2px 5px 2px 7px; +background:#fff; +position:absolute; +margin:-40px 0 0 1px; +} +.work-description { +margin-top:5px; +} + +/*-------[ contact form ]---------------------------------*/ + +#contactform fieldset { +border:none; +} +#contactform input { +width:170px; +} +#contactform textarea { +width:450px; +height:170px; +} +#contactform input, #contactform textarea { +display:block; +border:1px solid #ccc; +padding:5px; +background:#f2f2f2; +font:12px Arial, Tahoma, Sans-Serif; +color:#444; +margin-bottom:10px; +} +#contactform input:focus, #contactform textarea:focus { +border:1px solid #aaa; +background:#fff; +} +.send { +width:80px !important; +background:#eee; +border:1px solid #bbb !important; +color:#444 !important; +cursor:pointer; +} +.send:hover { +border:1px solid #777 !important; +} + +/*-------[ footer ]---------------------------------*/ + +#footer { +padding:15px 30px 15px 30px; +background:#f2f2f2; +border-top:1px solid #bbb; +font-size:13px; +} +#footer p { +float:left; +} +#footer ul { +float:right; +list-style:none; +} +#footer li { +float:left; +margin-left:15px; +} + +/*-------[ bottom glow (just a little beauty! i know it maybe against semantics but i can't find a good solution) ]---------------------------------*/ + +#bottom-glow { +background:url(/images/bottom-glow.jpg) no-repeat; +width:940px; +height:22px; +margin:0 auto; +} + +/*-------[ browser hacks ]---------------------------------*/ + +.ie6 #navigation li a { +overflow:hidden; +} +.ie6 #navigation li a:hover, .ie6 #navigation a.selected, .ie7 #navigation li a:hover, .ie7 #navigation a.selected { +margin-top:17px; +} +.ie6 #featured { +padding:30px 30px 0 30px; +} +.ie6 #featured-buttons a:hover, .ie7 #featured-buttons a:hover { +background-position:0 0; +margin-top:-1px; +} +.ie6 .work-gallery { +margin-right:-60px; +} +.ie6 .work-gallery li { +margin-bottom:30px; +} +.ie6 .frontpage-box, .ie6 #footer, .ie7 .frontpage-box, .ie7 #footer { +height:1%; +} \ No newline at end of file diff --git a/pylons_app/public/images/bottom-glow.jpg b/pylons_app/public/images/bottom-glow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8018c6a33a7464ae312e9d2d8917ed3dcd6021a2 GIT binary patch literal 2319 zc%1ux6fzL4|KPit!@P_mkwVY?(n&}|5Qtm0|Jocc1r-W_zt}bQBT2ehl ztwMIS7sIG=qsEOIH@u9i^h$4v+Ok0K*p$Wh{acor{@X96yWWe@{i>$N{*;a8`frnO zv;M39*#oz6>D}L7Qzg@e3`uuhvm?IY_CnpymK7V?9`}CR4&!0Yh`kd35 z$6%s}N<0hG@+I;1cm6XpF>)~QKJ0${^4A2;g|0V$P`$-P~ diff --git a/pylons_app/public/images/container-bg.jpg b/pylons_app/public/images/container-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6b8f15d27deb4f6016e7a9f6995c4ccc5054dc1 GIT binary patch literal 452 zc%1ux6fzL4|KPiv6GT1Y` z6F-`7y_xN3!?yPvehNoUTkoE4m+n~_n$5ZcT_Y6$Q{&QTTQ9rx318N)VmYS1d&we> J3-$kR0sy{#HeLV# diff --git a/pylons_app/public/images/header.jpg b/pylons_app/public/images/header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b955a5675fcc39a0069404682b6987e6d0383d40 GIT binary patch literal 497 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 diff --git a/pylons_app/public/js/css_browser_selector.js b/pylons_app/public/js/css_browser_selector.js new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/css_browser_selector.js @@ -0,0 +1,50 @@ +/* +CSS Browser Selector v0.3.5 (Feb 05, 2010) +Rafael Lima (http://rafael.adm.br) +http://rafael.adm.br/css_browser_selector +License: http://creativecommons.org/licenses/by/2.5/ +Contributors: http://rafael.adm.br/css_browser_selector#contributors +2. Set CSS attributes with the code of each browser/os you want to hack + +Examples: + + * html.gecko div#header { margin: 1em; } + * .opera #header { margin: 1.2em; } + * .ie .mylink { font-weight: bold; } + * .mac.ie .mylink { font-weight: bold; } + * .[os].[browser] .mylink { font-weight: bold; } -> without space between .[os] and .[browser] + +Available OS Codes [os]: + + * win - Microsoft Windows + * linux - Linux (x11 and linux) + * mac - Mac OS + * freebsd - FreeBSD + * ipod - iPod Touch + * iphone - iPhone + * webtv - WebTV + * mobile - J2ME Devices (ex: Opera mini) + +Available Browser Codes [browser]: + + * ie - Internet Explorer (All versions) + * ie8 - Internet Explorer 8.x + * ie7 - Internet Explorer 7.x + * ie6 - Internet Explorer 6.x + * ie5 - Internet Explorer 5.x + * gecko - Mozilla, Firefox (all versions), Camino + * ff2 - Firefox 2 + * ff3 - Firefox 3 + * ff3_5 - Firefox 3.5 new + * opera - Opera (All versions) + * opera8 - Opera 8.x + * opera9 - Opera 9.x + * opera10 - Opera 10.x + * konqueror - Konqueror + * webkit or safari - Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome + * safari3 - Safari 3.x + * chrome - Google Chrome + * iron - SRWare Iron new + +*/ +function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent); diff --git a/pylons_app/public/js/yui/animation/animation-debug.js b/pylons_app/public/js/yui/animation/animation-debug.js new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/animation/animation-debug.js @@ -0,0 +1,1396 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +(function() { + +var Y = YAHOO.util; + +/* +Copyright (c) 2006, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +*/ + +/** + * The animation module provides allows effects to be added to HTMLElements. + * @module animation + * @requires yahoo, event, dom + */ + +/** + * + * Base animation class that provides the interface for building animated effects. + *

Usage: var myAnim = new YAHOO.util.Anim(el, { width: { from: 10, to: 100 } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Anim + * @namespace YAHOO.util + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @constructor + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + +var Anim = function(el, attributes, duration, method) { + if (!el) { + YAHOO.log('element required to create Anim instance', 'error', 'Anim'); + } + this.init(el, attributes, duration, method); +}; + +Anim.NAME = 'Anim'; + +Anim.prototype = { + /** + * Provides a readable name for the Anim instance. + * @method toString + * @return {String} + */ + toString: function() { + var el = this.getEl() || {}; + var id = el.id || el.tagName; + return (this.constructor.NAME + ': ' + id); + }, + + patterns: { // cached for performance + noNegatives: /width|height|opacity|padding/i, // keep at zero or above + offsetAttribute: /^((width|height)|(top|left))$/, // use offsetValue as default + defaultUnit: /width|height|top$|bottom$|left$|right$/i, // use 'px' by default + offsetUnit: /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i // IE may return these, so convert these to offset + }, + + /** + * Returns the value computed by the animation's "method". + * @method doMethod + * @param {String} attr The name of the attribute. + * @param {Number} start The value this attribute should start from for this animation. + * @param {Number} end The value this attribute should end at for this animation. + * @return {Number} The Value to be applied to the attribute. + */ + doMethod: function(attr, start, end) { + return this.method(this.currentFrame, start, end - start, this.totalFrames); + }, + + /** + * Applies a value to an attribute. + * @method setAttribute + * @param {String} attr The name of the attribute. + * @param {Number} val The value to be applied to the attribute. + * @param {String} unit The unit ('px', '%', etc.) of the value. + */ + setAttribute: function(attr, val, unit) { + var el = this.getEl(); + if ( this.patterns.noNegatives.test(attr) ) { + val = (val > 0) ? val : 0; + } + + if (attr in el && !('style' in el && attr in el.style)) { + el[attr] = val; + } else { + Y.Dom.setStyle(el, attr, val + unit); + } + }, + + /** + * Returns current value of the attribute. + * @method getAttribute + * @param {String} attr The name of the attribute. + * @return {Number} val The current value of the attribute. + */ + getAttribute: function(attr) { + var el = this.getEl(); + var val = Y.Dom.getStyle(el, attr); + + if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) { + return parseFloat(val); + } + + var a = this.patterns.offsetAttribute.exec(attr) || []; + var pos = !!( a[3] ); // top or left + var box = !!( a[2] ); // width or height + + if ('style' in el) { + // use offsets for width/height and abs pos top/left + if ( box || (Y.Dom.getStyle(el, 'position') == 'absolute' && pos) ) { + val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)]; + } else { // default to zero for other 'auto' + val = 0; + } + } else if (attr in el) { + val = el[attr]; + } + + return val; + }, + + /** + * Returns the unit to use when none is supplied. + * @method getDefaultUnit + * @param {attr} attr The name of the attribute. + * @return {String} The default unit to be used. + */ + getDefaultUnit: function(attr) { + if ( this.patterns.defaultUnit.test(attr) ) { + return 'px'; + } + + return ''; + }, + + /** + * Sets the actual values to be used during the animation. Should only be needed for subclass use. + * @method setRuntimeAttribute + * @param {Object} attr The attribute object + * @private + */ + setRuntimeAttribute: function(attr) { + var start; + var end; + var attributes = this.attributes; + + this.runtimeAttributes[attr] = {}; + + var isset = function(prop) { + return (typeof prop !== 'undefined'); + }; + + if ( !isset(attributes[attr]['to']) && !isset(attributes[attr]['by']) ) { + return false; // note return; nothing to animate to + } + + start = ( isset(attributes[attr]['from']) ) ? attributes[attr]['from'] : this.getAttribute(attr); + + // To beats by, per SMIL 2.1 spec + if ( isset(attributes[attr]['to']) ) { + end = attributes[attr]['to']; + } else if ( isset(attributes[attr]['by']) ) { + if (start.constructor == Array) { + end = []; + for (var i = 0, len = start.length; i < len; ++i) { + end[i] = start[i] + attributes[attr]['by'][i] * 1; // times 1 to cast "by" + } + } else { + end = start + attributes[attr]['by'] * 1; + } + } + + this.runtimeAttributes[attr].start = start; + this.runtimeAttributes[attr].end = end; + + // set units if needed + this.runtimeAttributes[attr].unit = ( isset(attributes[attr].unit) ) ? + attributes[attr]['unit'] : this.getDefaultUnit(attr); + return true; + }, + + /** + * Constructor for Anim instance. + * @method init + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + init: function(el, attributes, duration, method) { + /** + * Whether or not the animation is running. + * @property isAnimated + * @private + * @type Boolean + */ + var isAnimated = false; + + /** + * A Date object that is created when the animation begins. + * @property startTime + * @private + * @type Date + */ + var startTime = null; + + /** + * The number of frames this animation was able to execute. + * @property actualFrames + * @private + * @type Int + */ + var actualFrames = 0; + + /** + * The element to be animated. + * @property el + * @private + * @type HTMLElement + */ + el = Y.Dom.get(el); + + /** + * The collection of attributes to be animated. + * Each attribute must have at least a "to" or "by" defined in order to animate. + * If "to" is supplied, the animation will end with the attribute at that value. + * If "by" is supplied, the animation will end at that value plus its starting value. + * If both are supplied, "to" is used, and "by" is ignored. + * Optional additional member include "from" (the value the attribute should start animating from, defaults to current value), and "unit" (the units to apply to the values). + * @property attributes + * @type Object + */ + this.attributes = attributes || {}; + + /** + * The length of the animation. Defaults to "1" (second). + * @property duration + * @type Number + */ + this.duration = !YAHOO.lang.isUndefined(duration) ? duration : 1; + + /** + * The method that will provide values to the attribute(s) during the animation. + * Defaults to "YAHOO.util.Easing.easeNone". + * @property method + * @type Function + */ + this.method = method || Y.Easing.easeNone; + + /** + * Whether or not the duration should be treated as seconds. + * Defaults to true. + * @property useSeconds + * @type Boolean + */ + this.useSeconds = true; // default to seconds + + /** + * The location of the current animation on the timeline. + * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time. + * @property currentFrame + * @type Int + */ + this.currentFrame = 0; + + /** + * The total number of frames to be executed. + * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time. + * @property totalFrames + * @type Int + */ + this.totalFrames = Y.AnimMgr.fps; + + /** + * Changes the animated element + * @method setEl + */ + this.setEl = function(element) { + el = Y.Dom.get(element); + }; + + /** + * Returns a reference to the animated element. + * @method getEl + * @return {HTMLElement} + */ + this.getEl = function() { return el; }; + + /** + * Checks whether the element is currently animated. + * @method isAnimated + * @return {Boolean} current value of isAnimated. + */ + this.isAnimated = function() { + return isAnimated; + }; + + /** + * Returns the animation start time. + * @method getStartTime + * @return {Date} current value of startTime. + */ + this.getStartTime = function() { + return startTime; + }; + + this.runtimeAttributes = {}; + + var logger = {}; + logger.log = function() {YAHOO.log.apply(window, arguments)}; + + logger.log('creating new instance of ' + this); + + /** + * Starts the animation by registering it with the animation manager. + * @method animate + */ + this.animate = function() { + if ( this.isAnimated() ) { + return false; + } + + this.currentFrame = 0; + + this.totalFrames = ( this.useSeconds ) ? Math.ceil(Y.AnimMgr.fps * this.duration) : this.duration; + + if (this.duration === 0 && this.useSeconds) { // jump to last frame if zero second duration + this.totalFrames = 1; + } + Y.AnimMgr.registerElement(this); + return true; + }; + + /** + * Stops the animation. Normally called by AnimMgr when animation completes. + * @method stop + * @param {Boolean} finish (optional) If true, animation will jump to final frame. + */ + this.stop = function(finish) { + if (!this.isAnimated()) { // nothing to stop + return false; + } + + if (finish) { + this.currentFrame = this.totalFrames; + this._onTween.fire(); + } + Y.AnimMgr.stop(this); + }; + + var onStart = function() { + this.onStart.fire(); + + this.runtimeAttributes = {}; + for (var attr in this.attributes) { + this.setRuntimeAttribute(attr); + } + + isAnimated = true; + actualFrames = 0; + startTime = new Date(); + }; + + /** + * Feeds the starting and ending values for each animated attribute to doMethod once per frame, then applies the resulting value to the attribute(s). + * @private + */ + + var onTween = function() { + var data = { + duration: new Date() - this.getStartTime(), + currentFrame: this.currentFrame + }; + + data.toString = function() { + return ( + 'duration: ' + data.duration + + ', currentFrame: ' + data.currentFrame + ); + }; + + this.onTween.fire(data); + + var runtimeAttributes = this.runtimeAttributes; + + for (var attr in runtimeAttributes) { + this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit); + } + + actualFrames += 1; + }; + + var onComplete = function() { + var actual_duration = (new Date() - startTime) / 1000 ; + + var data = { + duration: actual_duration, + frames: actualFrames, + fps: actualFrames / actual_duration + }; + + data.toString = function() { + return ( + 'duration: ' + data.duration + + ', frames: ' + data.frames + + ', fps: ' + data.fps + ); + }; + + isAnimated = false; + actualFrames = 0; + this.onComplete.fire(data); + }; + + /** + * Custom event that fires after onStart, useful in subclassing + * @private + */ + this._onStart = new Y.CustomEvent('_start', this, true); + + /** + * Custom event that fires when animation begins + * Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction) + * @event onStart + */ + this.onStart = new Y.CustomEvent('start', this); + + /** + * Custom event that fires between each frame + * Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction) + * @event onTween + */ + this.onTween = new Y.CustomEvent('tween', this); + + /** + * Custom event that fires after onTween + * @private + */ + this._onTween = new Y.CustomEvent('_tween', this, true); + + /** + * Custom event that fires when animation ends + * Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction) + * @event onComplete + */ + this.onComplete = new Y.CustomEvent('complete', this); + /** + * Custom event that fires after onComplete + * @private + */ + this._onComplete = new Y.CustomEvent('_complete', this, true); + + this._onStart.subscribe(onStart); + this._onTween.subscribe(onTween); + this._onComplete.subscribe(onComplete); + } +}; + + Y.Anim = Anim; +})(); +/** + * Handles animation queueing and threading. + * Used by Anim and subclasses. + * @class AnimMgr + * @namespace YAHOO.util + */ +YAHOO.util.AnimMgr = new function() { + /** + * Reference to the animation Interval. + * @property thread + * @private + * @type Int + */ + var thread = null; + + /** + * The current queue of registered animation objects. + * @property queue + * @private + * @type Array + */ + var queue = []; + + /** + * The number of active animations. + * @property tweenCount + * @private + * @type Int + */ + var tweenCount = 0; + + /** + * Base frame rate (frames per second). + * Arbitrarily high for better x-browser calibration (slower browsers drop more frames). + * @property fps + * @type Int + * + */ + this.fps = 1000; + + /** + * Interval delay in milliseconds, defaults to fastest possible. + * @property delay + * @type Int + * + */ + this.delay = 1; + + /** + * Adds an animation instance to the animation queue. + * All animation instances must be registered in order to animate. + * @method registerElement + * @param {object} tween The Anim instance to be be registered + */ + this.registerElement = function(tween) { + queue[queue.length] = tween; + tweenCount += 1; + tween._onStart.fire(); + this.start(); + }; + + /** + * removes an animation instance from the animation queue. + * All animation instances must be registered in order to animate. + * @method unRegister + * @param {object} tween The Anim instance to be be registered + * @param {Int} index The index of the Anim instance + * @private + */ + this.unRegister = function(tween, index) { + index = index || getIndex(tween); + if (!tween.isAnimated() || index === -1) { + return false; + } + + tween._onComplete.fire(); + queue.splice(index, 1); + + tweenCount -= 1; + if (tweenCount <= 0) { + this.stop(); + } + + return true; + }; + + /** + * Starts the animation thread. + * Only one thread can run at a time. + * @method start + */ + this.start = function() { + if (thread === null) { + thread = setInterval(this.run, this.delay); + } + }; + + /** + * Stops the animation thread or a specific animation instance. + * @method stop + * @param {object} tween A specific Anim instance to stop (optional) + * If no instance given, Manager stops thread and all animations. + */ + this.stop = function(tween) { + if (!tween) { + clearInterval(thread); + + for (var i = 0, len = queue.length; i < len; ++i) { + this.unRegister(queue[0], 0); + } + + queue = []; + thread = null; + tweenCount = 0; + } + else { + this.unRegister(tween); + } + }; + + /** + * Called per Interval to handle each animation frame. + * @method run + */ + this.run = function() { + for (var i = 0, len = queue.length; i < len; ++i) { + var tween = queue[i]; + if ( !tween || !tween.isAnimated() ) { continue; } + + if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null) + { + tween.currentFrame += 1; + + if (tween.useSeconds) { + correctFrame(tween); + } + tween._onTween.fire(); + } + else { YAHOO.util.AnimMgr.stop(tween, i); } + } + }; + + var getIndex = function(anim) { + for (var i = 0, len = queue.length; i < len; ++i) { + if (queue[i] === anim) { + return i; // note return; + } + } + return -1; + }; + + /** + * On the fly frame correction to keep animation on time. + * @method correctFrame + * @private + * @param {Object} tween The Anim instance being corrected. + */ + var correctFrame = function(tween) { + var frames = tween.totalFrames; + var frame = tween.currentFrame; + var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames); + var elapsed = (new Date() - tween.getStartTime()); + var tweak = 0; + + if (elapsed < tween.duration * 1000) { // check if falling behind + tweak = Math.round((elapsed / expected - 1) * tween.currentFrame); + } else { // went over duration, so jump to end + tweak = frames - (frame + 1); + } + if (tweak > 0 && isFinite(tweak)) { // adjust if needed + if (tween.currentFrame + tweak >= frames) {// dont go past last frame + tweak = frames - (frame + 1); + } + + tween.currentFrame += tweak; + } + }; + this._queue = queue; + this._getIndex = getIndex; +}; +/** + * Used to calculate Bezier splines for any number of control points. + * @class Bezier + * @namespace YAHOO.util + * + */ +YAHOO.util.Bezier = new function() { + /** + * Get the current position of the animated element based on t. + * Each point is an array of "x" and "y" values (0 = x, 1 = y) + * At least 2 points are required (start and end). + * First point is start. Last point is end. + * Additional control points are optional. + * @method getPosition + * @param {Array} points An array containing Bezier points + * @param {Number} t A number between 0 and 1 which is the basis for determining current position + * @return {Array} An array containing int x and y member data + */ + this.getPosition = function(points, t) { + var n = points.length; + var tmp = []; + + for (var i = 0; i < n; ++i){ + tmp[i] = [points[i][0], points[i][1]]; // save input + } + + for (var j = 1; j < n; ++j) { + for (i = 0; i < n - j; ++i) { + tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0]; + tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1]; + } + } + + return [ tmp[0][0], tmp[0][1] ]; + + }; +}; +(function() { +/** + * Anim subclass for color transitions. + *

Usage: var myAnim = new Y.ColorAnim(el, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 1, Y.Easing.easeOut); Color values can be specified with either 112233, #112233, + * [255,255,255], or rgb(255,255,255)

+ * @class ColorAnim + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @constructor + * @extends YAHOO.util.Anim + * @param {HTMLElement | String} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var ColorAnim = function(el, attributes, duration, method) { + ColorAnim.superclass.constructor.call(this, el, attributes, duration, method); + }; + + ColorAnim.NAME = 'ColorAnim'; + + ColorAnim.DEFAULT_BGCOLOR = '#fff'; + // shorthand + var Y = YAHOO.util; + YAHOO.extend(ColorAnim, Y.Anim); + + var superclass = ColorAnim.superclass; + var proto = ColorAnim.prototype; + + proto.patterns.color = /color$/i; + proto.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i; + proto.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i; + proto.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i; + proto.patterns.transparent = /^transparent|rgba\(0, 0, 0, 0\)$/; // need rgba for safari + + /** + * Attempts to parse the given string and return a 3-tuple. + * @method parseColor + * @param {String} s The string to parse. + * @return {Array} The 3-tuple of rgb values. + */ + proto.parseColor = function(s) { + if (s.length == 3) { return s; } + + var c = this.patterns.hex.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16) ]; + } + + c = this.patterns.rgb.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10) ]; + } + + c = this.patterns.hex3.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16) ]; + } + + return null; + }; + + proto.getAttribute = function(attr) { + var el = this.getEl(); + if (this.patterns.color.test(attr) ) { + var val = YAHOO.util.Dom.getStyle(el, attr); + + var that = this; + if (this.patterns.transparent.test(val)) { // bgcolor default + var parent = YAHOO.util.Dom.getAncestorBy(el, function(node) { + return !that.patterns.transparent.test(val); + }); + + if (parent) { + val = Y.Dom.getStyle(parent, attr); + } else { + val = ColorAnim.DEFAULT_BGCOLOR; + } + } + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.doMethod = function(attr, start, end) { + var val; + + if ( this.patterns.color.test(attr) ) { + val = []; + for (var i = 0, len = start.length; i < len; ++i) { + val[i] = superclass.doMethod.call(this, attr, start[i], end[i]); + } + + val = 'rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')'; + } + else { + val = superclass.doMethod.call(this, attr, start, end); + } + + return val; + }; + + proto.setRuntimeAttribute = function(attr) { + superclass.setRuntimeAttribute.call(this, attr); + + if ( this.patterns.color.test(attr) ) { + var attributes = this.attributes; + var start = this.parseColor(this.runtimeAttributes[attr].start); + var end = this.parseColor(this.runtimeAttributes[attr].end); + // fix colors if going "by" + if ( typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined' ) { + end = this.parseColor(attributes[attr].by); + + for (var i = 0, len = start.length; i < len; ++i) { + end[i] = start[i] + end[i]; + } + } + + this.runtimeAttributes[attr].start = start; + this.runtimeAttributes[attr].end = end; + } + }; + + Y.ColorAnim = ColorAnim; +})(); +/*! +TERMS OF USE - EASING EQUATIONS +Open source under the BSD License. +Copyright 2001 Robert Penner All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * Singleton that determines how an animation proceeds from start to end. + * @class Easing + * @namespace YAHOO.util +*/ + +YAHOO.util.Easing = { + + /** + * Uniform speed between points. + * @method easeNone + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeNone: function (t, b, c, d) { + return c*t/d + b; + }, + + /** + * Begins slowly and accelerates towards end. + * @method easeIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeIn: function (t, b, c, d) { + return c*(t/=d)*t + b; + }, + + /** + * Begins quickly and decelerates towards end. + * @method easeOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeOut: function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + + /** + * Begins slowly and decelerates towards end. + * @method easeBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeBoth: function (t, b, c, d) { + if ((t/=d/2) < 1) { + return c/2*t*t + b; + } + + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + + /** + * Begins slowly and accelerates towards end. + * @method easeInStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeInStrong: function (t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + + /** + * Begins quickly and decelerates towards end. + * @method easeOutStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeOutStrong: function (t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + + /** + * Begins slowly and decelerates towards end. + * @method easeBothStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeBothStrong: function (t, b, c, d) { + if ((t/=d/2) < 1) { + return c/2*t*t*t*t + b; + } + + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + + /** + * Snap in elastic effect. + * @method elasticIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + + elasticIn: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + if ( (t /= d) == 1 ) { + return b+c; + } + if (!p) { + p=d*.3; + } + + if (!a || a < Math.abs(c)) { + a = c; + var s = p/4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + + /** + * Snap out elastic effect. + * @method elasticOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + elasticOut: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + if ( (t /= d) == 1 ) { + return b+c; + } + if (!p) { + p=d*.3; + } + + if (!a || a < Math.abs(c)) { + a = c; + var s = p / 4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + + /** + * Snap both elastic effect. + * @method elasticBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + elasticBoth: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + + if ( (t /= d/2) == 2 ) { + return b+c; + } + + if (!p) { + p = d*(.3*1.5); + } + + if ( !a || a < Math.abs(c) ) { + a = c; + var s = p/4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + if (t < 1) { + return -.5*(a*Math.pow(2,10*(t-=1)) * + Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + } + return a*Math.pow(2,-10*(t-=1)) * + Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + + + /** + * Backtracks slightly, then reverses direction and moves to end. + * @method backIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backIn: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + + /** + * Overshoots end, then reverses and comes back to end. + * @method backOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backOut: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + + /** + * Backtracks slightly, then reverses direction, overshoots end, + * then reverses and comes back to end. + * @method backBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backBoth: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + + if ((t /= d/2 ) < 1) { + return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + } + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + + /** + * Bounce off of start. + * @method bounceIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceIn: function (t, b, c, d) { + return c - YAHOO.util.Easing.bounceOut(d-t, 0, c, d) + b; + }, + + /** + * Bounces off end. + * @method bounceOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceOut: function (t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + }, + + /** + * Bounces off start and end. + * @method bounceBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceBoth: function (t, b, c, d) { + if (t < d/2) { + return YAHOO.util.Easing.bounceIn(t*2, 0, c, d) * .5 + b; + } + return YAHOO.util.Easing.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}; + +(function() { +/** + * Anim subclass for moving elements along a path defined by the "points" + * member of "attributes". All "points" are arrays with x, y coordinates. + *

Usage: var myAnim = new YAHOO.util.Motion(el, { points: { to: [800, 800] } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Motion + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @constructor + * @extends YAHOO.util.ColorAnim + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var Motion = function(el, attributes, duration, method) { + if (el) { // dont break existing subclasses not using YAHOO.extend + Motion.superclass.constructor.call(this, el, attributes, duration, method); + } + }; + + + Motion.NAME = 'Motion'; + + // shorthand + var Y = YAHOO.util; + YAHOO.extend(Motion, Y.ColorAnim); + + var superclass = Motion.superclass; + var proto = Motion.prototype; + + proto.patterns.points = /^points$/i; + + proto.setAttribute = function(attr, val, unit) { + if ( this.patterns.points.test(attr) ) { + unit = unit || 'px'; + superclass.setAttribute.call(this, 'left', val[0], unit); + superclass.setAttribute.call(this, 'top', val[1], unit); + } else { + superclass.setAttribute.call(this, attr, val, unit); + } + }; + + proto.getAttribute = function(attr) { + if ( this.patterns.points.test(attr) ) { + var val = [ + superclass.getAttribute.call(this, 'left'), + superclass.getAttribute.call(this, 'top') + ]; + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.doMethod = function(attr, start, end) { + var val = null; + + if ( this.patterns.points.test(attr) ) { + var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100; + val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t); + } else { + val = superclass.doMethod.call(this, attr, start, end); + } + return val; + }; + + proto.setRuntimeAttribute = function(attr) { + if ( this.patterns.points.test(attr) ) { + var el = this.getEl(); + var attributes = this.attributes; + var start; + var control = attributes['points']['control'] || []; + var end; + var i, len; + + if (control.length > 0 && !(control[0] instanceof Array) ) { // could be single point or array of points + control = [control]; + } else { // break reference to attributes.points.control + var tmp = []; + for (i = 0, len = control.length; i< len; ++i) { + tmp[i] = control[i]; + } + control = tmp; + } + + if (Y.Dom.getStyle(el, 'position') == 'static') { // default to relative + Y.Dom.setStyle(el, 'position', 'relative'); + } + + if ( isset(attributes['points']['from']) ) { + Y.Dom.setXY(el, attributes['points']['from']); // set position to from point + } + else { Y.Dom.setXY( el, Y.Dom.getXY(el) ); } // set it to current position + + start = this.getAttribute('points'); // get actual top & left + + // TO beats BY, per SMIL 2.1 spec + if ( isset(attributes['points']['to']) ) { + end = translateValues.call(this, attributes['points']['to'], start); + + var pageXY = Y.Dom.getXY(this.getEl()); + for (i = 0, len = control.length; i < len; ++i) { + control[i] = translateValues.call(this, control[i], start); + } + + + } else if ( isset(attributes['points']['by']) ) { + end = [ start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1] ]; + + for (i = 0, len = control.length; i < len; ++i) { + control[i] = [ start[0] + control[i][0], start[1] + control[i][1] ]; + } + } + + this.runtimeAttributes[attr] = [start]; + + if (control.length > 0) { + this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control); + } + + this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end; + } + else { + superclass.setRuntimeAttribute.call(this, attr); + } + }; + + var translateValues = function(val, start) { + var pageXY = Y.Dom.getXY(this.getEl()); + val = [ val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1] ]; + + return val; + }; + + var isset = function(prop) { + return (typeof prop !== 'undefined'); + }; + + Y.Motion = Motion; +})(); +(function() { +/** + * Anim subclass for scrolling elements to a position defined by the "scroll" + * member of "attributes". All "scroll" members are arrays with x, y scroll positions. + *

Usage: var myAnim = new YAHOO.util.Scroll(el, { scroll: { to: [0, 800] } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Scroll + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @extends YAHOO.util.ColorAnim + * @constructor + * @param {String or HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var Scroll = function(el, attributes, duration, method) { + if (el) { // dont break existing subclasses not using YAHOO.extend + Scroll.superclass.constructor.call(this, el, attributes, duration, method); + } + }; + + Scroll.NAME = 'Scroll'; + + // shorthand + var Y = YAHOO.util; + YAHOO.extend(Scroll, Y.ColorAnim); + + var superclass = Scroll.superclass; + var proto = Scroll.prototype; + + proto.doMethod = function(attr, start, end) { + var val = null; + + if (attr == 'scroll') { + val = [ + this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames), + this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames) + ]; + + } else { + val = superclass.doMethod.call(this, attr, start, end); + } + return val; + }; + + proto.getAttribute = function(attr) { + var val = null; + var el = this.getEl(); + + if (attr == 'scroll') { + val = [ el.scrollLeft, el.scrollTop ]; + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.setAttribute = function(attr, val, unit) { + var el = this.getEl(); + + if (attr == 'scroll') { + el.scrollLeft = val[0]; + el.scrollTop = val[1]; + } else { + superclass.setAttribute.call(this, attr, val, unit); + } + }; + + Y.Scroll = Scroll; +})(); +YAHOO.register("animation", YAHOO.util.Anim, {version: "2.8.0r4", build: "2449"}); diff --git a/pylons_app/public/js/yui/animation/animation-min.js b/pylons_app/public/js/yui/animation/animation-min.js new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/animation/animation-min.js @@ -0,0 +1,23 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,F,E){var D=this.getEl();if(this.patterns.noNegatives.test(C)){F=(F>0)?F:0;}if(C in D&&!("style" in D&&C in D.style)){D[C]=F;}else{B.Dom.setStyle(D,C,F+E);}},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if("style" in E){if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}}else{if(C in E){G=E[C];}}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};this._queue=B;this._getIndex=E;};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.8.0r4",build:"2449"}); \ No newline at end of file diff --git a/pylons_app/public/js/yui/animation/animation.js b/pylons_app/public/js/yui/animation/animation.js new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/animation/animation.js @@ -0,0 +1,1392 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +(function() { + +var Y = YAHOO.util; + +/* +Copyright (c) 2006, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +*/ + +/** + * The animation module provides allows effects to be added to HTMLElements. + * @module animation + * @requires yahoo, event, dom + */ + +/** + * + * Base animation class that provides the interface for building animated effects. + *

Usage: var myAnim = new YAHOO.util.Anim(el, { width: { from: 10, to: 100 } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Anim + * @namespace YAHOO.util + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @constructor + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + +var Anim = function(el, attributes, duration, method) { + if (!el) { + } + this.init(el, attributes, duration, method); +}; + +Anim.NAME = 'Anim'; + +Anim.prototype = { + /** + * Provides a readable name for the Anim instance. + * @method toString + * @return {String} + */ + toString: function() { + var el = this.getEl() || {}; + var id = el.id || el.tagName; + return (this.constructor.NAME + ': ' + id); + }, + + patterns: { // cached for performance + noNegatives: /width|height|opacity|padding/i, // keep at zero or above + offsetAttribute: /^((width|height)|(top|left))$/, // use offsetValue as default + defaultUnit: /width|height|top$|bottom$|left$|right$/i, // use 'px' by default + offsetUnit: /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i // IE may return these, so convert these to offset + }, + + /** + * Returns the value computed by the animation's "method". + * @method doMethod + * @param {String} attr The name of the attribute. + * @param {Number} start The value this attribute should start from for this animation. + * @param {Number} end The value this attribute should end at for this animation. + * @return {Number} The Value to be applied to the attribute. + */ + doMethod: function(attr, start, end) { + return this.method(this.currentFrame, start, end - start, this.totalFrames); + }, + + /** + * Applies a value to an attribute. + * @method setAttribute + * @param {String} attr The name of the attribute. + * @param {Number} val The value to be applied to the attribute. + * @param {String} unit The unit ('px', '%', etc.) of the value. + */ + setAttribute: function(attr, val, unit) { + var el = this.getEl(); + if ( this.patterns.noNegatives.test(attr) ) { + val = (val > 0) ? val : 0; + } + + if (attr in el && !('style' in el && attr in el.style)) { + el[attr] = val; + } else { + Y.Dom.setStyle(el, attr, val + unit); + } + }, + + /** + * Returns current value of the attribute. + * @method getAttribute + * @param {String} attr The name of the attribute. + * @return {Number} val The current value of the attribute. + */ + getAttribute: function(attr) { + var el = this.getEl(); + var val = Y.Dom.getStyle(el, attr); + + if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) { + return parseFloat(val); + } + + var a = this.patterns.offsetAttribute.exec(attr) || []; + var pos = !!( a[3] ); // top or left + var box = !!( a[2] ); // width or height + + if ('style' in el) { + // use offsets for width/height and abs pos top/left + if ( box || (Y.Dom.getStyle(el, 'position') == 'absolute' && pos) ) { + val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)]; + } else { // default to zero for other 'auto' + val = 0; + } + } else if (attr in el) { + val = el[attr]; + } + + return val; + }, + + /** + * Returns the unit to use when none is supplied. + * @method getDefaultUnit + * @param {attr} attr The name of the attribute. + * @return {String} The default unit to be used. + */ + getDefaultUnit: function(attr) { + if ( this.patterns.defaultUnit.test(attr) ) { + return 'px'; + } + + return ''; + }, + + /** + * Sets the actual values to be used during the animation. Should only be needed for subclass use. + * @method setRuntimeAttribute + * @param {Object} attr The attribute object + * @private + */ + setRuntimeAttribute: function(attr) { + var start; + var end; + var attributes = this.attributes; + + this.runtimeAttributes[attr] = {}; + + var isset = function(prop) { + return (typeof prop !== 'undefined'); + }; + + if ( !isset(attributes[attr]['to']) && !isset(attributes[attr]['by']) ) { + return false; // note return; nothing to animate to + } + + start = ( isset(attributes[attr]['from']) ) ? attributes[attr]['from'] : this.getAttribute(attr); + + // To beats by, per SMIL 2.1 spec + if ( isset(attributes[attr]['to']) ) { + end = attributes[attr]['to']; + } else if ( isset(attributes[attr]['by']) ) { + if (start.constructor == Array) { + end = []; + for (var i = 0, len = start.length; i < len; ++i) { + end[i] = start[i] + attributes[attr]['by'][i] * 1; // times 1 to cast "by" + } + } else { + end = start + attributes[attr]['by'] * 1; + } + } + + this.runtimeAttributes[attr].start = start; + this.runtimeAttributes[attr].end = end; + + // set units if needed + this.runtimeAttributes[attr].unit = ( isset(attributes[attr].unit) ) ? + attributes[attr]['unit'] : this.getDefaultUnit(attr); + return true; + }, + + /** + * Constructor for Anim instance. + * @method init + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + init: function(el, attributes, duration, method) { + /** + * Whether or not the animation is running. + * @property isAnimated + * @private + * @type Boolean + */ + var isAnimated = false; + + /** + * A Date object that is created when the animation begins. + * @property startTime + * @private + * @type Date + */ + var startTime = null; + + /** + * The number of frames this animation was able to execute. + * @property actualFrames + * @private + * @type Int + */ + var actualFrames = 0; + + /** + * The element to be animated. + * @property el + * @private + * @type HTMLElement + */ + el = Y.Dom.get(el); + + /** + * The collection of attributes to be animated. + * Each attribute must have at least a "to" or "by" defined in order to animate. + * If "to" is supplied, the animation will end with the attribute at that value. + * If "by" is supplied, the animation will end at that value plus its starting value. + * If both are supplied, "to" is used, and "by" is ignored. + * Optional additional member include "from" (the value the attribute should start animating from, defaults to current value), and "unit" (the units to apply to the values). + * @property attributes + * @type Object + */ + this.attributes = attributes || {}; + + /** + * The length of the animation. Defaults to "1" (second). + * @property duration + * @type Number + */ + this.duration = !YAHOO.lang.isUndefined(duration) ? duration : 1; + + /** + * The method that will provide values to the attribute(s) during the animation. + * Defaults to "YAHOO.util.Easing.easeNone". + * @property method + * @type Function + */ + this.method = method || Y.Easing.easeNone; + + /** + * Whether or not the duration should be treated as seconds. + * Defaults to true. + * @property useSeconds + * @type Boolean + */ + this.useSeconds = true; // default to seconds + + /** + * The location of the current animation on the timeline. + * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time. + * @property currentFrame + * @type Int + */ + this.currentFrame = 0; + + /** + * The total number of frames to be executed. + * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time. + * @property totalFrames + * @type Int + */ + this.totalFrames = Y.AnimMgr.fps; + + /** + * Changes the animated element + * @method setEl + */ + this.setEl = function(element) { + el = Y.Dom.get(element); + }; + + /** + * Returns a reference to the animated element. + * @method getEl + * @return {HTMLElement} + */ + this.getEl = function() { return el; }; + + /** + * Checks whether the element is currently animated. + * @method isAnimated + * @return {Boolean} current value of isAnimated. + */ + this.isAnimated = function() { + return isAnimated; + }; + + /** + * Returns the animation start time. + * @method getStartTime + * @return {Date} current value of startTime. + */ + this.getStartTime = function() { + return startTime; + }; + + this.runtimeAttributes = {}; + + + + /** + * Starts the animation by registering it with the animation manager. + * @method animate + */ + this.animate = function() { + if ( this.isAnimated() ) { + return false; + } + + this.currentFrame = 0; + + this.totalFrames = ( this.useSeconds ) ? Math.ceil(Y.AnimMgr.fps * this.duration) : this.duration; + + if (this.duration === 0 && this.useSeconds) { // jump to last frame if zero second duration + this.totalFrames = 1; + } + Y.AnimMgr.registerElement(this); + return true; + }; + + /** + * Stops the animation. Normally called by AnimMgr when animation completes. + * @method stop + * @param {Boolean} finish (optional) If true, animation will jump to final frame. + */ + this.stop = function(finish) { + if (!this.isAnimated()) { // nothing to stop + return false; + } + + if (finish) { + this.currentFrame = this.totalFrames; + this._onTween.fire(); + } + Y.AnimMgr.stop(this); + }; + + var onStart = function() { + this.onStart.fire(); + + this.runtimeAttributes = {}; + for (var attr in this.attributes) { + this.setRuntimeAttribute(attr); + } + + isAnimated = true; + actualFrames = 0; + startTime = new Date(); + }; + + /** + * Feeds the starting and ending values for each animated attribute to doMethod once per frame, then applies the resulting value to the attribute(s). + * @private + */ + + var onTween = function() { + var data = { + duration: new Date() - this.getStartTime(), + currentFrame: this.currentFrame + }; + + data.toString = function() { + return ( + 'duration: ' + data.duration + + ', currentFrame: ' + data.currentFrame + ); + }; + + this.onTween.fire(data); + + var runtimeAttributes = this.runtimeAttributes; + + for (var attr in runtimeAttributes) { + this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit); + } + + actualFrames += 1; + }; + + var onComplete = function() { + var actual_duration = (new Date() - startTime) / 1000 ; + + var data = { + duration: actual_duration, + frames: actualFrames, + fps: actualFrames / actual_duration + }; + + data.toString = function() { + return ( + 'duration: ' + data.duration + + ', frames: ' + data.frames + + ', fps: ' + data.fps + ); + }; + + isAnimated = false; + actualFrames = 0; + this.onComplete.fire(data); + }; + + /** + * Custom event that fires after onStart, useful in subclassing + * @private + */ + this._onStart = new Y.CustomEvent('_start', this, true); + + /** + * Custom event that fires when animation begins + * Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction) + * @event onStart + */ + this.onStart = new Y.CustomEvent('start', this); + + /** + * Custom event that fires between each frame + * Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction) + * @event onTween + */ + this.onTween = new Y.CustomEvent('tween', this); + + /** + * Custom event that fires after onTween + * @private + */ + this._onTween = new Y.CustomEvent('_tween', this, true); + + /** + * Custom event that fires when animation ends + * Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction) + * @event onComplete + */ + this.onComplete = new Y.CustomEvent('complete', this); + /** + * Custom event that fires after onComplete + * @private + */ + this._onComplete = new Y.CustomEvent('_complete', this, true); + + this._onStart.subscribe(onStart); + this._onTween.subscribe(onTween); + this._onComplete.subscribe(onComplete); + } +}; + + Y.Anim = Anim; +})(); +/** + * Handles animation queueing and threading. + * Used by Anim and subclasses. + * @class AnimMgr + * @namespace YAHOO.util + */ +YAHOO.util.AnimMgr = new function() { + /** + * Reference to the animation Interval. + * @property thread + * @private + * @type Int + */ + var thread = null; + + /** + * The current queue of registered animation objects. + * @property queue + * @private + * @type Array + */ + var queue = []; + + /** + * The number of active animations. + * @property tweenCount + * @private + * @type Int + */ + var tweenCount = 0; + + /** + * Base frame rate (frames per second). + * Arbitrarily high for better x-browser calibration (slower browsers drop more frames). + * @property fps + * @type Int + * + */ + this.fps = 1000; + + /** + * Interval delay in milliseconds, defaults to fastest possible. + * @property delay + * @type Int + * + */ + this.delay = 1; + + /** + * Adds an animation instance to the animation queue. + * All animation instances must be registered in order to animate. + * @method registerElement + * @param {object} tween The Anim instance to be be registered + */ + this.registerElement = function(tween) { + queue[queue.length] = tween; + tweenCount += 1; + tween._onStart.fire(); + this.start(); + }; + + /** + * removes an animation instance from the animation queue. + * All animation instances must be registered in order to animate. + * @method unRegister + * @param {object} tween The Anim instance to be be registered + * @param {Int} index The index of the Anim instance + * @private + */ + this.unRegister = function(tween, index) { + index = index || getIndex(tween); + if (!tween.isAnimated() || index === -1) { + return false; + } + + tween._onComplete.fire(); + queue.splice(index, 1); + + tweenCount -= 1; + if (tweenCount <= 0) { + this.stop(); + } + + return true; + }; + + /** + * Starts the animation thread. + * Only one thread can run at a time. + * @method start + */ + this.start = function() { + if (thread === null) { + thread = setInterval(this.run, this.delay); + } + }; + + /** + * Stops the animation thread or a specific animation instance. + * @method stop + * @param {object} tween A specific Anim instance to stop (optional) + * If no instance given, Manager stops thread and all animations. + */ + this.stop = function(tween) { + if (!tween) { + clearInterval(thread); + + for (var i = 0, len = queue.length; i < len; ++i) { + this.unRegister(queue[0], 0); + } + + queue = []; + thread = null; + tweenCount = 0; + } + else { + this.unRegister(tween); + } + }; + + /** + * Called per Interval to handle each animation frame. + * @method run + */ + this.run = function() { + for (var i = 0, len = queue.length; i < len; ++i) { + var tween = queue[i]; + if ( !tween || !tween.isAnimated() ) { continue; } + + if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null) + { + tween.currentFrame += 1; + + if (tween.useSeconds) { + correctFrame(tween); + } + tween._onTween.fire(); + } + else { YAHOO.util.AnimMgr.stop(tween, i); } + } + }; + + var getIndex = function(anim) { + for (var i = 0, len = queue.length; i < len; ++i) { + if (queue[i] === anim) { + return i; // note return; + } + } + return -1; + }; + + /** + * On the fly frame correction to keep animation on time. + * @method correctFrame + * @private + * @param {Object} tween The Anim instance being corrected. + */ + var correctFrame = function(tween) { + var frames = tween.totalFrames; + var frame = tween.currentFrame; + var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames); + var elapsed = (new Date() - tween.getStartTime()); + var tweak = 0; + + if (elapsed < tween.duration * 1000) { // check if falling behind + tweak = Math.round((elapsed / expected - 1) * tween.currentFrame); + } else { // went over duration, so jump to end + tweak = frames - (frame + 1); + } + if (tweak > 0 && isFinite(tweak)) { // adjust if needed + if (tween.currentFrame + tweak >= frames) {// dont go past last frame + tweak = frames - (frame + 1); + } + + tween.currentFrame += tweak; + } + }; + this._queue = queue; + this._getIndex = getIndex; +}; +/** + * Used to calculate Bezier splines for any number of control points. + * @class Bezier + * @namespace YAHOO.util + * + */ +YAHOO.util.Bezier = new function() { + /** + * Get the current position of the animated element based on t. + * Each point is an array of "x" and "y" values (0 = x, 1 = y) + * At least 2 points are required (start and end). + * First point is start. Last point is end. + * Additional control points are optional. + * @method getPosition + * @param {Array} points An array containing Bezier points + * @param {Number} t A number between 0 and 1 which is the basis for determining current position + * @return {Array} An array containing int x and y member data + */ + this.getPosition = function(points, t) { + var n = points.length; + var tmp = []; + + for (var i = 0; i < n; ++i){ + tmp[i] = [points[i][0], points[i][1]]; // save input + } + + for (var j = 1; j < n; ++j) { + for (i = 0; i < n - j; ++i) { + tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0]; + tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1]; + } + } + + return [ tmp[0][0], tmp[0][1] ]; + + }; +}; +(function() { +/** + * Anim subclass for color transitions. + *

Usage: var myAnim = new Y.ColorAnim(el, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 1, Y.Easing.easeOut); Color values can be specified with either 112233, #112233, + * [255,255,255], or rgb(255,255,255)

+ * @class ColorAnim + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @constructor + * @extends YAHOO.util.Anim + * @param {HTMLElement | String} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var ColorAnim = function(el, attributes, duration, method) { + ColorAnim.superclass.constructor.call(this, el, attributes, duration, method); + }; + + ColorAnim.NAME = 'ColorAnim'; + + ColorAnim.DEFAULT_BGCOLOR = '#fff'; + // shorthand + var Y = YAHOO.util; + YAHOO.extend(ColorAnim, Y.Anim); + + var superclass = ColorAnim.superclass; + var proto = ColorAnim.prototype; + + proto.patterns.color = /color$/i; + proto.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i; + proto.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i; + proto.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i; + proto.patterns.transparent = /^transparent|rgba\(0, 0, 0, 0\)$/; // need rgba for safari + + /** + * Attempts to parse the given string and return a 3-tuple. + * @method parseColor + * @param {String} s The string to parse. + * @return {Array} The 3-tuple of rgb values. + */ + proto.parseColor = function(s) { + if (s.length == 3) { return s; } + + var c = this.patterns.hex.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16) ]; + } + + c = this.patterns.rgb.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10) ]; + } + + c = this.patterns.hex3.exec(s); + if (c && c.length == 4) { + return [ parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16) ]; + } + + return null; + }; + + proto.getAttribute = function(attr) { + var el = this.getEl(); + if (this.patterns.color.test(attr) ) { + var val = YAHOO.util.Dom.getStyle(el, attr); + + var that = this; + if (this.patterns.transparent.test(val)) { // bgcolor default + var parent = YAHOO.util.Dom.getAncestorBy(el, function(node) { + return !that.patterns.transparent.test(val); + }); + + if (parent) { + val = Y.Dom.getStyle(parent, attr); + } else { + val = ColorAnim.DEFAULT_BGCOLOR; + } + } + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.doMethod = function(attr, start, end) { + var val; + + if ( this.patterns.color.test(attr) ) { + val = []; + for (var i = 0, len = start.length; i < len; ++i) { + val[i] = superclass.doMethod.call(this, attr, start[i], end[i]); + } + + val = 'rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')'; + } + else { + val = superclass.doMethod.call(this, attr, start, end); + } + + return val; + }; + + proto.setRuntimeAttribute = function(attr) { + superclass.setRuntimeAttribute.call(this, attr); + + if ( this.patterns.color.test(attr) ) { + var attributes = this.attributes; + var start = this.parseColor(this.runtimeAttributes[attr].start); + var end = this.parseColor(this.runtimeAttributes[attr].end); + // fix colors if going "by" + if ( typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined' ) { + end = this.parseColor(attributes[attr].by); + + for (var i = 0, len = start.length; i < len; ++i) { + end[i] = start[i] + end[i]; + } + } + + this.runtimeAttributes[attr].start = start; + this.runtimeAttributes[attr].end = end; + } + }; + + Y.ColorAnim = ColorAnim; +})(); +/*! +TERMS OF USE - EASING EQUATIONS +Open source under the BSD License. +Copyright 2001 Robert Penner All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * Singleton that determines how an animation proceeds from start to end. + * @class Easing + * @namespace YAHOO.util +*/ + +YAHOO.util.Easing = { + + /** + * Uniform speed between points. + * @method easeNone + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeNone: function (t, b, c, d) { + return c*t/d + b; + }, + + /** + * Begins slowly and accelerates towards end. + * @method easeIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeIn: function (t, b, c, d) { + return c*(t/=d)*t + b; + }, + + /** + * Begins quickly and decelerates towards end. + * @method easeOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeOut: function (t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + + /** + * Begins slowly and decelerates towards end. + * @method easeBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeBoth: function (t, b, c, d) { + if ((t/=d/2) < 1) { + return c/2*t*t + b; + } + + return -c/2 * ((--t)*(t-2) - 1) + b; + }, + + /** + * Begins slowly and accelerates towards end. + * @method easeInStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeInStrong: function (t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + + /** + * Begins quickly and decelerates towards end. + * @method easeOutStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeOutStrong: function (t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + + /** + * Begins slowly and decelerates towards end. + * @method easeBothStrong + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + easeBothStrong: function (t, b, c, d) { + if ((t/=d/2) < 1) { + return c/2*t*t*t*t + b; + } + + return -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + + /** + * Snap in elastic effect. + * @method elasticIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + + elasticIn: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + if ( (t /= d) == 1 ) { + return b+c; + } + if (!p) { + p=d*.3; + } + + if (!a || a < Math.abs(c)) { + a = c; + var s = p/4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + }, + + /** + * Snap out elastic effect. + * @method elasticOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + elasticOut: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + if ( (t /= d) == 1 ) { + return b+c; + } + if (!p) { + p=d*.3; + } + + if (!a || a < Math.abs(c)) { + a = c; + var s = p / 4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; + }, + + /** + * Snap both elastic effect. + * @method elasticBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} a Amplitude (optional) + * @param {Number} p Period (optional) + * @return {Number} The computed value for the current animation frame + */ + elasticBoth: function (t, b, c, d, a, p) { + if (t == 0) { + return b; + } + + if ( (t /= d/2) == 2 ) { + return b+c; + } + + if (!p) { + p = d*(.3*1.5); + } + + if ( !a || a < Math.abs(c) ) { + a = c; + var s = p/4; + } + else { + var s = p/(2*Math.PI) * Math.asin (c/a); + } + + if (t < 1) { + return -.5*(a*Math.pow(2,10*(t-=1)) * + Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + } + return a*Math.pow(2,-10*(t-=1)) * + Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + }, + + + /** + * Backtracks slightly, then reverses direction and moves to end. + * @method backIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backIn: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + + /** + * Overshoots end, then reverses and comes back to end. + * @method backOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backOut: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + + /** + * Backtracks slightly, then reverses direction, overshoots end, + * then reverses and comes back to end. + * @method backBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @param {Number} s Overshoot (optional) + * @return {Number} The computed value for the current animation frame + */ + backBoth: function (t, b, c, d, s) { + if (typeof s == 'undefined') { + s = 1.70158; + } + + if ((t /= d/2 ) < 1) { + return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + } + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + + /** + * Bounce off of start. + * @method bounceIn + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceIn: function (t, b, c, d) { + return c - YAHOO.util.Easing.bounceOut(d-t, 0, c, d) + b; + }, + + /** + * Bounces off end. + * @method bounceOut + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceOut: function (t, b, c, d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + }, + + /** + * Bounces off start and end. + * @method bounceBoth + * @param {Number} t Time value used to compute current value + * @param {Number} b Starting value + * @param {Number} c Delta between start and end values + * @param {Number} d Total length of animation + * @return {Number} The computed value for the current animation frame + */ + bounceBoth: function (t, b, c, d) { + if (t < d/2) { + return YAHOO.util.Easing.bounceIn(t*2, 0, c, d) * .5 + b; + } + return YAHOO.util.Easing.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b; + } +}; + +(function() { +/** + * Anim subclass for moving elements along a path defined by the "points" + * member of "attributes". All "points" are arrays with x, y coordinates. + *

Usage: var myAnim = new YAHOO.util.Motion(el, { points: { to: [800, 800] } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Motion + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @constructor + * @extends YAHOO.util.ColorAnim + * @param {String | HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var Motion = function(el, attributes, duration, method) { + if (el) { // dont break existing subclasses not using YAHOO.extend + Motion.superclass.constructor.call(this, el, attributes, duration, method); + } + }; + + + Motion.NAME = 'Motion'; + + // shorthand + var Y = YAHOO.util; + YAHOO.extend(Motion, Y.ColorAnim); + + var superclass = Motion.superclass; + var proto = Motion.prototype; + + proto.patterns.points = /^points$/i; + + proto.setAttribute = function(attr, val, unit) { + if ( this.patterns.points.test(attr) ) { + unit = unit || 'px'; + superclass.setAttribute.call(this, 'left', val[0], unit); + superclass.setAttribute.call(this, 'top', val[1], unit); + } else { + superclass.setAttribute.call(this, attr, val, unit); + } + }; + + proto.getAttribute = function(attr) { + if ( this.patterns.points.test(attr) ) { + var val = [ + superclass.getAttribute.call(this, 'left'), + superclass.getAttribute.call(this, 'top') + ]; + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.doMethod = function(attr, start, end) { + var val = null; + + if ( this.patterns.points.test(attr) ) { + var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100; + val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t); + } else { + val = superclass.doMethod.call(this, attr, start, end); + } + return val; + }; + + proto.setRuntimeAttribute = function(attr) { + if ( this.patterns.points.test(attr) ) { + var el = this.getEl(); + var attributes = this.attributes; + var start; + var control = attributes['points']['control'] || []; + var end; + var i, len; + + if (control.length > 0 && !(control[0] instanceof Array) ) { // could be single point or array of points + control = [control]; + } else { // break reference to attributes.points.control + var tmp = []; + for (i = 0, len = control.length; i< len; ++i) { + tmp[i] = control[i]; + } + control = tmp; + } + + if (Y.Dom.getStyle(el, 'position') == 'static') { // default to relative + Y.Dom.setStyle(el, 'position', 'relative'); + } + + if ( isset(attributes['points']['from']) ) { + Y.Dom.setXY(el, attributes['points']['from']); // set position to from point + } + else { Y.Dom.setXY( el, Y.Dom.getXY(el) ); } // set it to current position + + start = this.getAttribute('points'); // get actual top & left + + // TO beats BY, per SMIL 2.1 spec + if ( isset(attributes['points']['to']) ) { + end = translateValues.call(this, attributes['points']['to'], start); + + var pageXY = Y.Dom.getXY(this.getEl()); + for (i = 0, len = control.length; i < len; ++i) { + control[i] = translateValues.call(this, control[i], start); + } + + + } else if ( isset(attributes['points']['by']) ) { + end = [ start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1] ]; + + for (i = 0, len = control.length; i < len; ++i) { + control[i] = [ start[0] + control[i][0], start[1] + control[i][1] ]; + } + } + + this.runtimeAttributes[attr] = [start]; + + if (control.length > 0) { + this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control); + } + + this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end; + } + else { + superclass.setRuntimeAttribute.call(this, attr); + } + }; + + var translateValues = function(val, start) { + var pageXY = Y.Dom.getXY(this.getEl()); + val = [ val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1] ]; + + return val; + }; + + var isset = function(prop) { + return (typeof prop !== 'undefined'); + }; + + Y.Motion = Motion; +})(); +(function() { +/** + * Anim subclass for scrolling elements to a position defined by the "scroll" + * member of "attributes". All "scroll" members are arrays with x, y scroll positions. + *

Usage: var myAnim = new YAHOO.util.Scroll(el, { scroll: { to: [0, 800] } }, 1, YAHOO.util.Easing.easeOut);

+ * @class Scroll + * @namespace YAHOO.util + * @requires YAHOO.util.Anim + * @requires YAHOO.util.AnimMgr + * @requires YAHOO.util.Easing + * @requires YAHOO.util.Bezier + * @requires YAHOO.util.Dom + * @requires YAHOO.util.Event + * @requires YAHOO.util.CustomEvent + * @extends YAHOO.util.ColorAnim + * @constructor + * @param {String or HTMLElement} el Reference to the element that will be animated + * @param {Object} attributes The attribute(s) to be animated. + * Each attribute is an object with at minimum a "to" or "by" member defined. + * Additional optional members are "from" (defaults to current value), "units" (defaults to "px"). + * All attribute names use camelCase. + * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based + * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method) + */ + var Scroll = function(el, attributes, duration, method) { + if (el) { // dont break existing subclasses not using YAHOO.extend + Scroll.superclass.constructor.call(this, el, attributes, duration, method); + } + }; + + Scroll.NAME = 'Scroll'; + + // shorthand + var Y = YAHOO.util; + YAHOO.extend(Scroll, Y.ColorAnim); + + var superclass = Scroll.superclass; + var proto = Scroll.prototype; + + proto.doMethod = function(attr, start, end) { + var val = null; + + if (attr == 'scroll') { + val = [ + this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames), + this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames) + ]; + + } else { + val = superclass.doMethod.call(this, attr, start, end); + } + return val; + }; + + proto.getAttribute = function(attr) { + var val = null; + var el = this.getEl(); + + if (attr == 'scroll') { + val = [ el.scrollLeft, el.scrollTop ]; + } else { + val = superclass.getAttribute.call(this, attr); + } + + return val; + }; + + proto.setAttribute = function(attr, val, unit) { + var el = this.getEl(); + + if (attr == 'scroll') { + el.scrollLeft = val[0]; + el.scrollTop = val[1]; + } else { + superclass.setAttribute.call(this, attr, val, unit); + } + }; + + Y.Scroll = Scroll; +})(); +YAHOO.register("animation", YAHOO.util.Anim, {version: "2.8.0r4", build: "2449"}); diff --git a/pylons_app/public/js/yui/assets/skins/sam/ajax-loader.gif b/pylons_app/public/js/yui/assets/skins/sam/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe2cd23b3a3c017ae6acfd291135a998e2f8ee74 GIT binary patch literal 3208 zc$~$Tdr(tX9>*`aH#d)ab@kq01A!Wlh)@ebf$~%#K!AWe1O!Eq7&V9r@(>6D;gJW( zGlZ7`C4s~ct%#t4R?9;QYH{#|kE#o_6+uO&>q0xbvw!f%&g@M0{CVb_IrI7c zzTfZ6;Rg7*xW+R9Ch!gbK7RbTd-v|gj~{n+b=|&wyT89*DwQ@gG)zrR&Cbq_jg4hw zWC(>q;9tw)BeKyqViU(J)OU>?8#J2V`iCheWmkOKE&($mAx+4P-y5H~FDYJNmvCTr z5@7KQM4`@|T0MVz{!sv$S~47v5U-sXnd0*#R!x4WaZ5PCOBr!?HA%Z>)1)oi$=?3j zeoeB4sJic4wh3X0yVW3@W7KFz2(Y#I&7ZT%Ys1ncBdE|~t!sqS#n@XeHu^=f<{f>r zU1tR}Qbs1%GX|pWp+SWi{(PzVA=t}P!KOsTHpa@`DFh(t~IFq^(C5)GeerLn5~Q;UzJ#CZ7U+2!Md#TRNRR}}oO@hztOp%C9aZcu$5H)fk%ujeDLzlMZ0 zrb?dyGqL;up`GhX&(uBd^N#H-eYb1U9D87kRg6h@17G+63$f44v&Xc~jGTz^bD}l* zRo>Nv!vo3)KAn3pP;#mF<*6V;lVHO1%}Pnk{!GU6a^(PO3^8L-8f`qwI6)*L zU;YAbD;eS zZvxMx)V(&(H8BAwa3nLYgs+Yk{Jhtnz!a2Y&T@h)q7ae(-_gu944!`&$=w z|L^0s)z6Gr+xTh)+iEItx^5seoZ>}Rx>pt_NtQN4)eEVksft`b;nwUjA7 z1a^Gd>nHrO5(eWjMi>-Ywj-Hk)-Sd9_6v>O8M$b3(fWwdG{R>4WSGQV8ItBhjE^%* zg|f`|`B(?nH{eKP(?Lo}+RpkWEuz*m=n#IhX3fzKAF#SI7(`Jw^Qv>EJv~T;KrLqx z;9eBY(>StHZIIqeRq2ILq3>E+H`)TkM2bz00BMhEpFOMk#;3&USzto&E06J*arcr3 zXK-=7z@wTOLMTX!{>kH@^=C`H7cV^ick=}h-ZobNmVqp0Q*9+pt@91rVyHZg-Ns%A z2^1xN`#k2fj{06$P@DKXOnq2fggH&5V^>hem=6K8LL=jo%>-!UBK~GXRwhobk~yiU zvwbNAKT}SzviOWo)@^4IlI&9sneTJ84pLO(aBUsQeYsTTT6Y{)HC8vn4U!h6!4(v< z%FKue0v<_l?d*h`Fg=q)CiNgBOR2Xxh&an!m+()y6 zo~{oCuA_)j72*gW_eXnu@4SP4RH&j}Skb$mU0-S>00@DjD{L^yUy`Gi_V-#X*aR>B zLkG#66`02A@cu0ui)}+~jZRLu-?IwMwpDH{=zSIIJ6idZ1v$?lGGxsYA4)@9igUov ze5$(j$Gcbk>yElmyzAU4XHQvLlMRhqzI&8*S;03G^Hy-IdGcZ$EG;8uH&@q5=1L@#x#>Pdr_^kAmhO?cI?Ds=ql;%H-ZHF^@S9(&>QjQ1R=1m0t>zT)X5n)EWt1#HOHjLojx^eK2fZQ)M* zQ-Uxj0uezgtBOTV)T%nPT3J?6Uviuyaif6qLLdn7cOhVdVO|JQCqlZw@SW44%>X+C zUpZLk>H)7-8`IoTCYnKrXol4=oZoE(x-&?nr z8Ho{*Y)(L;*?vB6g={CUN`Z-8C`H-viW--O1F9N&eM7ZYRuEO`CbuWT@IklWdeHNyVnV!p_9g?IdS_0$v8@RfucvC$RU_Nz0k?Tv-ZX7MM4DEWVrfJpQYc*+1>8Q8n`!^SnKJm(5( zhYA%O30NW?Hnu@bs7rz#_@CLV=AzCN!u3yh(R3YF__Db}Vdtz7oY6CK39zVI_^_Ww zN>3-H*gG?$o#4U%_c*Cp8bSjj1H;W8aq^V?oqWI zdnyQudz|SE@}+_LT-(c-^#HNNG&pH_H+Jz7QGDR$5Px}eKj?<#Zu>0Cc4WWtkB|v3 xZam~x3J-YOxp9LXFr&I9_yx$ld2m$s!*V>|4D->DyvL3pWT&|Vxc~br@lWjkwJrbv diff --git a/pylons_app/public/js/yui/assets/skins/sam/asc.gif b/pylons_app/public/js/yui/assets/skins/sam/asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1fe7385d5ac940629233f0dc4bbd61f20959c3b GIT binary patch literal 177 zc${U}|FG@8_44nAqLjosyCg9vmZ){{V zVZwy=_I7V?@1UTd{Jgy0-d;-!i@3Nr8*A&jy1Ge|CjI~ap8*F@{K>+|z#z_`1LA<} zWMI{Mpc;3;cwWW@9gSBJVHf+nnA|VbC>rpbWp?Ig%aCo`z|eKb;Sk4i&s49uTz-lS F)&OweGlKvC diff --git a/pylons_app/public/js/yui/assets/skins/sam/autocomplete.css b/pylons_app/public/js/yui/assets/skins/sam/autocomplete.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/autocomplete.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-skin-sam .yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-skin-sam .yui-ac-input{position:absolute;width:100%;}.yui-skin-sam .yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-skin-sam .yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-skin-sam .yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-skin-sam .yui-ac iframe{opacity:0;filter:alpha(opacity=0);padding-right:.3em;padding-bottom:.3em;}.yui-skin-sam .yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-skin-sam .yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;list-style:none;zoom:1;}.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-skin-sam .yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/back-h.png b/pylons_app/public/js/yui/assets/skins/sam/back-h.png new file mode 100644 index 0000000000000000000000000000000000000000..5f69f4e2564357c83eddcecd5f104e14ecf09d49 GIT binary patch literal 334 zc%17D@N?(olHy`uVBq!ia0vp^8bBP#!2~4rHx?TMDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(ehe3dtTpz6=aiY77hwEes65fIoOOtf|Nms9M{<~TG{NqzV`0JLv$@3}2r!1e&d7^!S-DO!ayYtzu zlYbXZdwJtvz~-c)`W2~GWd>K)%(x?;HM38a$5dPGdwUdyvi-fkSZmx?=65Sx>H+$T N!PC{xWt~$(695Wxh_(O# diff --git a/pylons_app/public/js/yui/assets/skins/sam/back-v.png b/pylons_app/public/js/yui/assets/skins/sam/back-v.png new file mode 100644 index 0000000000000000000000000000000000000000..658574a9d560febf6f58a6a005e602ae734f97da GIT binary patch literal 338 zc%17D@N?(olHy`uVBq!ia0vp^fk3Rm!2~2Z4>V?gr~;43Vg?4j!ywFfJby(BP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eBzCyA`kS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy z2@DKYGZ+}e3+C(!v;j)&_H=O!$#8xetNtMognoD1W&+apvb;IkbSm6HPD+>;$YzUet;PS1vwR5kn@U@xAZc*X`bN{qf6~>%I#YFG@c*bNAWmV~4vw71T)EP4+yI zm~wtolli{h{KvO{m;tHh|I%4jCy1_T3f;gJc5v07ee4g7Yue6#khD9T{)1zz`*b-fq}tl1_Oh5!JJ)zHb9Bj zo-U3d8P0E~+HyA*iX83NS6;e=XVR0zjVBT|NT_&L{`FGpKAL2Fa>10KxKFts1mAI{ zTl(++c+cBw&>1Hg`q?f)-lTL;*t$N(e z5?hd3GOgj$2NlMp2LqYB{x-9SR9ACql#~mV9Q=7MjH&2tFH1^vHs=YGaG?o#I;s{w z@^7uZwW|JFk^J=j)5pJVtzYr_iPcWOb;5U<>=m}`da)?fz4zkhFyGbPdQqiUBy97q c5+S&cLBv9~EU0~*E702vp00i_>zopr03oxJMgRZ+ diff --git a/pylons_app/public/js/yui/assets/skins/sam/bar-v.png b/pylons_app/public/js/yui/assets/skins/sam/bar-v.png new file mode 100644 index 0000000000000000000000000000000000000000..2efd664d9abdddff7e06ec512e0198f5fcaf1a56 GIT binary patch literal 387 zc%17D@N?(olHy`uVBq!ia0vp^0YI$5!2~3qF}(@{Qk(@Ik;M!Qe1}1p@p%4<6rdnu zage(c!@6@aFM%AEbVpxD28NCO+{4xi!)|R=d;J&iHZ8yvVO_gGSA|3s-364JloT@b e|NoWUGS9D3dxyvWMZl0`VDNPHb6Mw<&;$VKhMGhG diff --git a/pylons_app/public/js/yui/assets/skins/sam/bg-h.gif b/pylons_app/public/js/yui/assets/skins/sam/bg-h.gif new file mode 100644 index 0000000000000000000000000000000000000000..996288916e82bf2972bb4b8097f1b4a0869955d2 GIT binary patch literal 212 zc$@*$04x7TNk%w1VbK5_0HOu};o;%Q$;qdur-_M)x3{;~*Vq65{{R30A^8LW000I6 zEC2ui0MP&(000A-Xu90~Fv>}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3yc&_h!@BhG{ za7Zi~kI1BQ$!t1BgQ#>$ty-_xtai)odcWYXI4gJ*&gisy&2GEj@VIs;jK6uCK7M Ova__cwzs%A2>?48g>Yp6 diff --git a/pylons_app/public/js/yui/assets/skins/sam/bg-v.gif b/pylons_app/public/js/yui/assets/skins/sam/bg-v.gif new file mode 100644 index 0000000000000000000000000000000000000000..8e287cd52222c75c8f921cfdd4b4ae02b783c0e4 GIT binary patch literal 481 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 diff --git a/pylons_app/public/js/yui/assets/skins/sam/button.css b/pylons_app/public/js/yui/assets/skins/sam/button.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/button.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-skin-sam .yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;_margin:0;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a,.yui-skin-sam .yui-button a:visited{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button a{*line-height:1.875;*padding-bottom:1px;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a,.yui-skin-sam .yui-button-disabled a:visited{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);} diff --git a/pylons_app/public/js/yui/assets/skins/sam/calendar.css b/pylons_app/public/js/yui/assets/skins/sam/calendar.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/calendar.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-calcontainer{position:relative;float:left;_overflow:hidden;}.yui-calcontainer iframe{position:absolute;border:none;margin:0;padding:0;z-index:0;width:100%;height:100%;left:0;top:0;}.yui-calcontainer iframe.fixedsize{width:50em;height:50em;top:-1px;left:-1px;}.yui-calcontainer.multi .groupcal{z-index:1;float:left;position:relative;}.yui-calcontainer .title{position:relative;z-index:1;}.yui-calcontainer .close-icon{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar{position:relative;}.yui-calendar .calnavleft{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calnavright{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calheader{position:relative;width:100%;text-align:center;}.yui-calcontainer .yui-cal-nav-mask{position:absolute;z-index:2;margin:0;padding:0;width:100%;height:100%;_width:0;_height:0;left:0;top:0;display:none;}.yui-calcontainer .yui-cal-nav{position:absolute;z-index:3;top:0;display:none;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{display:-moz-inline-box;display:inline-block;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{display:block;*display:inline-block;*overflow:visible;border:none;background-color:transparent;cursor:pointer;}.yui-calendar .calbody a:hover{background:inherit;}p#clear{clear:left;padding-top:10px;}.yui-skin-sam .yui-calcontainer{background-color:#f2f2f2;border:1px solid #808080;padding:10px;}.yui-skin-sam .yui-calcontainer.multi{padding:0 5px 0 5px;}.yui-skin-sam .yui-calcontainer.multi .groupcal{background-color:transparent;border:none;padding:10px 5px 10px 5px;margin:0;}.yui-skin-sam .yui-calcontainer .title{background:url(sprite.png) repeat-x 0 0;border-bottom:1px solid #ccc;font:100% sans-serif;color:#000;font-weight:bold;height:auto;padding:.4em;margin:0 -10px 10px -10px;top:0;left:0;text-align:left;}.yui-skin-sam .yui-calcontainer.multi .title{margin:0 -5px 0 -5px;}.yui-skin-sam .yui-calcontainer.withtitle{padding-top:0;}.yui-skin-sam .yui-calcontainer .calclose{background:url(sprite.png) no-repeat 0 -300px;width:25px;height:15px;top:.4em;right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar{border-spacing:0;border-collapse:collapse;font:100% sans-serif;text-align:center;margin:0;}.yui-skin-sam .yui-calendar .calhead{background:transparent;border:none;vertical-align:middle;padding:0;}.yui-skin-sam .yui-calendar .calheader{background:transparent;font-weight:bold;padding:0 0 .6em 0;text-align:center;}.yui-skin-sam .yui-calendar .calheader img{border:none;}.yui-skin-sam .yui-calendar .calnavleft{background:url(sprite.png) no-repeat 0 -450px;width:25px;height:15px;top:0;bottom:0;left:-10px;margin-left:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calnavright{background:url(sprite.png) no-repeat 0 -500px;width:25px;height:15px;top:0;bottom:0;right:-10px;margin-right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calweekdayrow{height:2em;}.yui-skin-sam .yui-calendar .calweekdayrow th{padding:0;border:none;}.yui-skin-sam .yui-calendar .calweekdaycell{color:#000;font-weight:bold;text-align:center;width:2em;}.yui-skin-sam .yui-calendar .calfoot{background-color:#f2f2f2;}.yui-skin-sam .yui-calendar .calrowhead,.yui-skin-sam .yui-calendar .calrowfoot{color:#a6a6a6;font-size:85%;font-style:normal;font-weight:normal;border:none;}.yui-skin-sam .yui-calendar .calrowhead{text-align:right;padding:0 2px 0 0;}.yui-skin-sam .yui-calendar .calrowfoot{text-align:left;padding:0 0 0 2px;}.yui-skin-sam .yui-calendar td.calcell{border:1px solid #ccc;background:#fff;padding:1px;height:1.6em;line-height:1.6em;text-align:center;white-space:nowrap;}.yui-skin-sam .yui-calendar td.calcell a{color:#06c;display:block;height:100%;text-decoration:none;}.yui-skin-sam .yui-calendar td.calcell.today{background-color:#000;}.yui-skin-sam .yui-calendar td.calcell.today a{background-color:#fff;}.yui-skin-sam .yui-calendar td.calcell.oom{background-color:#ccc;color:#a6a6a6;cursor:default;}.yui-skin-sam .yui-calendar td.calcell.selected{background-color:#fff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.selected a{background-color:#b3d4ff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.calcellhover{background-color:#426fd9;color:#fff;cursor:pointer;}.yui-skin-sam .yui-calendar td.calcell.calcellhover a{background-color:#426fd9;color:#fff;}.yui-skin-sam .yui-calendar td.calcell.previous{color:#e0e0e0;}.yui-skin-sam .yui-calendar td.calcell.restricted{text-decoration:line-through;}.yui-skin-sam .yui-calendar td.calcell.highlight1{background-color:#cf9;}.yui-skin-sam .yui-calendar td.calcell.highlight2{background-color:#9cf;}.yui-skin-sam .yui-calendar td.calcell.highlight3{background-color:#fcc;}.yui-skin-sam .yui-calendar td.calcell.highlight4{background-color:#cf9;}.yui-skin-sam .yui-calendar a.calnav{border:1px solid #f2f2f2;padding:0 4px;text-decoration:none;color:#000;zoom:1;}.yui-skin-sam .yui-calendar a.calnav:hover{background:url(sprite.png) repeat-x 0 0;border-color:#A0A0A0;cursor:pointer;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-calcontainer .yui-cal-nav{font-family:arial,helvetica,clean,sans-serif;font-size:93%;border:1px solid #808080;left:50%;margin-left:-7em;width:14em;padding:0;top:2.5em;background-color:#f2f2f2;}.yui-skin-sam .yui-calcontainer.withtitle .yui-cal-nav{top:4.5em;}.yui-skin-sam .yui-calcontainer.multi .yui-cal-nav{width:16em;margin-left:-8em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y,.yui-skin-sam .yui-calcontainer .yui-cal-nav-m,.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{padding:5px 10px 5px 10px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{text-align:center;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-e{margin-top:5px;padding:5px;background-color:#EDF5FF;border-top:1px solid black;display:none;}.yui-skin-sam .yui-calcontainer .yui-cal-nav label{display:block;font-weight:bold;} +.yui-skin-sam .yui-calcontainer .yui-cal-nav-mc{width:100%;_width:auto;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y input.yui-invalid{background-color:#FFEE69;border:1px solid #000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-yc{width:4em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{border:1px solid #808080;background:url(sprite.png) repeat-x 0 0;background-color:#ccc;margin:auto .15em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{padding:0 8px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default{border:1px solid #304369;background-color:#426fd9;background:url(sprite.png) repeat-x 0 -1400px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button{color:#fff;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/carousel.css b/pylons_app/public/js/yui/assets/skins/sam/carousel.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/carousel.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-carousel{visibility:hidden;overflow:hidden;position:relative;text-align:left;zoom:1;}.yui-carousel.yui-carousel-visible{visibility:visible;}.yui-carousel-content{overflow:hidden;position:relative;text-align:center;}.yui-carousel-element li{border:1px solid #ccc;list-style:none;margin:1px;overflow:hidden;padding:0;position:absolute;text-align:center;}.yui-carousel-vertical .yui-carousel-element li{display:block;float:none;}.yui-log .carousel{background:#f2e886;}.yui-carousel-nav{zoom:1;}.yui-carousel-nav:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.yui-carousel-button-focus{outline:1px dotted #000;}.yui-carousel-min-width{min-width:115px;}.yui-carousel-element{overflow:hidden;position:relative;margin:0 auto;padding:0;text-align:left;*margin:0;}.yui-carousel-horizontal .yui-carousel-element{width:320000px;}.yui-carousel-vertical .yui-carousel-element{height:320000px;}.yui-skin-sam .yui-carousel-nav select{position:static;}.yui-carousel .yui-carousel-item-selected{border:1px dashed #000;margin:1px;}.yui-skin-sam .yui-carousel,.yui-skin-sam .yui-carousel-vertical{border:1px solid #808080;}.yui-skin-sam .yui-carousel-nav{background:url(sprite.png) repeat-x 0 0;padding:3px;text-align:right;}.yui-skin-sam .yui-carousel-button{background:url(sprite.png) no-repeat 0 -600px;float:right;height:19px;margin:5px;overflow:hidden;width:40px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-button{background-position:0 -800px;}.yui-skin-sam .yui-carousel-button-disabled{background-position:0 -2000px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-button-disabled{background-position:0 -2100px;}.yui-skin-sam .yui-carousel-button input,.yui-skin-sam .yui-carousel-button button{background-color:transparent;border:0;cursor:pointer;display:block;height:44px;margin:-2px 0 0 -2px;padding:0 0 0 50px;}.yui-skin-sam span.yui-carousel-first-button{background-position:0 -550px;margin-left:-100px;margin-right:50px;*margin:5px 5px 5px -90px;}.yui-skin-sam .yui-carousel-vertical span.yui-carousel-first-button{background-position:0 -750px;}.yui-skin-sam span.yui-carousel-first-button-disabled{background-position:0 -1950px;}.yui-skin-sam .yui-carousel-vertical span.yui-carousel-first-button-disabled{background-position:0 -2050px;}.yui-skin-sam .yui-carousel-nav ul{float:right;height:19px;margin:0;margin-left:-220px;margin-right:100px;*margin-left:-160px;*margin-right:0;padding:0;}.yui-skin-sam .yui-carousel-min-width .yui-carousel-nav ul{*margin-left:-170px;}.yui-skin-sam .yui-carousel-nav select{position:relative;*right:50px;top:4px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav select{position:static;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav ul,.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav select{float:none;margin:0;*zoom:1;}.yui-skin-sam .yui-carousel-nav ul li{background:url(sprite.png) no-repeat 0 -650px;cursor:pointer;float:left;height:9px;list-style:none;margin:10px 0 0 5px;overflow:hidden;padding:0;width:9px;}.yui-skin-sam .yui-carousel-nav ul:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.yui-skin-sam .yui-carousel-nav ul li a{display:block;width:100%;height:100%;text-indent:-10000px;text-align:left;overflow:hidden;}.yui-skin-sam .yui-carousel-nav ul li.yui-carousel-nav-page-focus{outline:1px dotted #000;}.yui-skin-sam .yui-carousel-nav ul li.yui-carousel-nav-page-selected{background-position:0 -700px;}.yui-skin-sam .yui-carousel-item-loading{background:url(ajax-loader.gif) no-repeat 50% 50%;position:absolute;text-indent:-150px;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/check0.gif b/pylons_app/public/js/yui/assets/skins/sam/check0.gif new file mode 100644 index 0000000000000000000000000000000000000000..193028b99361c6527f17a9056037f3d8729fada7 GIT binary patch literal 608 zc${|L^y$-=FJFHD{{8v$=l}lwYiw-%_U+rNSFb*Q{ycHwL|t9o z4nyho27-Mo48_U+qq=FHi!VMBd=eR6X0+O=zU@7{g=`t?<-R$aV!QBO~=si|q# zu3gWbJ!@`mzI^%e$A3uKV-Me@C^y%BTZ(p%u#nr1TIv@@xP8ittHaImkx3spk zcXW1j_cS}oD)RAZvQFhQ(2;d)V&b%LWLdb7-%*ZJs)?PIkz=jHdIyeG>`e@u%yv6> z?PTU;Xp)hZV?1({UC2gSrb$3T*Y?823+fUAP4>#R_P6iY3#h8uH}RP1X*0Zd!7Rk1 zz|$mdA||??`wO>&or-vqh_DzF&lv-S1q&KjjWjr<0uDP&Xcv&r`eEQOp;26^WI=#{ kbK`MY%RC8zFAN@SoPt4S5i6CLC$RS>otjgrA;4e_0GYwkU;qFB diff --git a/pylons_app/public/js/yui/assets/skins/sam/check1.gif b/pylons_app/public/js/yui/assets/skins/sam/check1.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d9ceba3847ffb41864626de755147cf2e0ccc41 GIT binary patch literal 622 zc${@>2*tTt3LPEl(O`BR;T8=%(xpqq#l;5>99Xq#)&2YTYiepbIy&0g+AOW@ zckS9Guc-F@`}d~imPLyeZQs6~fsu`YfvK{pX2F65U0q$Rt*sL$O-@Ws1A@}h((LT) z?(XjO>(?(?vSiJgH4`UJK6B=bk&)5y`M-)|l9Y<;$0E z*|Mdlr)S-|b(NKs3l=PFZf@Sadv|qB-H{_lmMvRWUS2+J+H@9n9wt`q{DLAwL&J0D z&M`1B06oP(d!YD}g^__FjzI^+0mTUe`{{-_U|6)awRd!Ob@w!jE68zhxbsfsFbh-= zZ_;J6i(y*0&@o1p&9zBFl7)LM4h6ccyO60%QUH}bGgLoXhoX)*@pV7HSuY(dx{ywiute_*vs)X@%svR zurM?^C$umyWZ4LWFtWBVa<-{RI21at$ceI)o|xFseY{_8<(n4@9!-3Tr-Ss2Hy!O_ eag;Xc_;Fytv&PxlE*Up2tXO`2emfH*gEavB6Yh%u diff --git a/pylons_app/public/js/yui/assets/skins/sam/check2.gif b/pylons_app/public/js/yui/assets/skins/sam/check2.gif new file mode 100644 index 0000000000000000000000000000000000000000..181317599bfd45f03a7a69784b232509171d98e9 GIT binary patch literal 609 zc${@{Q2|Z;^P1R|37;4=+mc9 z2M!#ludjdl^y!^DcW&Oi`QX8Wd-v|GTD9u_{rlg(eY<=2?(*f!7cE+}Zr!@3rlz#C zw93lLty{Ntbad?6wX3|me9f9QU0q#_jEvpg-8D5erKP3o*RL-ssmjjIK6B=bk&#hr zYwM9CN4|dj+Sb-)XlVHT`}dxnp5w=lFIlo=!GZ*v}6i^eC zY*G+c_q=%NqKmjfld_4YhB@0kHa9a@ZRI9aJ9ZuB*ROd53}jTBh*Ykeo_3$#3 zYf_Bz;CSHB(agZXY%)X8X#%S#-!zXo8WY+1xSKq#TsXL7vAdd4-5v$S6-{hhoFXf1 U4qReo0{{R3 diff --git a/pylons_app/public/js/yui/assets/skins/sam/colorpicker.css b/pylons_app/public/js/yui/assets/skins/sam/colorpicker.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/colorpicker.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0 none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0 none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0;left:0;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0!important;}.yui-picker-controls .bd{height:100px;border-width:0!important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0;}.yui-picker-controls li{padding:2px;list-style:none;margin:0;}.yui-picker-controls input{font-size:.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/container.css b/pylons_app/public/js/yui/assets/skins/sam/container.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/container.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel{position:relative;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay,.yui-effect-fade .yui-tt-shadow{display:none;}.yui-tt-shadow{position:absolute;}.yui-override-padding{padding:0!important;}.yui-panel-container .container-close{overflow:hidden;text-indent:-10000em;text-decoration:none;}.yui-overlay.yui-force-redraw,.yui-panel-container.yui-force-redraw{margin-bottom:1px;}.yui-skin-sam .mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px;}.yui-skin-sam .yui-panel{position:relative;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;*border-width:1px;*zoom:1;_zoom:normal;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;*margin:0;*border:0;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 4px 0 2px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;left:-3px;right:-3px;bottom:-3px;*top:4px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_left:0;_right:0;_bottom:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold;}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled{background-position:0 -1500px;border-color:#ccc;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled button{color:#a6a6a6;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;filter:alpha(opacity=12);} diff --git a/pylons_app/public/js/yui/assets/skins/sam/datatable.css b/pylons_app/public/js/yui/assets/skins/sam/datatable.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/datatable.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-skin-sam .yui-dt-mask{position:absolute;z-index:9500;}.yui-dt-tmp{position:absolute;left:-9000px;}.yui-dt-scrollable .yui-dt-bd{overflow:auto;}.yui-dt-scrollable .yui-dt-hd{overflow:hidden;position:relative;}.yui-dt-scrollable .yui-dt-bd thead tr,.yui-dt-scrollable .yui-dt-bd thead th{position:absolute;left:-1500px;}.yui-dt-scrollable tbody{-moz-outline:none;}.yui-skin-sam thead .yui-dt-sortable{cursor:pointer;}.yui-skin-sam thead .yui-dt-draggable{cursor:move;}.yui-dt-coltarget{position:absolute;z-index:999;}.yui-dt-hd{zoom:1;}th.yui-dt-resizeable .yui-dt-resizerliner{position:relative;}.yui-dt-resizer{position:absolute;right:0;bottom:0;height:100%;cursor:e-resize;cursor:col-resize;background-color:#CCC;opacity:0;filter:alpha(opacity=0);}.yui-dt-resizerproxy{visibility:hidden;position:absolute;z-index:9000;background-color:#CCC;opacity:0;filter:alpha(opacity=0);}th.yui-dt-hidden .yui-dt-liner,td.yui-dt-hidden .yui-dt-liner,th.yui-dt-hidden .yui-dt-resizer{display:none;}.yui-dt-editor{position:absolute;z-index:9000;}.yui-skin-sam .yui-dt table{margin:0;padding:0;font-family:arial;font-size:inherit;border-collapse:separate;*border-collapse:collapse;border-spacing:0;border:1px solid #7F7F7F;}.yui-skin-sam .yui-dt thead{border-spacing:0;}.yui-skin-sam .yui-dt caption{color:#000;font-size:85%;font-weight:normal;font-style:italic;line-height:1;padding:1em 0;text-align:center;}.yui-skin-sam .yui-dt th{background:#D8D8DA url(sprite.png) repeat-x 0 0;}.yui-skin-sam .yui-dt th,.yui-skin-sam .yui-dt th a{font-weight:normal;text-decoration:none;color:#000;vertical-align:bottom;}.yui-skin-sam .yui-dt th{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;}.yui-skin-sam .yui-dt tr.yui-dt-first td{border-top:1px solid #7F7F7F;}.yui-skin-sam .yui-dt th .yui-dt-liner{white-space:nowrap;}.yui-skin-sam .yui-dt-liner{margin:0;padding:0;padding:4px 10px 4px 10px;}.yui-skin-sam .yui-dt-coltarget{width:5px;background-color:red;}.yui-skin-sam .yui-dt td{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;text-align:left;}.yui-skin-sam .yui-dt-list td{border-right:none;}.yui-skin-sam .yui-dt-resizer{width:6px;}.yui-skin-sam .yui-dt-mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-dt-message{background-color:#FFF;}.yui-skin-sam .yui-dt-scrollable table{border:none;}.yui-skin-sam .yui-dt-scrollable .yui-dt-hd{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-skin-sam .yui-dt-scrollable .yui-dt-bd{border-left:1px solid #7F7F7F;border-bottom:1px solid #7F7F7F;border-right:1px solid #7F7F7F;background-color:#FFF;}.yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td{border-bottom:1px solid #7F7F7F;}.yui-skin-sam th.yui-dt-asc,.yui-skin-sam th.yui-dt-desc{background:url(sprite.png) repeat-x 0 -100px;}.yui-skin-sam th.yui-dt-sortable .yui-dt-label{margin-right:10px;}.yui-skin-sam th.yui-dt-asc .yui-dt-liner{background:url(dt-arrow-up.png) no-repeat right;}.yui-skin-sam th.yui-dt-desc .yui-dt-liner{background:url(dt-arrow-dn.png) no-repeat right;}tbody .yui-dt-editable{cursor:pointer;}.yui-dt-editor{text-align:left;background-color:#F2F2F2;border:1px solid #808080;padding:6px;}.yui-dt-editor label{padding-left:4px;padding-right:6px;}.yui-dt-editor .yui-dt-button{padding-top:6px;text-align:right;}.yui-dt-editor .yui-dt-button button{background:url(sprite.png) repeat-x 0 0;border:1px solid #999;width:4em;height:1.8em;margin-left:6px;}.yui-dt-editor .yui-dt-button button.yui-dt-default{background:url(sprite.png) repeat-x 0 -1400px;background-color:#5584E0;border:1px solid #304369;color:#FFF;}.yui-dt-editor .yui-dt-button button:hover{background:url(sprite.png) repeat-x 0 -1300px;color:#000;}.yui-dt-editor .yui-dt-button button:active{background:url(sprite.png) repeat-x 0 -1700px;color:#000;}.yui-skin-sam tr.yui-dt-even{background-color:#FFF;}.yui-skin-sam tr.yui-dt-odd{background-color:#EDF5FF;}.yui-skin-sam tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam tr.yui-dt-odd td.yui-dt-desc{background-color:#DBEAFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even{background-color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-odd{background-color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam th.yui-dt-highlighted,.yui-skin-sam th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-skin-sam tr.yui-dt-highlighted,.yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,.yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,.yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,.yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-skin-sam .yui-dt-list th.yui-dt-highlighted,.yui-skin-sam .yui-dt-list th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-skin-sam th.yui-dt-selected,.yui-skin-sam th.yui-dt-selected a{background-color:#446CD7;}.yui-skin-sam tr.yui-dt-selected td,.yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,.yui-skin-sam tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-skin-sam tr.yui-dt-even td.yui-dt-selected,.yui-skin-sam tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-skin-sam .yui-dt-list th.yui-dt-selected,.yui-skin-sam .yui-dt-list th.yui-dt-selected a{background-color:#446CD7;} +.yui-skin-sam .yui-dt-list tr.yui-dt-selected td,.yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-skin-sam .yui-dt-paginator{display:block;margin:6px 0;white-space:nowrap;}.yui-skin-sam .yui-dt-paginator .yui-dt-first,.yui-skin-sam .yui-dt-paginator .yui-dt-last,.yui-skin-sam .yui-dt-paginator .yui-dt-selected{padding:2px 6px;}.yui-skin-sam .yui-dt-paginator a.yui-dt-first,.yui-skin-sam .yui-dt-paginator a.yui-dt-last{text-decoration:none;}.yui-skin-sam .yui-dt-paginator .yui-dt-previous,.yui-skin-sam .yui-dt-paginator .yui-dt-next{display:none;}.yui-skin-sam a.yui-dt-page{border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;background-color:#fff;}.yui-skin-sam .yui-dt-selected{border:1px solid #fff;background-color:#fff;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/desc.gif b/pylons_app/public/js/yui/assets/skins/sam/desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..c114f290c8ba1ff4173e129b1ef7e4f3f5e2bb5d GIT binary patch literal 177 zc${U}|FG@8_44nAqLjosyCg9vmZ){{V zVZwy=_I7V?@1UTd{Jgy0-d;-!i@3Nr8*A&jy1Ge|CjI~ap8*F@{K>+|z#z_`1LA<} zWMI`>5YYR?BKC!AL{7G0NEe%4^$CptY34pBy%v7e&J99cimMJ3X#{q=J(yX=Fh!BU F8USC!Gspk{ diff --git a/pylons_app/public/js/yui/assets/skins/sam/dt-arrow-dn.png b/pylons_app/public/js/yui/assets/skins/sam/dt-arrow-dn.png new file mode 100644 index 0000000000000000000000000000000000000000..85fda0bbca21cefc6b8cf1726bc83e43bff993c4 GIT binary patch literal 116 zc%17D@N?(olHy`uVBq!ia0vp@K+M9#3?wzWV%32ZXMj(L>;M1%fy~Ir2;r~IJAo|5 zk|4ie28U-i(tsREPZ!6Kid)Guq>ddput17Y#X`7&C779+nL(zFDdZjVkv^az22WQ% Jmvv4FO#tWt9i9LH diff --git a/pylons_app/public/js/yui/assets/skins/sam/dt-arrow-up.png b/pylons_app/public/js/yui/assets/skins/sam/dt-arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..1c674316aed41943dae79b01583956db63c8be08 GIT binary patch literal 116 zc%17D@N?(olHy`uVBq!ia0vp@K+M9#3?wzWV%32ZXMj(L>;M1%fy}VT__niwAVJ2G zAirP+hi5m^fE-Cr7srr_TgeGo2?+@gd>DjQ2|6TYNiZ`ri2h~@(drDS1}b9kboFyt I=akR{0KC>mi#>Q#WroDds`uzFx3^1VhlZBCift5iA%mJ!pVD^vL zb?2k*shv#UF)T$A9BC^GWLvhcs?r+SK^#SA2VJ* lnRa2J3+Gcs$t$b2{;ba0dg)F1b>aS#i#GoX@nB%E1_1g!IpF{R diff --git a/pylons_app/public/js/yui/assets/skins/sam/editor-sprite-active.gif b/pylons_app/public/js/yui/assets/skins/sam/editor-sprite-active.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e9d4200b3e6b124354f12d6c5f90513587315d1 GIT binary patch literal 5614 zc$^iLcRbXO1I9o1xjo!{lubD$*{)PZ%E{hmB%^eSjHD|nE1g~Dp{$g<5<)o*8pfR! zLZ>29I-@cghx!`H{rWxsKCkEXdj5IdkF~9pp^@JPz#q9J2HuV@E>Cw=KWalD5brf5 z7wc(%{`^^vGTB!-Q^43kwVXjh56;{r((;NP8t1yuEj})vselgDp zJdb?taWtcvjSfDm=L^V}ZaKLe+_P)9)^>Fo%@uYsXOf}WU+182uy=&5+)M5H!WD-ChUT{vHz`j|Ar-IaI6Ki=Ci-5_eN1`t zGqh`>W~8@LxVW^o{`Ze4xRy(OI#qR0ZT}u!^=kFkuV44|^-VW(Btz1iyzMM)obKr> z>@hSMnO{|4D;zrHm3QOF{rmP4zL>DnXU2Ik4*81aZ0)6&J^|4uvxY=&&B9M@S3dQW ziUtc7dFj7_X7>i-p#Fn&xWUm|4n#*PAbQtP4XXWN4UG`BF5d}9aGRG0^~ zpr!1S43WLO09;BRC&b4t#FN_%}!gCj3UT>=B=4=;^zgX%MjIHDJvZzd?tgq9xj6grWkcJ-Pm!MfLLe zLB-PMcU$GY14L+B-Bd(V_WFAfe6a+CrdtErg- zJ60cq6b0_jPrO9DvQy)e`N=NHS*(n`bM+-dRv|u(=E#jZDelV+9VN?ncp-JgW~V52 zwIVT{rMFy#iB_M(Mw>~mXBU^-bBK=;wyjfDo5?#^YSF?}mRd7wq62j@gZG{qXc5HU zVDBjeF{zt&@luq|SH3a3{425RvT91&_0wC9&PM*qmz8chsA5hT-f15F zrSL(!X;BTwDiiEub(^}Z-R{h)d&0I&fsbtYeAV3}_$8GRD|%|OJ~+h*h`vXEM9QO8dd zYmcYsgDMk9EnNq{G&8{Pb|>275wcZ*`2F&2Ai4O>P`Q}+<5oRx zrPpuMxO3{uh6!dA$rBGk=l*5JDBs_#A7T&8ueX}y@n1tomGnc^+RK`ACK zLffq81Sa`D!bq!B@3l;{`s1Nv*M+7=k&=Y6F+bzvd|`RbLXY;w2Hwl0yKtmbNFX^9+ewfx;t2zs)75Y%Ib|Y(r)JqTX&`@w z%}7=<5c>FQS2}Pq)z64{m*tnb+|YtmHot9pU(gxEHU#q)PVnLF4y=SM0hTI{pnxwV zsN%fK#6Rs1yY}VO6u$x3qEG}|OT8a_iE+05g2z`_)lscjNhbD8G^x8a*2!F>ob6beCvJIleF zH3wh{PTx0X>`mG-?1DAVP|?b?F<%wGUBYg5*s|e-phNX0_gTC@TRNC(j*g~WF;^PL zARucn&XYxOAIIj=V5+@L7RS zldn|5rI%qum$#hk_xd(kb`WaLPcH}E%~bUsZ<1qX#}@XMsqs6Kot`D*wds7)6COlc zokSyrtrAkl?A*_e15eCtwA`Wq&o4ieAI9F%2`_l*J@F&|u;DhH3sEfkW_n?ZcDbo1 z+wN$wWxm0*s`l0k_J_eld4u7A-A{Rh&@pB)Zsm(!X%R#(Tr8P(*iJ#*>OX%|Uu!JA z!esJkcl7(ko9D-SboRK2;U0)YDdnJeqg(8hgx*E=U?|?Tock&cHK~F%Q#bmVAmuK_ zkzF@2vu$L-NkOgb4R^L5(TsMv)Y&Q(cDd4GaUt*G`(yAraq3)7P@Yd?@+NHM@9%6Yxyv$W{ zL_n}T8t;;n^hj5AceT|GzDxF)R7G0AoR{0|@U^U6)%&h#I8H{7yqE~6;QS2^OvDWj zJ*y8$_+H^7;p6>E+#kS^Ialc$oIcDwkYDypr^YP?Kln+r8pGdo>XcWEk8m}-q3vST z=@)6ZjGI!jn?6^29)0=oM>HP$QeDxAW|8 z({W^V@TAnyhTf${o5w#L=I6%#MlbO&y0d_ALl(>;ppG~=%|!16ET-Sp6SM3O%pc1L zkb~>y%25gA(AR%lhrw4-dZ{+&Sdw%_1V50fXJ7T33R4l~TG zCQ1>CD_!B;%-n*KhNp6qZDDm_6v^!q=K8X<2_R*c=DQ{_!?j4)|Gh z$)g16j9v0#70|O28@VGv^YppaKuXHy=nOB|RfDdus0rn?SlP`aY9r1lW%Ig#1PpsM zfkvGKr9>}T){=b~jH-1$amp#i*s^Ilxo>O(5}haa8suA={#qQP1rF=zp6E&#clGlo zQ8#^Un!oYxPd02#rA@Q>ToHN!Z3Va5)I8ncqZFF&W?%U3YtH?^LCKIO?W=Ew`|BAd z6sD@q^O2`VG;1|N{gjWMBj4G)yC%F!HmuXcP0|Z()S-f9ZV|=BT+x% zXXboOg!qK#*HviUOI5r7uwwA4;|uj7yL|%uV%c?-uS4~n2K@zIKG(-2Jx-aOIOT&Q zDb_K?UfdU>8?Gh4`@>OY7$(PD^o#pP>C?eakH(rUUW++#Km1OE|MC6d*WNYOuH-Lq z&&8e1+WU8=<=(W8u6JU=&Qz&#>PU0Cy{xa^uBJ>&S3Sz&xz0GUrVYkQg2rFGXMJ#E zNK0~@49HX(ZjDj>uJHho8!zL3=hpSzlf74PHfcZ*5-4$POOTfA#w*eYLTFXw@`2e&#{y8h!(cGw^KMVz z`~vY!6W(HJ2dq&T{%%v-i+}|iWsvQ=iTJLGr`g z$FzvG#zZJ*%#_r+P0Q-LmUV-YPs%ORQ+i*VFRlJbl==Dfz|LHL^6D#P`7XvKZ~(o| zzO?rBQkQ^mh|CmIne*>1weWylB77GQb%@JMr!Ym#TS&8Kr0gJH$xHrV!*9iE@Gj5SA!KPCO(a5-5Z=GR#69X1tuRPEN8@Pa=pg zPRkf;Okz7F+1)eQEi&mgFV4F%PS+53Q;2=a!fR1d{5?~&m=}WzQ`%vGA#WF8!5_J2hmVjC#P*Y&5v-bEnBvqD&^zCwaB1H9)7 z|L=0PbwxIamOUn55m#8Zg~`VvQ*0{Z21Upz8ZMD45d)A0$P!wR^f4}4)hkymI9Fwb zbmB?w35@gLcG(}7Rp$*^$SBrIr3YTTBC{T(4>Mx%xv=UB_)2PYSYX(<$gB51XN!jO z7Q1lu^t`?XS3CKgp8DB}bbJ%}YT1%6I4_}Xl!7q>eWpno!O$@y*hU5{BnsvqWgmDK zFUv#i9L`6p0AXV~xJoAzB*N%HSqV`;Ku+4Uk%Jy0DOw(XF zjuc{^W^YTqTBzZkGn40py_PTUp5}GU^vX4F`D>j^*Kl>9w@o3c4h(vlFUu=VHi9uU z3J#I4BkI5l8VOH~AT2>bHY2e~1FGtddmx{8bcEz~Ht*2EL)VRpZepWc=1Vfkzk=E zXt-nnAzI#f+8S;my!nO^&oqLjFCe7=iC1g{syKJlt8}^oAtx+QTP__-jI;DiGOE0J zT%+{E%#D<&!reQ!*IK!ek9p zu#KzeqN=j!sy|zySQ_dGrK*Pw(%E2-0P8@98*}Zzc@Po-g-q&K~ z0s92-LQz$%0{YEtO`CU(8ui`~4t0hO=CSXId1zNMW|Ii}35QChB7Zj0n}xOhDwdJBYN@b2o-kp6<2OSrowba)Vix*>@ep&|Ft;TNE~iZs-5A%K!Z_(3RR zI!37)E`PEP4Fek7_8n)y8N6fB#SiXv_}i634*3XeMO%3xI4g4Q7t@KG1rJa;Fd1^X zB3FS=M^c_YlxO07=|oF1kh&ExAGMShMm950xfG;BjIEdjvlVLcp~tyG{6YIiCwb0? z=N?;_KeA;ac0-S|Iv<@r|JY(OD3Dw4IQPincD?^-{h{>7zFG~D&;4U!8n7IHfBX}S z$`c3sC&|_R6#T=;>IYe)J9kt=^9wRE0?^_Cbcu=IKOu8c2p)Sa{cF1Ed1PW2T3#8h;VPZB>pG*PA z3D#$Q-*17oGQc7TALI{Hrm#jPC}CV6j2UDjCTETQAx%$!C6-Vw9jUxX(xu~%?||1c zJdu)3**-1fiyR+yXt_Fh^?A$Ozk|3Q2PpC2-&&B3E$ECE>>39M1!!af3gV;41R5Qf z-41OaAmKthWWsNz0Mbf)IVHXlBcquI+t$ceBJ;N@@g+rkHxYlk_P+>pl+k9e)~Yyx zmt?jXgtqNpL*kfH`;^*2NsLWNdpsM!vDjycgq@m#`nNf}eZ1f3*h6f&@yCfKZ1trop_}aB&Hw!~#wUP{v$j*pA)z z4iDVB152V}6a+F6RE&fGNTQ+%E+{4s?#;pla3M)521(n)q+-sLKpMiEGh#I6E*p>K z!0u9D-n2J*O#>)1^xnS%x)K--7IDiFXp9AJ1Tah?2_}5YWDz$wLYqFmb=m~{CJ$=R z(Y88J0OgJA-+{xY&}_;-3pg$T`;P^NeIG*bVD!I3VHZg=*6*wx0WgOcc?0~9MvAH`;JfA9xZDO0c8ahywf2S^%-iCJ`B^Rh~qv==q;<0+CI6 z0wBWx#0LQJyzhc8^8<1>_yq!2X_-eNP+>wO_>zNNWun7v{++XCF$5OV!U#EVs%Yz} z9dH^8j=BX!Lqt4#44(rlVx7o7;%*2vVh5VmE<*MIf10VD@T8115_s7MT8>? zfpNh&2!ks@U_WC+2!Lo$hisT1TNYrC$s=Mi5WlQd%$r2yAS88L2=VY*HmafqdI%sV RDPx!cToE9&k%xf2{{!Lm*)sqD diff --git a/pylons_app/public/js/yui/assets/skins/sam/editor-sprite.gif b/pylons_app/public/js/yui/assets/skins/sam/editor-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..02042fa1474cd62d7de63588ae536f5495d45be2 GIT binary patch literal 5690 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 diff --git a/pylons_app/public/js/yui/assets/skins/sam/editor.css b/pylons_app/public/js/yui/assets/skins/sam/editor.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/editor.css @@ -0,0 +1,10 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-busy{cursor:wait!important;}.yui-toolbar-container fieldset,.yui-editor-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-skin-sam .yui-toolbar-container .yui-button button,.yui-skin-sam .yui-toolbar-container .yui-button a,.yui-skin-sam .yui-toolbar-container .yui-button a:visited{font-size:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a:visited,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a:visited{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{font-size:0;line-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;margin-right:.5em;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;padding:0;height:18px;margin:.2em 0 .2em .1em;display:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:45px;*height:50px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;display:block;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;font-size:0;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block;right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;height:100%;width:100%;position:absolute;top:0;left:0;opacity:.5;filter:alpha(opacity=50);}.yui-editor-container iframe{border:0;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:.25em 0 .25em .25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd .gecko form{overflow:auto;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group{margin-bottom:.75em;}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:visible;}.yui-editor-panel .height-width span.info{font-size:70%;margin-top:3px;float:none;} +.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;_top:-5px;width:24px;text-indent:52px;font-size:0;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0;text-indent:0;font-size:75%;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px!important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-toolbar-group-undoredo h3,.yui-toolbar-group-insertitem h3,.yui-toolbar-group-indentlist h3{width:68px;}.yui-toolbar-group-indentlist2 h3{width:122px;}.yui-toolbar-group-alignment h3{width:130px;}.yui-skin-sam .yui-editor-container{border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container{zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-skin-sam .yui-editor-container .draggable .yui-toolbar-titlebar{cursor:move;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar h2{color:#000;font-weight:bold;margin:0;padding:.3em 1em;font-size:100%;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:0 .25em;}.yui-skin-sam .yui-toolbar-container{background-color:#F2F2F2;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subcont{padding:0 1em .35em;border-bottom:1px solid #808080;}.yui-skin-sam .yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-skin-sam .yui-editor-container .visible .yui-menu-shadow,.yui-skin-sam .yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-skin-sam .yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-skin-sam .yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:.25em;}.yui-skin-sam .yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-skin-sam .yui-toolbar-container .collapsed{background:url(sprite.png) no-repeat 0 -350px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;} +.yui-skin-sam .yui-toolbar-container .yui-push-button,.yui-skin-sam .yui-toolbar-container .yui-color-button,.yui-skin-sam .yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;_font-size:0;margin:0;border-color:#808080;color:#f2f2f2;border-style:solid;border-width:1px 0;zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-push-button a,.yui-skin-sam .yui-toolbar-container .yui-color-button a,.yui-skin-sam .yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:0;line-height:2;display:block;color:#000;overflow:hidden;white-space:nowrap;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-push-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;position:relative;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-button .first-child{*left:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-skin-sam .yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-skin-sam .yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-skin-sam .yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-skin-sam .yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-skin-sam .yui-toolbar-container .yui-button-menu{background-color:#fff;}.yui-skin-sam .yui-toolbar-container .yui-button-menu .yui-menu-body-scrolled{position:relative;}.yui-skin-sam div.yuimenu li.selected{background-color:#B3D4FF;}.yui-skin-sam div.yuimenu li.selected a.selected{color:#000;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-strikethrough span.yui-toolbar-icon{background-position:0 -108px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-undo span.yui-toolbar-icon{background-position:0 -1326px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-redo span.yui-toolbar-icon{background-position:0 -1355px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;} +.yui-skin-sam .yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-skin-sam .yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url(editor-sprite.gif) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0;height:20px;}.yui-skin-sam .yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-skin-sam .yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-skin-sam .yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;position:absolute;}.yui-skin-sam .yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-skin-sam .yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-skin-sam .yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-skin-sam .yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-panel ul li{margin:0;padding:0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:.35em;}.yui-skin-sam .yui-editor-panel .yui-toolbar-bordersize,.yui-skin-sam .yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-skin-sam .yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-skin-sam .yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-skin-sam .yui-editor-panel label input{width:75%;}.yui-skin-sam .yui-editor-panel .createlink_target,.yui-skin-sam .yui-editor-panel .insertimage_target{width:auto;margin-right:5px;}.yui-skin-sam .yui-editor-panel .removeLink{width:98%;}.yui-skin-sam .yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-skin-sam .yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-skin-sam .yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding{width:203px;_width:198px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-skin-sam .yui-editor-panel .hd{background:none;}.yui-skin-sam .yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-skin-sam .yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-skin-sam .yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-skin-sam .yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon{background:url(editor-sprite.gif) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-skin-sam .yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url(editor-knob.gif) no-repeat 0 0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .bd{background-color:#fff;}.yui-editor-blankimage{background-image:url(blankimage.png);}.yui-skin-sam .yui-editor-container .yui-resize-handle-br{height:11px;width:11px;background-position:-20px -60px;background-color:transparent;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/header_background.png b/pylons_app/public/js/yui/assets/skins/sam/header_background.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef7909d3ed04956a06c5d9017076ea30e0ced27 GIT binary patch literal 158 zc%17D@N?(olHy`uVBq!ia0vp^j6kf+!2~3434ebKq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6*+jiIEGZ*s_F9NI$*%V9Q*UX`TlF!Ldi}q7dA02yr`^X zu-PrN{%75tzwegsKk4J*;_R|w)xBe%IT`Nt9oJ`MW0-m*yz~E_s%D^B44$rjF6*2U FngH9xIDh~E diff --git a/pylons_app/public/js/yui/assets/skins/sam/hue_bg.png b/pylons_app/public/js/yui/assets/skins/sam/hue_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bcdeb5c49910d5c32c9ebbb134200bf138b7b4 GIT binary patch literal 1120 zc$^hfZA?>V6h6*nD|EKy_G>T#efd;-TcIEZRG=3KG$^eF2Q{FAMV4*KY}f{qh`QSV zerz}DmTbC_Y|fEr#w0P0=t#CW_qsTZ+oCcxM!nmzgkYx0y)F9Qv+IxZJb6w|&dGC5 zaz;Z<^@~z7QUPF5prJObvq_J$hJ`xXo5wcl^n8zhtsmg}%|C)|K3%8x)wT6C_ipWb zw=>oa{%CJkw=1x%v!^@U-5DL&ajAP1z;mggH7#{nz-rJ$faL=7qA45La$rShQh@N! zu%sTCvXE1t{K=eCf%*<$g}~m_lTbYf%#DuhOcn)}oyL+UY!^T)N0SIlg&q}p70^Bg z#v`A*ftBD@6%H#L*N*0!pas#aR&fdVH33r!@M?%V4H}RB^=Q5i+Cy}fVbYD}B4EjH z?P{0x>Acg883%Oa|AzJ?B#N%FVmw`fKNY;g=C3&BXB;Z@Kam~dpydSE;!)KoPs+}MGZ#35TL&dgu1t8ZJCOzunMR5)=3wB`6<04>Wd>fEGNt=fUO7S z2UdorB;0d<%}W2%DB8|}rj&7Bd@G600GiIAl}DfA(T~fGjEtPSpMM-+!RdW!t0gq&tGw>1(Ck!bL+QCwfHM zFSfg6C%J1(_sXrL%2?h=Gs#tB`jY5~^n-B4=5yiEV7#4=o|0Az*Nu@}Ih_Oz$pHOG zC`&0{EO(L#V`PcEmKepS-spt1Gd{>irzEF%o|nyJB4uhF{YR*@P1evnVor$^%6<|| znF`WIVUCMc(=ZuIiR8<#kjLU}uWTnbQf7F06KORJtfO9XHgzgQe;2kI(+lL6NRM$K zObK})t}2X5(vY~u9{XN8DGugG$E0mSB^Mi(>V!GlYlD8E#--~|}G|8JkdYdiH90fD-v+HZu-d;bSJ8}W_+ diff --git a/pylons_app/public/js/yui/assets/skins/sam/imagecropper.css b/pylons_app/public/js/yui/assets/skins/sam/imagecropper.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/imagecropper.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-crop{position:relative;}.yui-crop .yui-crop-mask{position:absolute;top:0;left:0;height:100%;width:100%;}.yui-crop .yui-resize{position:absolute;top:10px;left:10px;border:0;}.yui-crop .yui-crop-resize-mask{position:absolute;top:0;left:0;height:100%;width:100%;background-position:-10px -10px;overflow:hidden;}.yui-skin-sam .yui-crop .yui-crop-mask{background-color:#000;opacity:.5;filter:alpha(opacity=50);}.yui-skin-sam .yui-crop .yui-resize{border:1px dashed #fff;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/layout.css b/pylons_app/public/js/yui/assets/skins/sam/layout.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/layout.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-layout-loading{visibility:hidden;}body.yui-layout{overflow:hidden;position:relative;padding:0;margin:0;}.yui-layout-doc{position:relative;overflow:hidden;padding:0;margin:0;}.yui-layout-unit{height:50px;width:50px;padding:0;margin:0;float:none;z-index:0;}.yui-layout-unit-top{position:absolute;top:0;left:0;width:100%;}.yui-layout-unit-left{position:absolute;top:0;left:0;}.yui-layout-unit-right{position:absolute;top:0;right:0;}.yui-layout-unit-bottom{position:absolute;bottom:0;left:0;width:100%;}.yui-layout-unit-center{position:absolute;top:0;left:0;width:100%;}.yui-layout div.yui-layout-hd{position:absolute;top:0;left:0;zoom:1;width:100%;}.yui-layout div.yui-layout-bd{position:absolute;top:0;left:0;zoom:1;width:100%;}.yui-layout .yui-layout-noscroll div.yui-layout-bd{overflow:hidden;}.yui-layout .yui-layout-scroll div.yui-layout-bd{overflow:auto;}.yui-layout div.yui-layout-ft{position:absolute;bottom:0;left:0;width:100%;zoom:1;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse-close{right:25px;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#c0c0c0;display:none;}.yui-layout .yui-layout-clip .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-wrap{height:100%;width:100%;position:absolute;left:0;}.yui-skin-sam .yui-layout .yui-resize-proxy{border:none;font-size:0;margin:0;padding:0;}.yui-skin-sam .yui-layout .yui-resize-resizing .yui-resize-handle{display:none;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy div{position:absolute;border:1px solid #808080;background-color:#EDF5FF;}.yui-skin-sam .yui-layout .yui-resize .yui-resize-handle-active{zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-l{width:5px;height:100%;top:0;left:0;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-r{width:5px;top:0;right:0;height:100%;position:absolute;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-b{width:100%;bottom:0;left:0;height:5px;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-t{width:100%;top:0;left:0;height:5px;}.yui-skin-sam .yui-layout .yui-layout-unit-left div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -160px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-left .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -140px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-right div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -200px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-right .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -120px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-top div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -220px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-top .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -240px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-bottom div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -260px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-bottom .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -180px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-hd .close{background:transparent url(layout_sprite.png) no-repeat -20px -100px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-hd{background:url(sprite.png) repeat-x 0 -1400px;border:1px solid #808080;}.yui-skin-sam .yui-layout{background-color:#EDF5FF;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-hd h2{font-weight:bold;color:#fff;padding:3px;margin:0;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd{border:1px solid #808080;border-bottom:none;border-top:none;*border-bottom-width:0;*border-top-width:0;background-color:#f2f2f2;text-align:left;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd-noft{border-bottom:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd-nohd{border-top:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#EDF5FF;display:none;border:1px solid #808080;}.yui-skin-sam .yui-layout div.yui-layout-ft{border:1px solid #808080;border-top:none;*border-top-width:0;background-color:#f2f2f2;}.yui-skin-sam .yui-layout-unit .yui-resize-handle{background-color:transparent;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-r{right:0;top:0;background-image:none;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-l{left:0;top:0;background-image:none;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-b{right:0;bottom:0;background-image:none;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-t{right:0;top:0;background-image:none;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-r .yui-layout-resize-knob,.yui-skin-sam .yui-layout-unit .yui-resize-handle-l .yui-layout-resize-knob{position:absolute;height:16px;width:6px;top:45%;left:0;display:block;background:transparent url(layout_sprite.png) no-repeat 0 -5px;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-t .yui-layout-resize-knob,.yui-skin-sam .yui-layout-unit .yui-resize-handle-b .yui-layout-resize-knob{position:absolute;height:6px;width:16px;left:45%;background:transparent url(layout_sprite.png) no-repeat -20px 0;zoom:1;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/layout_sprite.png b/pylons_app/public/js/yui/assets/skins/sam/layout_sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..d6fce3c7a5bec2e266531e2b921f6a3bc3572bcb GIT binary patch literal 1409 zc$@)&1%CR8P)Foc7fVkN9ZLH|iPzfUuN*G~E00Ia|@iPD+ScV@e5BCj%&595~Az9JYb1HE%fJ|lvg&G4W z6xqeu5wao}vOGw#oOoq zdC>F%1Q0?EEY*Rd3zq4SGax3LA2VLCrA$0(SkZGRe)Txn3^>fhp`Mk2G^wZ|DoEi^P%kHvUUm}of|3c`UUt&-f|52O4U_0*PV)UriM_~rMM%_(97pUF zgq4T@9=!koXf2}^3PBhQEBt~NN?sh$J8ydbXFQt)$8tiP<$_ov{Q4FXyL>Z8Y{z2V zkaSb@Mp@4L)cu~!F2?_5njt5??aV6VWbNsf=#lQ+PR7RWs~T&qO?1)0;8OP9mr&?_ zEd!{i70@B06_L@4$jDGFl7UgQB&=k~SS7Maj>slCBAcYPu^a+2hmVBJ&?9G-+}TBz zXWWq~l#nFk3zof330q|P#FdpMx?{=@e9y*0nRuG?)9dbIA?=7Zn<-7Ogy z%rLzw;Z+H4qs~_O26Js?Gu0GVXL}YV+@i`mTQ6efT|4_N8}^c}3;8Lx-qSp(>c5yP zv+!2uj`O5iUE1Gh?d8?|Hp~2qjUgL*#Kz|yu(3mIobhzo0%%W3w;50B)}I;aHsc}P zSeq@=3AQYoV9T-zwk(^Ikvv-Un*@E(FC%n|1lUfINU{yq26f#+*Q{GQ%4Xe0YxQpu zv2_#y8&Nz-w%~RHx=DSu0s3URv(}ru4{F`oY^bw)ANJd!RX0b`Dd=_+pdGVqaS#TA zaC#8o%*J|#2HI+&(EtA%Z`Y=G+9q~V=ogzs#Fs&WPiD*-y?Scqb$UUo8r5tsP!;V9 z+So;%!C1xB@h9l0TBW5A>O>nFRjUhLtI#SPHmr5mvtO=H#t?b%!g$d!L~pK&n|i}L z!&%^r^XATaJ(Q)5hg3QzAHz@KF_|6%p4ElhboHes%dnJo?C(gon^x1UVMu9>l+$EM zyYYBITTA&JYj=J;UeH!t2igzSu&1+}ENH*(>w~#T?}~D>R>)!8tQB$?H*0yv+zy3X zp5FpK#BWTE@nL>rYK#x`TfkSiVcaHeL%A7)bE^@*P25(v!8sWU;bx5QQEo#=#9l_Y z9jWsb&xxPHEyHgiDKT#F_ig65r+y1bS-53z`*yvmBxe`^)OW4foqs1^G=pWW+-Vx8O~1UE+HGF@F06NmG=W!zJbw P00000NkvXXu0mjf;Dg73 diff --git a/pylons_app/public/js/yui/assets/skins/sam/loading.gif b/pylons_app/public/js/yui/assets/skins/sam/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bbf3bc0c0e5e635553e8d1bf9ceddefbc402396 GIT binary patch literal 2673 zc$~eIXH=618;0M!83YJ1>=8y5ONL=Zc0(9a1O-Gyh7BM)(SVAh*7FhwTed(+)d&u# zAYr`(u{HsWAgHK_Kxkz+0KtlTw$-oa^v8ER-_P&<`8?-5Kdy6M&xUXPoLyoGfDZ6x z8hHQy{kwPX-n@D9`t|F#Z{NOp_3Dp5{&@cU`HL4Xo;`cEu&}VYx_ax@t(Pxf-nnyU zd3pKClP8mtlK=obefsqN{rhusb2o0>xOeZKt*xz%jm_=bw}1cr_o=C=+1c46M~>9j z*MIljcP1t#nVFfpckd1l4-X3q+p%LuadGjwb?e;S-GhUJ9UL5HW@ac93W-D-A0L1G z`0=%C*QTeZ7Z(@r-o5+NPe0Yv)a={0uduLicz8HFJNv?g3#U(?9vT|5va)JvY1z1O zqqVg)gTaW6jpcH=TefU*baZrcbDNl$Fg7;M&(B}KemxAsot>SvwY68STsd&y!1nFi zB@)S=J$rus`DY6Y3xz__+}wQfisdgwu|k&)EY zR6|2Ub93{fN00vS!w;UGo*WLRwY9abu5MspATTgcBobY|e3`{!m6erYu~;IJXk=s* z7Z(>267v1`-y@Mo9UYyZprDM53@t6K{{DV1FE5!)cIM2PzP>&>o&Mp&hmRjWe){z3 z&p-eC>pubhUm^dcy2&?ei?>&>ue~iDiTE;lhf)TBX~6o+{);96_8ripZ0IkZk#ez` z2DHYYD3(CABc?yshRDhzpm$K2fTEwPr=D@gk12&gyY^)%<(d$X}_$`F`VS8Nn9G7zOt*$-VH(7KiZsImRf4TyYL*W;#XC z07noxn7yWp&-duF@r~SBFD}qI6w4G`twf^DRR(ffD)UWaJDW-M5nHLi)uQ7U-d@xV0T-=ejRTetK3t^E*q|Vp1#?w7?)G9Epr7lY(W5@U zbEA5Y88e|@zT&95=1^p3a&}W50H8J_#k_}kXtZvJk$VimB47spqt$eTo%7HV^2hj_ zo6_0Lukm>Or5%G@p%)*kv}^e63cD|B3P4H5c?$1cQy0(x(@yBkpK?#^O%$K@6&R@M zzt0kkAuGXd<-u^-t#TdP;MzsRi#mv_y$}t)n8g%QaIn(=Odm(8sOZ?fedad~oKa7@ z5@H`qM1ZPS{Ns5?=g`x<7>?*G$CDO zFzm2Rk;>LxYH=Iq<=Nm_l^wKvh#du0?DRt++I$NdgIr()5G>w_HeyAFZSRuHoB;En z9mDfQ!(u!LCR3Ad&p2`P^QewZHnitOEozKB<4@F=6>E^-*HFCrM--7Pdm1Lw8f}CO z0k%7qNP?I!m!R~y#VZDWAOdg?lmtaV0GRlor=H9lDw;NkTNbgs3rLo`k|#1(sg<^- znScZw&e37HxX0nd*peJef^nwUF0TYE)>}{TUN!9lY6PLmi&^^=)>Lz`2VI&@bTV

C6) zBn+9jwQJBr$Z`D)05I6)tr5sCK;f7<3)FZbqZ;(FCTDqP!Dv_3v~=*cOk*P(t7Ld{Z7rtEWRC$aHji!=X81Ip{EJh&6Sv@Vp@ax6dA4rB1W+EdA>kx!qt8R z0|8JPS_L(DR?XZuhtQQky&QDv#p6*l2K7I@P%!vdWrOJ2;8|9-8rt(PJ2fCtPoKOqBwiz z_~VSv&s}Qa)prdJQGzYsR?4y%z!XS`2ul;zXd0b3yoz|(aD_X81=zgvV`s>E3zsIs zx3Z_Xc)d0-G;X-4m=H7H9FHl}{-sAbQI#h$$jVc9zyn4f=ejr&YJ2mcVAtU#>_1+h z{|m+Yf7_sdjkIdTu`E8mJ4I35LSb-lnyEtn)ktpyfJ(fR%dJO51&uwRi{t6Zgn~&SNVIv=e~j`Ee2gM&ljzNaE{| zg9jdtnP&jZ(xj>|CxHmHy{3@d;+IB743dqh(~T1%{dqawdxTe)O%{-ph~^oU5zGK^ gUFhip`cHyML%F6@PeWS|iqE2IQ_}qt9wfl+Z(4jT8UO$Q diff --git a/pylons_app/public/js/yui/assets/skins/sam/logger.css b/pylons_app/public/js/yui/assets/skins/sam/logger.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/logger.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-skin-sam .yui-log{padding:1em;width:31em;background-color:#AAA;color:#000;border:1px solid black;font-family:monospace;font-size:77%;text-align:left;z-index:9000;}.yui-skin-sam .yui-log-container{position:absolute;top:1em;right:1em;}.yui-skin-sam .yui-log input{margin:0;padding:0;font-family:arial;font-size:100%;font-weight:normal;}.yui-skin-sam .yui-log .yui-log-btns{position:relative;float:right;bottom:.25em;}.yui-skin-sam .yui-log .yui-log-hd{margin-top:1em;padding:.5em;background-color:#575757;}.yui-skin-sam .yui-log .yui-log-hd h4{margin:0;padding:0;font-size:108%;font-weight:bold;color:#FFF;}.yui-skin-sam .yui-log .yui-log-bd{width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}.yui-skin-sam .yui-log p{margin:1px;padding:.1em;}.yui-skin-sam .yui-log pre{margin:0;padding:0;}.yui-skin-sam .yui-log pre.yui-log-verbose{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.yui-skin-sam .yui-log .yui-log-ft{margin-top:.5em;}.yui-skin-sam .yui-log .yui-log-ft .yui-log-sourcefilters{width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}.yui-skin-sam .yui-log .yui-log-filtergrp{margin-right:.5em;}.yui-skin-sam .yui-log .info{background-color:#A7CC25;}.yui-skin-sam .yui-log .warn{background-color:#F58516;}.yui-skin-sam .yui-log .error{background-color:#E32F0B;}.yui-skin-sam .yui-log .time{background-color:#A6C9D7;}.yui-skin-sam .yui-log .window{background-color:#F2E886;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/menu-button-arrow-disabled.png b/pylons_app/public/js/yui/assets/skins/sam/menu-button-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8cef2abb31170a370c7062c839ea9d5e9de18948 GIT binary patch literal 173 zc%17D@N?(olHy`uVBq!ia0vp^0zk~d!3-ofWcl9%anc=q9T^y|-MHc(VFct$mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$(3-AeXt*@{D|Np;u@pDC#5QQ<|d}62BjvZR2H60wE-$(3-AeX1=9cj|6h7@{#_u8sU*lR z_&>wb?FL>zp1h}vV@SoVq=W_rH;IG.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}.yuimenubaritem{float:left;}.yuimenubaritemlabel,.yuimenuitemlabel{display:block;}.yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1em 0 0 10em;}.yui-menu-shadow{position:absolute;visibility:hidden;z-index:-1;}.yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;visibility:visible;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars,.yuimenubar.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow,.yuimenubar.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow,.yuimenubar.show-scrollbars .yui-menu-shadow{overflow:auto;}.yui-overlay.yui-force-redraw{margin-bottom:1px;}.yui-skin-sam .yuimenubar{font-size:93%;line-height:2;*line-height:1.9;border:solid 1px #808080;background:url(sprite.png) repeat-x 0 0;}.yui-skin-sam .yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}.yui-skin-sam .yuimenubaritemlabel{padding:0 10px;color:#000;text-decoration:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;*position:relative;margin:-1px 0;}.yui-skin-sam .yuimenubaritemlabel:visited{color:#000;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel{padding-right:20px;*display:inline-block;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu{background:url(menubaritem_submenuindicator.png) right center no-repeat;}.yui-skin-sam .yuimenubaritem-selected{background:url(sprite.png) repeat-x 0 -1700px;}.yui-skin-sam .yuimenubaritemlabel-selected{border-color:#7D98B8;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected{border-left-width:1px;margin-left:-1px;*left:-1px;}.yui-skin-sam .yuimenubaritemlabel-disabled,.yui-skin-sam .yuimenubaritemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled{background-image:url(menubaritem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenu{font-size:93%;line-height:1.5;*line-height:1.45;}.yui-skin-sam .yuimenubar .yuimenu,.yui-skin-sam .yuimenu .yuimenu{font-size:100%;}.yui-skin-sam .yuimenu .bd{*zoom:1;_zoom:normal;border:solid 1px #808080;background-color:#fff;}.yui-skin-sam .yuimenu .yuimenu .bd{*zoom:normal;}.yui-skin-sam .yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}.yui-skin-sam .yuimenu ul.first-of-type{border-width:0;}.yui-skin-sam .yuimenu h6{font-weight:bold;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}.yui-skin-sam .yuimenu ul.hastitle,.yui-skin-sam .yuimenu h6.first-of-type{border-width:0;}.yui-skin-sam .yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}.yui-skin-sam .yuimenu .topscrollbar,.yui-skin-sam .yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(sprite.png) no-repeat 0 0;}.yui-skin-sam .yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}.yui-skin-sam .yuimenu .topscrollbar_disabled{background-position:center -975px;}.yui-skin-sam .yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}.yui-skin-sam .yuimenu .bottomscrollbar_disabled{background-position:center -875px;}.yui-skin-sam .yuimenuitem{_border-bottom:solid 1px #fff;}.yui-skin-sam .yuimenuitemlabel{padding:0 20px;color:#000;text-decoration:none;cursor:default;}.yui-skin-sam .yuimenuitemlabel:visited{color:#000;}.yui-skin-sam .yuimenuitemlabel .helptext{margin-top:-1.5em;*margin-top:-1.45em;}.yui-skin-sam .yuimenuitem-hassubmenu{background-image:url(menuitem_submenuindicator.png);background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yuimenuitem-checked{background-image:url(menuitem_checkbox.png);background-position:left center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-shadow-visible{background-color:#000;opacity:.12;filter:alpha(opacity=12);}.yui-skin-sam .yuimenuitem-selected{background-color:#B3D4FF;}.yui-skin-sam .yuimenuitemlabel-disabled,.yui-skin-sam .yuimenuitemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenuitem-hassubmenu-disabled{background-image:url(menuitem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenuitem-checked-disabled{background-image:url(menuitem_checkbox_disabled.png);} diff --git a/pylons_app/public/js/yui/assets/skins/sam/menubaritem_submenuindicator.png b/pylons_app/public/js/yui/assets/skins/sam/menubaritem_submenuindicator.png new file mode 100644 index 0000000000000000000000000000000000000000..030941c9cffc064276813d7eaab03d8c667ed700 GIT binary patch literal 3618 zc$@(u4&CvIP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=00004XF*Lt006O$eEU(80000WV@Og>004R=004l4008;_004mL004C` z008P>0026e000+nl3&F}00093P)t-s00030|NjC40s{jB1Ox;H1qB8M1_uWR2nYxX z2?+`c3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH z8XFrM92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021 zEG#T7EiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!- zJv}}?K0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)Wt zPESuyP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5d zU|?WjVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&O zadC2Ta&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8 zf`fyDgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@ zl$4Z}m6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*! zrKP5(rl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dk zwzs#pxVX5vxw*Q!y1To(yu7@dCU z$jHda$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~ z>g((4?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF) z{QUg={r&#_{{R2~`6RjA00002bW%=J{{ZE;FiHRb03%66K~#9!Vqky(Mi^jVMCCIw oFfyX>85y7$4gdfE0RR6300puDFk diff --git a/pylons_app/public/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png b/pylons_app/public/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1612230550ef09678a38a2e3374585055a07eb GIT binary patch literal 3618 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 diff --git a/pylons_app/public/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png b/pylons_app/public/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..427d60a38af14ac7b530a266dc2e969555d287c7 GIT binary patch literal 3617 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 diff --git a/pylons_app/public/js/yui/assets/skins/sam/paginator.css b/pylons_app/public/js/yui/assets/skins/sam/paginator.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/paginator.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-skin-sam .yui-pg-container{display:block;margin:6px 0;white-space:nowrap;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous,.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last,.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-pages,.yui-skin-sam .yui-pg-page{display:inline-block;font-family:arial,helvetica,clean,sans-serif;padding:3px 6px;zoom:1;}.yui-skin-sam .yui-pg-pages{padding:0;}.yui-skin-sam .yui-pg-current{padding:3px 0;}.yui-skin-sam a.yui-pg-first:link,.yui-skin-sam a.yui-pg-first:visited,.yui-skin-sam a.yui-pg-first:active,.yui-skin-sam a.yui-pg-first:hover,.yui-skin-sam a.yui-pg-previous:link,.yui-skin-sam a.yui-pg-previous:visited,.yui-skin-sam a.yui-pg-previous:active,.yui-skin-sam a.yui-pg-previous:hover,.yui-skin-sam a.yui-pg-next:link,.yui-skin-sam a.yui-pg-next:visited,.yui-skin-sam a.yui-pg-next:active,.yui-skin-sam a.yui-pg-next:hover,.yui-skin-sam a.yui-pg-last:link,.yui-skin-sam a.yui-pg-last:visited,.yui-skin-sam a.yui-pg-last:active,.yui-skin-sam a.yui-pg-last:hover,.yui-skin-sam a.yui-pg-page:link,.yui-skin-sam a.yui-pg-page:visited,.yui-skin-sam a.yui-pg-page:active,.yui-skin-sam a.yui-pg-page:hover{color:#06c;text-decoration:underline;outline:0;}.yui-skin-sam span.yui-pg-first,.yui-skin-sam span.yui-pg-previous,.yui-skin-sam span.yui-pg-next,.yui-skin-sam span.yui-pg-last{color:#a6a6a6;}.yui-skin-sam .yui-pg-page{background-color:#fff;border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;}.yui-skin-sam .yui-pg-current-page{background-color:transparent;border:none;font-weight:bold;padding:3px 6px;}.yui-skin-sam .yui-pg-page{margin-left:1px;margin-right:1px;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous{padding-left:0;}.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last{padding-right:0;}.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-rpp-options{margin-left:1em;margin-right:1em;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/picker_mask.png b/pylons_app/public/js/yui/assets/skins/sam/picker_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d91932b376af76ccfac030c12eb9fec7ee4c63 GIT binary patch literal 12174 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.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}.yuimenubaritem{float:left;}.yuimenubaritemlabel,.yuimenuitemlabel{display:block;}.yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1em 0 0 10em;}.yui-menu-shadow{position:absolute;visibility:hidden;z-index:-1;}.yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;visibility:visible;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars,.yuimenubar.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow,.yuimenubar.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow,.yuimenubar.show-scrollbars .yui-menu-shadow{overflow:auto;}.yui-overlay.yui-force-redraw{margin-bottom:1px;}.yui-skin-sam .yuimenubar{font-size:93%;line-height:2;*line-height:1.9;border:solid 1px #808080;background:url(sprite.png) repeat-x 0 0;}.yui-skin-sam .yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}.yui-skin-sam .yuimenubaritemlabel{padding:0 10px;color:#000;text-decoration:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;*position:relative;margin:-1px 0;}.yui-skin-sam .yuimenubaritemlabel:visited{color:#000;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel{padding-right:20px;*display:inline-block;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu{background:url(menubaritem_submenuindicator.png) right center no-repeat;}.yui-skin-sam .yuimenubaritem-selected{background:url(sprite.png) repeat-x 0 -1700px;}.yui-skin-sam .yuimenubaritemlabel-selected{border-color:#7D98B8;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected{border-left-width:1px;margin-left:-1px;*left:-1px;}.yui-skin-sam .yuimenubaritemlabel-disabled,.yui-skin-sam .yuimenubaritemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled{background-image:url(menubaritem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenu{font-size:93%;line-height:1.5;*line-height:1.45;}.yui-skin-sam .yuimenubar .yuimenu,.yui-skin-sam .yuimenu .yuimenu{font-size:100%;}.yui-skin-sam .yuimenu .bd{*zoom:1;_zoom:normal;border:solid 1px #808080;background-color:#fff;}.yui-skin-sam .yuimenu .yuimenu .bd{*zoom:normal;}.yui-skin-sam .yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}.yui-skin-sam .yuimenu ul.first-of-type{border-width:0;}.yui-skin-sam .yuimenu h6{font-weight:bold;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}.yui-skin-sam .yuimenu ul.hastitle,.yui-skin-sam .yuimenu h6.first-of-type{border-width:0;}.yui-skin-sam .yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}.yui-skin-sam .yuimenu .topscrollbar,.yui-skin-sam .yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(sprite.png) no-repeat 0 0;}.yui-skin-sam .yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}.yui-skin-sam .yuimenu .topscrollbar_disabled{background-position:center -975px;}.yui-skin-sam .yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}.yui-skin-sam .yuimenu .bottomscrollbar_disabled{background-position:center -875px;}.yui-skin-sam .yuimenuitem{_border-bottom:solid 1px #fff;}.yui-skin-sam .yuimenuitemlabel{padding:0 20px;color:#000;text-decoration:none;cursor:default;}.yui-skin-sam .yuimenuitemlabel:visited{color:#000;}.yui-skin-sam .yuimenuitemlabel .helptext{margin-top:-1.5em;*margin-top:-1.45em;}.yui-skin-sam .yuimenuitem-hassubmenu{background-image:url(menuitem_submenuindicator.png);background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yuimenuitem-checked{background-image:url(menuitem_checkbox.png);background-position:left center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-shadow-visible{background-color:#000;opacity:.12;filter:alpha(opacity=12);}.yui-skin-sam .yuimenuitem-selected{background-color:#B3D4FF;}.yui-skin-sam .yuimenuitemlabel-disabled,.yui-skin-sam .yuimenuitemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenuitem-hassubmenu-disabled{background-image:url(menuitem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenuitem-checked-disabled{background-image:url(menuitem_checkbox_disabled.png);} +.yui-skin-sam .yui-pg-container{display:block;margin:6px 0;white-space:nowrap;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous,.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last,.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-pages,.yui-skin-sam .yui-pg-page{display:inline-block;font-family:arial,helvetica,clean,sans-serif;padding:3px 6px;zoom:1;}.yui-skin-sam .yui-pg-pages{padding:0;}.yui-skin-sam .yui-pg-current{padding:3px 0;}.yui-skin-sam a.yui-pg-first:link,.yui-skin-sam a.yui-pg-first:visited,.yui-skin-sam a.yui-pg-first:active,.yui-skin-sam a.yui-pg-first:hover,.yui-skin-sam a.yui-pg-previous:link,.yui-skin-sam a.yui-pg-previous:visited,.yui-skin-sam a.yui-pg-previous:active,.yui-skin-sam a.yui-pg-previous:hover,.yui-skin-sam a.yui-pg-next:link,.yui-skin-sam a.yui-pg-next:visited,.yui-skin-sam a.yui-pg-next:active,.yui-skin-sam a.yui-pg-next:hover,.yui-skin-sam a.yui-pg-last:link,.yui-skin-sam a.yui-pg-last:visited,.yui-skin-sam a.yui-pg-last:active,.yui-skin-sam a.yui-pg-last:hover,.yui-skin-sam a.yui-pg-page:link,.yui-skin-sam a.yui-pg-page:visited,.yui-skin-sam a.yui-pg-page:active,.yui-skin-sam a.yui-pg-page:hover{color:#06c;text-decoration:underline;outline:0;}.yui-skin-sam span.yui-pg-first,.yui-skin-sam span.yui-pg-previous,.yui-skin-sam span.yui-pg-next,.yui-skin-sam span.yui-pg-last{color:#a6a6a6;}.yui-skin-sam .yui-pg-page{background-color:#fff;border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;}.yui-skin-sam .yui-pg-current-page{background-color:transparent;border:none;font-weight:bold;padding:3px 6px;}.yui-skin-sam .yui-pg-page{margin-left:1px;margin-right:1px;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous{padding-left:0;}.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last{padding-right:0;}.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-rpp-options{margin-left:1em;margin-right:1em;} +.yui-skin-sam .yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-skin-sam .yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-skin-sam .yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-skin-sam .yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-skin-sam .yui-pv .hd span{display:none;}.yui-skin-sam .yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-skin-sam .yui-pv .hd:after,.yui-pv .bd:after,.yui-skin-sam .yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-skin-sam .yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-skin-sam .yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-skin-sam .yui-pv-chartcontainer{padding:0 10px;}.yui-skin-sam .yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-skin-sam .yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-skin-sam .yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-skin-sam .yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-skin-sam .yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-skin-sam .yui-pv-minimized{height:35px;}.yui-skin-sam .yui-pv-minimized .bd{top:-3000px;}.yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh{display:none;} +.yui-pb-bar,.yui-pb-mask{width:100%;height:100%;}.yui-pb{position:relative;top:0;left:0;width:200px;height:20px;padding:0;border:none;margin:0;text-align:left;}.yui-pb-mask{position:absolute;top:0;left:0;z-index:2;}.yui-pb-mask div{width:50%;height:50%;background-repeat:no-repeat;padding:0;position:absolute;}.yui-pb-tl{background-position:top left;}.yui-pb-tr{background-position:top right;left:50%;}.yui-pb-bl{background-position:bottom left;top:50%;}.yui-pb-br{background-position:bottom right;left:50%;top:50%;}.yui-pb-bar{margin:0;position:absolute;left:0;top:0;z-index:1;}.yui-pb-ltr .yui-pb-bar{_position:static;}.yui-pb-rtl .yui-pb-bar{background-position:right;}.yui-pb-btt .yui-pb-bar{background-position:left bottom;}.yui-pb-bar{background-color:blue;}.yui-pb{border:thin solid #808080;}.yui-skin-sam .yui-pb{background-color:transparent;border:solid #808080;border-width:1px 0;}.yui-skin-sam .yui-pb-rtl,.yui-skin-sam .yui-pb-ltr{background-image:url(back-h.png);background-repeat:repeat-x;}.yui-skin-sam .yui-pb-ttb,.yui-skin-sam .yui-pb-btt{background-image:url(back-v.png);background-repeat:repeat-y;}.yui-skin-sam .yui-pb-bar{background-color:transparent;}.yui-skin-sam .yui-pb-ltr .yui-pb-bar,.yui-skin-sam .yui-pb-rtl .yui-pb-bar{background-image:url(bar-h.png);background-repeat:repeat-x;}.yui-skin-sam .yui-pb-ttb .yui-pb-bar,.yui-skin-sam .yui-pb-btt .yui-pb-bar{background-image:url(bar-v.png);background-repeat:repeat-y;}.yui-skin-sam .yui-pb-mask{border:solid #808080;border-width:0 1px;margin:0 -1px;}.yui-skin-sam .yui-pb-caption{color:#000;text-align:center;margin:0 auto;}.yui-skin-sam .yui-pb-range{color:#a6a6a6;} +.yui-resize{position:relative;zoom:1;z-index:0;}.yui-resize-wrap{zoom:1;}.yui-draggable{cursor:move;}.yui-resize .yui-resize-handle{position:absolute;z-index:1;font-size:0;margin:0;padding:0;zoom:1;height:1px;width:1px;}.yui-resize .yui-resize-handle-br{height:5px;width:5px;bottom:0;right:0;cursor:se-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-bl{height:5px;width:5px;bottom:0;left:0;cursor:sw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tl{height:5px;width:5px;top:0;left:0;cursor:nw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tr{height:5px;width:5px;top:0;right:0;cursor:ne-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-r{width:5px;height:100%;top:0;right:0;cursor:e-resize;zoom:1;}.yui-resize .yui-resize-handle-l{height:100%;width:5px;top:0;left:0;cursor:w-resize;zoom:1;}.yui-resize .yui-resize-handle-b{width:100%;height:5px;bottom:0;right:0;cursor:s-resize;zoom:1;}.yui-resize .yui-resize-handle-t{width:100%;height:5px;top:0;right:0;cursor:n-resize;zoom:1;}.yui-resize-proxy{position:absolute;border:1px dashed #000;visibility:hidden;z-index:1000;}.yui-resize-hover .yui-resize-handle,.yui-resize-hidden .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-resize-ghost{opacity:.5;filter:alpha(opacity=50);}.yui-resize-knob .yui-resize-handle{height:6px;width:6px;}.yui-resize-knob .yui-resize-handle-tr{right:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-tl{left:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-bl{left:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-br{right:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-t{left:45%;top:-3px;}.yui-resize-knob .yui-resize-handle-r{right:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-l{left:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-b{left:45%;bottom:-3px;}.yui-resize-status{position:absolute;top:-999px;left:-999px;padding:2px;font-size:80%;display:none;zoom:1;z-index:9999;}.yui-resize-status strong,.yui-resize-status em{font-weight:normal;font-style:normal;padding:1px;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle{background-color:#F2F2F2;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle-active{background-color:#7D98B8;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle-l,.yui-skin-sam .yui-resize .yui-resize-handle-r,.yui-skin-sam .yui-resize .yui-resize-handle-l-active,.yui-skin-sam .yui-resize .yui-resize-handle-r-active{height:100%;zoom:1;}.yui-skin-sam .yui-resize-knob .yui-resize-handle{border:1px solid #808080;}.yui-skin-sam .yui-resize-hover .yui-resize-handle-active{opacity:1;filter:alpha(opacity=100);}.yui-skin-sam .yui-resize-proxy{border:1px dashed #426FD9;}.yui-skin-sam .yui-resize-status{border:1px solid #A6982B;border-top:1px solid #D4C237;background-color:#FFEE69;color:#000;}.yui-skin-sam .yui-resize-status strong,.yui-skin-sam .yui-resize-status em{float:left;display:block;clear:both;padding:1px;text-align:center;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize .yui-resize-handle-inner-l{background:transparent url(layout_sprite.png) no-repeat 0 -5px;height:16px;width:5px;position:absolute;top:45%;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize .yui-resize-handle-inner-b{background:transparent url(layout_sprite.png) no-repeat -20px 0;height:5px;width:16px;position:absolute;left:50%;}.yui-skin-sam .yui-resize .yui-resize-handle-br{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -62px;}.yui-skin-sam .yui-resize .yui-resize-handle-tr{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -42px;}.yui-skin-sam .yui-resize .yui-resize-handle-tl{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -82px;}.yui-skin-sam .yui-resize .yui-resize-handle-bl{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -23px;}.yui-skin-sam .yui-resize-knob .yui-resize-handle-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-br,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-br{background-image:none;}.yui-skin-sam .yui-resize-knob .yui-resize-handle-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-l-active,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r-active{height:6px;width:6px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-r{right:-8px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-b{bottom:-8px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-br{right:-8px;bottom:-8px;} +.yui-busy{cursor:wait!important;}.yui-toolbar-container fieldset,.yui-editor-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-skin-sam .yui-toolbar-container .yui-button button,.yui-skin-sam .yui-toolbar-container .yui-button a,.yui-skin-sam .yui-toolbar-container .yui-button a:visited{font-size:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a:visited,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a:visited{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{font-size:0;line-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;margin-right:.5em;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;padding:0;height:18px;margin:.2em 0 .2em .1em;display:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:45px;*height:50px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;display:block;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;font-size:0;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block;right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;height:100%;width:100%;position:absolute;top:0;left:0;opacity:.5;filter:alpha(opacity=50);}.yui-editor-container iframe{border:0;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:.25em 0 .25em .25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd .gecko form{overflow:auto;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group{margin-bottom:.75em;}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:visible;}.yui-editor-panel .height-width span.info{font-size:70%;margin-top:3px;float:none;} +.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;_top:-5px;width:24px;text-indent:52px;font-size:0;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0;text-indent:0;font-size:75%;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px!important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-toolbar-group-undoredo h3,.yui-toolbar-group-insertitem h3,.yui-toolbar-group-indentlist h3{width:68px;}.yui-toolbar-group-indentlist2 h3{width:122px;}.yui-toolbar-group-alignment h3{width:130px;}.yui-skin-sam .yui-editor-container{border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container{zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-skin-sam .yui-editor-container .draggable .yui-toolbar-titlebar{cursor:move;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar h2{color:#000;font-weight:bold;margin:0;padding:.3em 1em;font-size:100%;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:0 .25em;}.yui-skin-sam .yui-toolbar-container{background-color:#F2F2F2;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subcont{padding:0 1em .35em;border-bottom:1px solid #808080;}.yui-skin-sam .yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-skin-sam .yui-editor-container .visible .yui-menu-shadow,.yui-skin-sam .yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-skin-sam .yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-skin-sam .yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:.25em;}.yui-skin-sam .yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-skin-sam .yui-toolbar-container .collapsed{background:url(sprite.png) no-repeat 0 -350px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;} +.yui-skin-sam .yui-toolbar-container .yui-push-button,.yui-skin-sam .yui-toolbar-container .yui-color-button,.yui-skin-sam .yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;_font-size:0;margin:0;border-color:#808080;color:#f2f2f2;border-style:solid;border-width:1px 0;zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-push-button a,.yui-skin-sam .yui-toolbar-container .yui-color-button a,.yui-skin-sam .yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:0;line-height:2;display:block;color:#000;overflow:hidden;white-space:nowrap;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-push-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;position:relative;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-button .first-child{*left:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-skin-sam .yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-skin-sam .yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-skin-sam .yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-skin-sam .yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-skin-sam .yui-toolbar-container .yui-button-menu{background-color:#fff;}.yui-skin-sam .yui-toolbar-container .yui-button-menu .yui-menu-body-scrolled{position:relative;}.yui-skin-sam div.yuimenu li.selected{background-color:#B3D4FF;}.yui-skin-sam div.yuimenu li.selected a.selected{color:#000;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-strikethrough span.yui-toolbar-icon{background-position:0 -108px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-undo span.yui-toolbar-icon{background-position:0 -1326px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-redo span.yui-toolbar-icon{background-position:0 -1355px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;} +.yui-skin-sam .yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-skin-sam .yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url(editor-sprite.gif) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0;height:20px;}.yui-skin-sam .yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-skin-sam .yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-skin-sam .yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;position:absolute;}.yui-skin-sam .yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-skin-sam .yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-skin-sam .yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-skin-sam .yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-panel ul li{margin:0;padding:0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:.35em;}.yui-skin-sam .yui-editor-panel .yui-toolbar-bordersize,.yui-skin-sam .yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-skin-sam .yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-skin-sam .yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-skin-sam .yui-editor-panel label input{width:75%;}.yui-skin-sam .yui-editor-panel .createlink_target,.yui-skin-sam .yui-editor-panel .insertimage_target{width:auto;margin-right:5px;}.yui-skin-sam .yui-editor-panel .removeLink{width:98%;}.yui-skin-sam .yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-skin-sam .yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-skin-sam .yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding{width:203px;_width:198px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-skin-sam .yui-editor-panel .hd{background:none;}.yui-skin-sam .yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-skin-sam .yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-skin-sam .yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-skin-sam .yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon{background:url(editor-sprite.gif) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-skin-sam .yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url(editor-knob.gif) no-repeat 0 0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .bd{background-color:#fff;}.yui-editor-blankimage{background-image:url(blankimage.png);}.yui-skin-sam .yui-editor-container .yui-resize-handle-br{height:11px;width:11px;background-position:-20px -60px;background-color:transparent;} +.yui-h-slider,.yui-v-slider,.yui-region-slider{position:relative;}.yui-h-slider .yui-slider-thumb,.yui-v-slider .yui-slider-thumb,.yui-region-slider .yui-slider-thumb{position:absolute;cursor:default;}.yui-skin-sam .yui-h-slider{background:url(bg-h.gif) no-repeat 5px 0;height:28px;width:228px;}.yui-skin-sam .yui-h-slider .yui-slider-thumb{top:4px;}.yui-skin-sam .yui-v-slider{background:url(bg-v.gif) no-repeat 12px 0;height:228px;width:48px;}.yui-skin-sam .yui-region-slider{height:228px;width:228px;} +.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 .5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 .5em;}.yui-navset .yui-content .yui-hidden{border:0;height:0;width:0;padding:0;position:absolute;left:-999999px;overflow:hidden;visibility:hidden;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content,.yui-navset .yui-content div{zoom:1;}.yui-navset .yui-content:after{content:'';display:block;clear:both;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-skin-sam .yui-navset .yui-nav,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;zoom:1;}.yui-skin-sam .yui-navset .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li{margin:0 .16em 0 0;padding:1px 0 0;zoom:1;}.yui-skin-sam .yui-navset .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected{margin:0 .16em -1px 0;}.yui-skin-sam .yui-navset .yui-nav a,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-skin-sam .yui-navset .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a:focus,.yui-skin-sam .yui-navset .yui-nav .selected a:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff;}.yui-skin-sam .yui-navset .yui-nav a:hover,.yui-skin-sam .yui-navset .yui-nav a:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0;}.yui-skin-sam .yui-navset .yui-nav .selected a em{padding:.35em .75em;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-skin-sam .yui-navset .yui-content{background:#edf5ff;}.yui-skin-sam .yui-navset .yui-content,.yui-skin-sam .yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em;}.yui-skin-sam .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-skin-sam .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset-right .yui-nav li{margin:0 0 .16em;padding:0 0 0 1px;}.yui-skin-sam .yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-skin-sam .yui-navset-left .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px .16em 0;}.yui-skin-sam .yui-navset-right .yui-nav .selected{margin:0 0 .16em -1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav a{border-width:1px 0;}.yui-skin-sam .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:.2em .75em;top:auto;left:-1px;}.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-left .yui-nav .selected a,.yui-skin-sam .yui-navset-left .yui-nav a:hover,.yui-skin-sam .yui-navset-right .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav .selected a,.yui-skin-sam .yui-navset-right .yui-nav a:hover,.yui-skin-sam .yui-navset-bottom .yui-nav a,.yui-skin-sam .yui-navset-bottom .yui-nav .selected a,.yui-skin-sam .yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-skin-sam .yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-skin-sam .yui-navset-bottom .yui-nav,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected,.yui-skin-sam .yui-navset-bottom .yui-nav .selected{margin:-1px .16em 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li,.yui-skin-sam .yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em,.yui-skin-sam .yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;} +.yui-skin-sam .yui-navset-bottom .yui-content,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;} +table.ygtvtable{margin-bottom:0;border:none;border-collapse:collapse;}td.ygtvcell{border:none;padding:0;}a.ygtvspacer{text-decoration:none;outline-style:none;display:block;}.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;cursor:pointer;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh,.ygtvtmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph,.ygtvtphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;cursor:pointer;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0 no-repeat;}.ygtvlmh,.ygtvlmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph,.ygtvlphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;cursor:pointer;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}* html .ygtvchildren{height:2%;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;cursor:pointer;}.ygtvcontent{cursor:default;}.ygtvspacer{height:22px;width:18px;}.ygtvfocus{background-color:#c0e0e0;border:none;}.ygtvfocus .ygtvlabel,.ygtvfocus .ygtvlabel:link,.ygtvfocus .ygtvlabel:visited,.ygtvfocus .ygtvlabel:hover{background-color:#c0e0e0;}.ygtvfocus a{outline-style:none;}.ygtvok{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8800px no-repeat;}.ygtvok:hover{background:url(treeview-sprite.gif) 0 -8844px no-repeat;}.ygtvcancel{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8822px no-repeat;}.ygtvcancel:hover{background:url(treeview-sprite.gif) 0 -8866px no-repeat;}.ygtv-label-editor{background-color:#f2f2f2;border:1px solid silver;position:absolute;display:none;overflow:hidden;margin:auto;z-index:9000;}.ygtv-edit-TextNode{width:190px;}.ygtv-edit-TextNode .ygtvcancel,.ygtv-edit-TextNode .ygtvok{border:none;}.ygtv-edit-TextNode .ygtv-button-container{float:right;}.ygtv-edit-TextNode .ygtv-input input{width:140px;}.ygtv-edit-DateNode .ygtvcancel{border:none;}.ygtv-edit-DateNode .ygtvok{display:none;}.ygtv-edit-DateNode .ygtv-button-container{text-align:right;margin:auto;}.ygtv-highlight .ygtv-highlight1,.ygtv-highlight .ygtv-highlight1 .ygtvlabel{background-color:blue;color:white;}.ygtv-highlight .ygtv-highlight2,.ygtv-highlight .ygtv-highlight2 .ygtvlabel{background-color:silver;}.ygtv-highlight .ygtv-highlight0 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight1 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight2 .ygtvfocus .ygtvlabel{background-color:#c0e0e0;}.ygtv-highlight .ygtvcontent{padding-right:1em;}.ygtv-checkbox .ygtv-highlight0 .ygtvcontent{padding-left:1em;background:url(check0.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight0 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight1 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight2 .ygtvfocus.ygtvcontent{background-color:#c0e0e0;}.ygtv-checkbox .ygtv-highlight1 .ygtvcontent{padding-left:1em;background:url(check1.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight2 .ygtvcontent{padding-left:1em;background:url(check2.gif) no-repeat;} + diff --git a/pylons_app/public/js/yui/assets/skins/sam/slider.css b/pylons_app/public/js/yui/assets/skins/sam/slider.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/slider.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-h-slider,.yui-v-slider,.yui-region-slider{position:relative;}.yui-h-slider .yui-slider-thumb,.yui-v-slider .yui-slider-thumb,.yui-region-slider .yui-slider-thumb{position:absolute;cursor:default;}.yui-skin-sam .yui-h-slider{background:url(bg-h.gif) no-repeat 5px 0;height:28px;width:228px;}.yui-skin-sam .yui-h-slider .yui-slider-thumb{top:4px;}.yui-skin-sam .yui-v-slider{background:url(bg-v.gif) no-repeat 12px 0;height:228px;width:48px;}.yui-skin-sam .yui-region-slider{height:228px;width:228px;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-active.png b/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-active.png new file mode 100644 index 0000000000000000000000000000000000000000..fa58c5030e76082c84e38342cf6722c723ad2fd2 GIT binary patch literal 280 zc$@(k0q6dSP)N~-|K;%i-0c73 z@c-iO|KRQa-|hd~QeFE1003M`L_t(|+U&?l5`sVg1i`WZK}Epr|6dhmytLs92=mel z9uoULP6;mwyM%qhIpHzkHQ|(SNO(*5TD8?y@wq9xG<+26t_AN^`$=39HtEMPCOjwP e%l`;(0R{kdKn;SADLBOd00006$Gh9E#3p9{H-P6S}q~camLV^=3&tj%#_Xa_x2_Xl57U&w-9pX85Q9;Im dv4Me^VIeE)+1pK9I)PdkJYD@<);T3K0RYcxInw|D diff --git a/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-focus.png b/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-focus.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_Tx)0S05bpo|DSu#^)isf zToU9L{Qp10^;5h+0~ypkT^vIyZY3ooII;39W@>hC5M-JVa^Poyu7TYlo?{mkWE>b9 b7?>Frva+7N-L$0>sD;7P)z4*}Q$iB}D9ShR diff --git a/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-hover.png b/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_Tx)0S05bpo|DSu#^)isf zToU9L{Qp10^;5h+0~ypkT^vIyZY3ooII;39W@>hC5M-JVa^Poyu7TYlo?{mkWE>b9 b7?>Frva+7N-L$0>sD;7P)z4*}Q$iB}D9ShR diff --git a/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow.png b/pylons_app/public/js/yui/assets/skins/sam/split-button-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b33a93ff2dc2039bd24e4ea3b75ecf4bb3295f84 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_TpJo1fXx5@|JyBHuocK+ zE(!7r{{Nrh`YB$Zfeh-NE{-7;w~`VPoLG4lGc~(62r^9wIqgTe~DWM4f1sXSq diff --git a/pylons_app/public/js/yui/assets/skins/sam/sprite.png b/pylons_app/public/js/yui/assets/skins/sam/sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..73634d6a22c4377060f49217b63f31b59fe22d51 GIT binary patch literal 3745 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 O5O8zyJXGR{P5uvhO#S}= diff --git a/pylons_app/public/js/yui/assets/skins/sam/sprite.psd b/pylons_app/public/js/yui/assets/skins/sam/sprite.psd new file mode 100644 index 0000000000000000000000000000000000000000..fff2c3471308fed4c93ef4961ea1cd729b41bdca GIT binary patch literal 118162 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 diff --git a/pylons_app/public/js/yui/assets/skins/sam/tabview.css b/pylons_app/public/js/yui/assets/skins/sam/tabview.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/tabview.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 .5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 .5em;}.yui-navset .yui-content .yui-hidden{border:0;height:0;width:0;padding:0;position:absolute;left:-999999px;overflow:hidden;visibility:hidden;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content,.yui-navset .yui-content div{zoom:1;}.yui-navset .yui-content:after{content:'';display:block;clear:both;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-skin-sam .yui-navset .yui-nav,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;zoom:1;}.yui-skin-sam .yui-navset .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li{margin:0 .16em 0 0;padding:1px 0 0;zoom:1;}.yui-skin-sam .yui-navset .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected{margin:0 .16em -1px 0;}.yui-skin-sam .yui-navset .yui-nav a,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-skin-sam .yui-navset .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a:focus,.yui-skin-sam .yui-navset .yui-nav .selected a:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff;}.yui-skin-sam .yui-navset .yui-nav a:hover,.yui-skin-sam .yui-navset .yui-nav a:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0;}.yui-skin-sam .yui-navset .yui-nav .selected a em{padding:.35em .75em;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-skin-sam .yui-navset .yui-content{background:#edf5ff;}.yui-skin-sam .yui-navset .yui-content,.yui-skin-sam .yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em;}.yui-skin-sam .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-skin-sam .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset-right .yui-nav li{margin:0 0 .16em;padding:0 0 0 1px;}.yui-skin-sam .yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-skin-sam .yui-navset-left .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px .16em 0;}.yui-skin-sam .yui-navset-right .yui-nav .selected{margin:0 0 .16em -1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav a{border-width:1px 0;}.yui-skin-sam .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:.2em .75em;top:auto;left:-1px;}.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-left .yui-nav .selected a,.yui-skin-sam .yui-navset-left .yui-nav a:hover,.yui-skin-sam .yui-navset-right .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav .selected a,.yui-skin-sam .yui-navset-right .yui-nav a:hover,.yui-skin-sam .yui-navset-bottom .yui-nav a,.yui-skin-sam .yui-navset-bottom .yui-nav .selected a,.yui-skin-sam .yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-skin-sam .yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-skin-sam .yui-navset-bottom .yui-nav,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected,.yui-skin-sam .yui-navset-bottom .yui-nav .selected{margin:-1px .16em 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li,.yui-skin-sam .yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em,.yui-skin-sam .yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;} +.yui-skin-sam .yui-navset-bottom .yui-content,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/treeview-loading.gif b/pylons_app/public/js/yui/assets/skins/sam/treeview-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bbf3bc0c0e5e635553e8d1bf9ceddefbc402396 GIT binary patch literal 2673 zc$~eIXH=618;0M!83YJ1>=8y5ONL=Zc0(9a1O-Gyh7BM)(SVAh*7FhwTed(+)d&u# zAYr`(u{HsWAgHK_Kxkz+0KtlTw$-oa^v8ER-_P&<`8?-5Kdy6M&xUXPoLyoGfDZ6x z8hHQy{kwPX-n@D9`t|F#Z{NOp_3Dp5{&@cU`HL4Xo;`cEu&}VYx_ax@t(Pxf-nnyU zd3pKClP8mtlK=obefsqN{rhusb2o0>xOeZKt*xz%jm_=bw}1cr_o=C=+1c46M~>9j z*MIljcP1t#nVFfpckd1l4-X3q+p%LuadGjwb?e;S-GhUJ9UL5HW@ac93W-D-A0L1G z`0=%C*QTeZ7Z(@r-o5+NPe0Yv)a={0uduLicz8HFJNv?g3#U(?9vT|5va)JvY1z1O zqqVg)gTaW6jpcH=TefU*baZrcbDNl$Fg7;M&(B}KemxAsot>SvwY68STsd&y!1nFi zB@)S=J$rus`DY6Y3xz__+}wQfisdgwu|k&)EY zR6|2Ub93{fN00vS!w;UGo*WLRwY9abu5MspATTgcBobY|e3`{!m6erYu~;IJXk=s* z7Z(>267v1`-y@Mo9UYyZprDM53@t6K{{DV1FE5!)cIM2PzP>&>o&Mp&hmRjWe){z3 z&p-eC>pubhUm^dcy2&?ei?>&>ue~iDiTE;lhf)TBX~6o+{);96_8ripZ0IkZk#ez` z2DHYYD3(CABc?yshRDhzpm$K2fTEwPr=D@gk12&gyY^)%<(d$X}_$`F`VS8Nn9G7zOt*$-VH(7KiZsImRf4TyYL*W;#XC z07noxn7yWp&-duF@r~SBFD}qI6w4G`twf^DRR(ffD)UWaJDW-M5nHLi)uQ7U-d@xV0T-=ejRTetK3t^E*q|Vp1#?w7?)G9Epr7lY(W5@U zbEA5Y88e|@zT&95=1^p3a&}W50H8J_#k_}kXtZvJk$VimB47spqt$eTo%7HV^2hj_ zo6_0Lukm>Or5%G@p%)*kv}^e63cD|B3P4H5c?$1cQy0(x(@yBkpK?#^O%$K@6&R@M zzt0kkAuGXd<-u^-t#TdP;MzsRi#mv_y$}t)n8g%QaIn(=Odm(8sOZ?fedad~oKa7@ z5@H`qM1ZPS{Ns5?=g`x<7>?*G$CDO zFzm2Rk;>LxYH=Iq<=Nm_l^wKvh#du0?DRt++I$NdgIr()5G>w_HeyAFZSRuHoB;En z9mDfQ!(u!LCR3Ad&p2`P^QewZHnitOEozKB<4@F=6>E^-*HFCrM--7Pdm1Lw8f}CO z0k%7qNP?I!m!R~y#VZDWAOdg?lmtaV0GRlor=H9lDw;NkTNbgs3rLo`k|#1(sg<^- znScZw&e37HxX0nd*peJef^nwUF0TYE)>}{TUN!9lY6PLmi&^^=)>Lz`2VI&@bTV

C6) zBn+9jwQJBr$Z`D)05I6)tr5sCK;f7<3)FZbqZ;(FCTDqP!Dv_3v~=*cOk*P(t7Ld{Z7rtEWRC$aHji!=X81Ip{EJh&6Sv@Vp@ax6dA4rB1W+EdA>kx!qt8R z0|8JPS_L(DR?XZuhtQQky&QDv#p6*l2K7I@P%!vdWrOJ2;8|9-8rt(PJ2fCtPoKOqBwiz z_~VSv&s}Qa)prdJQGzYsR?4y%z!XS`2ul;zXd0b3yoz|(aD_X81=zgvV`s>E3zsIs zx3Z_Xc)d0-G;X-4m=H7H9FHl}{-sAbQI#h$$jVc9zyn4f=ejr&YJ2mcVAtU#>_1+h z{|m+Yf7_sdjkIdTu`E8mJ4I35LSb-lnyEtn)ktpyfJ(fR%dJO51&uwRi{t6Zgn~&SNVIv=e~j`Ee2gM&ljzNaE{| zg9jdtnP&jZ(xj>|CxHmHy{3@d;+IB743dqh(~T1%{dqawdxTe)O%{-ph~^oU5zGK^ gUFhip`cHyML%F6@PeWS|iqE2IQ_}qt9wfl+Z(4jT8UO$Q diff --git a/pylons_app/public/js/yui/assets/skins/sam/treeview-sprite.gif b/pylons_app/public/js/yui/assets/skins/sam/treeview-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fb3f01377a229169938fb1af2c0877d8828dfee GIT binary patch literal 4326 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 U{p-H~9KZ}Pzz8h7+YkZ(JNT^25dZ)H diff --git a/pylons_app/public/js/yui/assets/skins/sam/treeview.css b/pylons_app/public/js/yui/assets/skins/sam/treeview.css new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/assets/skins/sam/treeview.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +table.ygtvtable{margin-bottom:0;border:none;border-collapse:collapse;}td.ygtvcell{border:none;padding:0;}a.ygtvspacer{text-decoration:none;outline-style:none;display:block;}.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;cursor:pointer;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh,.ygtvtmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph,.ygtvtphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;cursor:pointer;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0 no-repeat;}.ygtvlmh,.ygtvlmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph,.ygtvlphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;cursor:pointer;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}* html .ygtvchildren{height:2%;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;cursor:pointer;}.ygtvcontent{cursor:default;}.ygtvspacer{height:22px;width:18px;}.ygtvfocus{background-color:#c0e0e0;border:none;}.ygtvfocus .ygtvlabel,.ygtvfocus .ygtvlabel:link,.ygtvfocus .ygtvlabel:visited,.ygtvfocus .ygtvlabel:hover{background-color:#c0e0e0;}.ygtvfocus a{outline-style:none;}.ygtvok{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8800px no-repeat;}.ygtvok:hover{background:url(treeview-sprite.gif) 0 -8844px no-repeat;}.ygtvcancel{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8822px no-repeat;}.ygtvcancel:hover{background:url(treeview-sprite.gif) 0 -8866px no-repeat;}.ygtv-label-editor{background-color:#f2f2f2;border:1px solid silver;position:absolute;display:none;overflow:hidden;margin:auto;z-index:9000;}.ygtv-edit-TextNode{width:190px;}.ygtv-edit-TextNode .ygtvcancel,.ygtv-edit-TextNode .ygtvok{border:none;}.ygtv-edit-TextNode .ygtv-button-container{float:right;}.ygtv-edit-TextNode .ygtv-input input{width:140px;}.ygtv-edit-DateNode .ygtvcancel{border:none;}.ygtv-edit-DateNode .ygtvok{display:none;}.ygtv-edit-DateNode .ygtv-button-container{text-align:right;margin:auto;}.ygtv-highlight .ygtv-highlight1,.ygtv-highlight .ygtv-highlight1 .ygtvlabel{background-color:blue;color:white;}.ygtv-highlight .ygtv-highlight2,.ygtv-highlight .ygtv-highlight2 .ygtvlabel{background-color:silver;}.ygtv-highlight .ygtv-highlight0 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight1 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight2 .ygtvfocus .ygtvlabel{background-color:#c0e0e0;}.ygtv-highlight .ygtvcontent{padding-right:1em;}.ygtv-checkbox .ygtv-highlight0 .ygtvcontent{padding-left:1em;background:url(check0.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight0 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight1 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight2 .ygtvfocus.ygtvcontent{background-color:#c0e0e0;}.ygtv-checkbox .ygtv-highlight1 .ygtvcontent{padding-left:1em;background:url(check1.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight2 .ygtvcontent{padding-left:1em;background:url(check2.gif) no-repeat;} diff --git a/pylons_app/public/js/yui/assets/skins/sam/wait.gif b/pylons_app/public/js/yui/assets/skins/sam/wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548 GIT binary patch literal 1100 zc${eMNV7cW}Be%-NShnFl_ynFY~ zrAwFY+_}A?qO7B%?b4<5ZEY>nrcFC`?8wE7=QeCuKV{0KMT-{h+O^~2#q;g$t^fc3 zXFvst|GE8KLxPP=B$((k&Xr1TmHOj7; zZn+tOC31fjMvD0+Mi{X6F$yJmTFClN?ebjMkSWu5F||4}b)Tf*_G+efSDrReCPPmZ zHHHT*E0jHoc6uHV&yeGnVs2(uuaT1Il#t@(4eRLYR}mJTG)+noVLKxOBZB}CGO#8C zZI^PLs8PAb-Ab!V>`db}ofk{vi{}2}ywqoIB*Ck}rkuKQf{M^}4WWw)>o_tKqXjBh zgPLY6_~_+2mFwk44@()19vSCTH;k89$}(KI^ATv5R85VPfIvEPH*>lQFRva}dsBe+ z&RR4K3!l%Syi^z{{kQWaadbr+Ks9*i)&*kV?AbQe!T zbDB|SmyVba!-OuEfY+ug9rP!#{b)S)@PfcU77borDakfTDN)h1_Kq}V0Rik5gFHM- zWuivs8V@VGezh}A%QQ5WB^TBH6$g5liOqAeXV*amMuv5Qt&1w{7Pr4iJRs}B{Gegk z#g486D(%W!BNiBa;L&vSpYZ6DhfDGc=>P!%Db^NNDKW7$mTs0b6;V;#9=`Q?f=1`s z2rH(BW7{UR9NJ*!EA>cuNn?S7kOb=rH|10nOPO^Oofe*qFuvIRt?1~kZQ{HvLZXHe zOFUFu7cSuX!1U6=ega2DQ`*K0EdLlaL`9`I+c@hQ1KE1mQdPvnuv?r8ieZKc8kw_R zzOcBZz<=xWg2;K9zKatbcs#dDv$m>msF=>2pfvHChtfrnb*!36-3k?)L5&d$R)#E5 zGR)lQp((PW#l~^h4Skj7dkYo@n3Pul?UG_|XP4sP$zbeb%uwmm#U0d-Cuq!E8)@Y> z@z^$o2C<5TjuXPJt29k;kdk0u;iY;tV}cm>^%oy6sI24EOzSqR;Eh^$ENNnwny^so zq)8qD?LQhpDZ8=8VR1kPO9PWerIdJ^czsh4D2jP_a0hji$V83EHLg~A-EL=Eo>^op zQjZGFoSD#;q9NsRNbzKnr=x-j*HKd@29x$TjaggS_A$Onu(?pPa* + *

  • Navigate with up/down arrow keys and/or mouse to pick a selection
  • + *
  • The drop down container can "roll down" or "fly out" via configurable + * animation
  • + *
  • UI look-and-feel customizable through CSS, including container + * attributes, borders, position, fonts, etc
  • + * + * + * @class AutoComplete + * @constructor + * @param elInput {HTMLElement} DOM element reference of an input field. + * @param elInput {String} String ID of an input field. + * @param elContainer {HTMLElement} DOM element reference of an existing DIV. + * @param elContainer {String} String ID of an existing DIV. + * @param oDataSource {YAHOO.widget.DataSource} DataSource instance. + * @param oConfigs {Object} (optional) Object literal of configuration params. + */ +YAHOO.widget.AutoComplete = function(elInput,elContainer,oDataSource,oConfigs) { + if(elInput && elContainer && oDataSource) { + // Validate DataSource + if(oDataSource && YAHOO.lang.isFunction(oDataSource.sendRequest)) { + this.dataSource = oDataSource; + } + else { + YAHOO.log("Could not instantiate AutoComplete due to an invalid DataSource", "error", this.toString()); + return; + } + + // YAHOO.widget.DataSource schema backwards compatibility + // Converted deprecated schema into supported schema + // First assume key data is held in position 0 of results array + this.key = 0; + var schema = oDataSource.responseSchema; + // An old school schema has been defined in the deprecated DataSource constructor + if(oDataSource._aDeprecatedSchema) { + var aDeprecatedSchema = oDataSource._aDeprecatedSchema; + if(YAHOO.lang.isArray(aDeprecatedSchema)) { + + if((oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_JSON) || + (oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_UNKNOWN)) { // Used to default to unknown + // Store the resultsList + schema.resultsList = aDeprecatedSchema[0]; + // Store the key + this.key = aDeprecatedSchema[1]; + // Only resultsList and key are defined, so grab all the data + schema.fields = (aDeprecatedSchema.length < 3) ? null : aDeprecatedSchema.slice(1); + } + else if(oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_XML) { + schema.resultNode = aDeprecatedSchema[0]; + this.key = aDeprecatedSchema[1]; + schema.fields = aDeprecatedSchema.slice(1); + } + else if(oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_TEXT) { + schema.recordDelim = aDeprecatedSchema[0]; + schema.fieldDelim = aDeprecatedSchema[1]; + } + oDataSource.responseSchema = schema; + } + } + + // Validate input element + if(YAHOO.util.Dom.inDocument(elInput)) { + if(YAHOO.lang.isString(elInput)) { + this._sName = "instance" + YAHOO.widget.AutoComplete._nIndex + " " + elInput; + this._elTextbox = document.getElementById(elInput); + } + else { + this._sName = (elInput.id) ? + "instance" + YAHOO.widget.AutoComplete._nIndex + " " + elInput.id: + "instance" + YAHOO.widget.AutoComplete._nIndex; + this._elTextbox = elInput; + } + YAHOO.util.Dom.addClass(this._elTextbox, "yui-ac-input"); + } + else { + YAHOO.log("Could not instantiate AutoComplete due to an invalid input element", "error", this.toString()); + return; + } + + // Validate container element + if(YAHOO.util.Dom.inDocument(elContainer)) { + if(YAHOO.lang.isString(elContainer)) { + this._elContainer = document.getElementById(elContainer); + } + else { + this._elContainer = elContainer; + } + if(this._elContainer.style.display == "none") { + YAHOO.log("The container may not display properly if display is set to \"none\" in CSS", "warn", this.toString()); + } + + // For skinning + var elParent = this._elContainer.parentNode; + var elTag = elParent.tagName.toLowerCase(); + if(elTag == "div") { + YAHOO.util.Dom.addClass(elParent, "yui-ac"); + } + else { + YAHOO.log("Could not find the wrapper element for skinning", "warn", this.toString()); + } + } + else { + YAHOO.log("Could not instantiate AutoComplete due to an invalid container element", "error", this.toString()); + return; + } + + // Default applyLocalFilter setting is to enable for local sources + if(this.dataSource.dataType === YAHOO.util.DataSourceBase.TYPE_LOCAL) { + this.applyLocalFilter = true; + } + + // Set any config params passed in to override defaults + if(oConfigs && (oConfigs.constructor == Object)) { + for(var sConfig in oConfigs) { + if(sConfig) { + this[sConfig] = oConfigs[sConfig]; + } + } + } + + // Initialization sequence + this._initContainerEl(); + this._initProps(); + this._initListEl(); + this._initContainerHelperEls(); + + // Set up events + var oSelf = this; + var elTextbox = this._elTextbox; + + // Dom events + YAHOO.util.Event.addListener(elTextbox,"keyup",oSelf._onTextboxKeyUp,oSelf); + YAHOO.util.Event.addListener(elTextbox,"keydown",oSelf._onTextboxKeyDown,oSelf); + YAHOO.util.Event.addListener(elTextbox,"focus",oSelf._onTextboxFocus,oSelf); + YAHOO.util.Event.addListener(elTextbox,"blur",oSelf._onTextboxBlur,oSelf); + YAHOO.util.Event.addListener(elContainer,"mouseover",oSelf._onContainerMouseover,oSelf); + YAHOO.util.Event.addListener(elContainer,"mouseout",oSelf._onContainerMouseout,oSelf); + YAHOO.util.Event.addListener(elContainer,"click",oSelf._onContainerClick,oSelf); + YAHOO.util.Event.addListener(elContainer,"scroll",oSelf._onContainerScroll,oSelf); + YAHOO.util.Event.addListener(elContainer,"resize",oSelf._onContainerResize,oSelf); + YAHOO.util.Event.addListener(elTextbox,"keypress",oSelf._onTextboxKeyPress,oSelf); + YAHOO.util.Event.addListener(window,"unload",oSelf._onWindowUnload,oSelf); + + // Custom events + this.textboxFocusEvent = new YAHOO.util.CustomEvent("textboxFocus", this); + this.textboxKeyEvent = new YAHOO.util.CustomEvent("textboxKey", this); + this.dataRequestEvent = new YAHOO.util.CustomEvent("dataRequest", this); + this.dataReturnEvent = new YAHOO.util.CustomEvent("dataReturn", this); + this.dataErrorEvent = new YAHOO.util.CustomEvent("dataError", this); + this.containerPopulateEvent = new YAHOO.util.CustomEvent("containerPopulate", this); + this.containerExpandEvent = new YAHOO.util.CustomEvent("containerExpand", this); + this.typeAheadEvent = new YAHOO.util.CustomEvent("typeAhead", this); + this.itemMouseOverEvent = new YAHOO.util.CustomEvent("itemMouseOver", this); + this.itemMouseOutEvent = new YAHOO.util.CustomEvent("itemMouseOut", this); + this.itemArrowToEvent = new YAHOO.util.CustomEvent("itemArrowTo", this); + this.itemArrowFromEvent = new YAHOO.util.CustomEvent("itemArrowFrom", this); + this.itemSelectEvent = new YAHOO.util.CustomEvent("itemSelect", this); + this.unmatchedItemSelectEvent = new YAHOO.util.CustomEvent("unmatchedItemSelect", this); + this.selectionEnforceEvent = new YAHOO.util.CustomEvent("selectionEnforce", this); + this.containerCollapseEvent = new YAHOO.util.CustomEvent("containerCollapse", this); + this.textboxBlurEvent = new YAHOO.util.CustomEvent("textboxBlur", this); + this.textboxChangeEvent = new YAHOO.util.CustomEvent("textboxChange", this); + + // Finish up + elTextbox.setAttribute("autocomplete","off"); + YAHOO.widget.AutoComplete._nIndex++; + YAHOO.log("AutoComplete initialized","info",this.toString()); + } + // Required arguments were not found + else { + YAHOO.log("Could not instantiate AutoComplete due invalid arguments", "error", this.toString()); + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Public member variables +// +///////////////////////////////////////////////////////////////////////////// + +/** + * The DataSource object that encapsulates the data used for auto completion. + * This object should be an inherited object from YAHOO.widget.DataSource. + * + * @property dataSource + * @type YAHOO.widget.DataSource + */ +YAHOO.widget.AutoComplete.prototype.dataSource = null; + +/** + * By default, results from local DataSources will pass through the filterResults + * method to apply a client-side matching algorithm. + * + * @property applyLocalFilter + * @type Boolean + * @default true for local arrays and json, otherwise false + */ +YAHOO.widget.AutoComplete.prototype.applyLocalFilter = null; + +/** + * When applyLocalFilter is true, the local filtering algorthim can have case sensitivity + * enabled. + * + * @property queryMatchCase + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.queryMatchCase = false; + +/** + * When applyLocalFilter is true, results can be locally filtered to return + * matching strings that "contain" the query string rather than simply "start with" + * the query string. + * + * @property queryMatchContains + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.queryMatchContains = false; + +/** + * Enables query subset matching. When the DataSource's cache is enabled and queryMatchSubset is + * true, substrings of queries will return matching cached results. For + * instance, if the first query is for "abc" susequent queries that start with + * "abc", like "abcd", will be queried against the cache, and not the live data + * source. Recommended only for DataSources that return comprehensive results + * for queries with very few characters. + * + * @property queryMatchSubset + * @type Boolean + * @default false + * + */ +YAHOO.widget.AutoComplete.prototype.queryMatchSubset = false; + +/** + * Number of characters that must be entered before querying for results. A negative value + * effectively turns off the widget. A value of 0 allows queries of null or empty string + * values. + * + * @property minQueryLength + * @type Number + * @default 1 + */ +YAHOO.widget.AutoComplete.prototype.minQueryLength = 1; + +/** + * Maximum number of results to display in results container. + * + * @property maxResultsDisplayed + * @type Number + * @default 10 + */ +YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed = 10; + +/** + * Number of seconds to delay before submitting a query request. If a query + * request is received before a previous one has completed its delay, the + * previous request is cancelled and the new request is set to the delay. If + * typeAhead is also enabled, this value must always be less than the typeAheadDelay + * in order to avoid certain race conditions. + * + * @property queryDelay + * @type Number + * @default 0.2 + */ +YAHOO.widget.AutoComplete.prototype.queryDelay = 0.2; + +/** + * If typeAhead is true, number of seconds to delay before updating input with + * typeAhead value. In order to prevent certain race conditions, this value must + * always be greater than the queryDelay. + * + * @property typeAheadDelay + * @type Number + * @default 0.5 + */ +YAHOO.widget.AutoComplete.prototype.typeAheadDelay = 0.5; + +/** + * When IME usage is detected or interval detection is explicitly enabled, + * AutoComplete will detect the input value at the given interval and send a + * query if the value has changed. + * + * @property queryInterval + * @type Number + * @default 500 + */ +YAHOO.widget.AutoComplete.prototype.queryInterval = 500; + +/** + * Class name of a highlighted item within results container. + * + * @property highlightClassName + * @type String + * @default "yui-ac-highlight" + */ +YAHOO.widget.AutoComplete.prototype.highlightClassName = "yui-ac-highlight"; + +/** + * Class name of a pre-highlighted item within results container. + * + * @property prehighlightClassName + * @type String + */ +YAHOO.widget.AutoComplete.prototype.prehighlightClassName = null; + +/** + * Query delimiter. A single character separator for multiple delimited + * selections. Multiple delimiter characteres may be defined as an array of + * strings. A null value or empty string indicates that query results cannot + * be delimited. This feature is not recommended if you need forceSelection to + * be true. + * + * @property delimChar + * @type String | String[] + */ +YAHOO.widget.AutoComplete.prototype.delimChar = null; + +/** + * Whether or not the first item in results container should be automatically highlighted + * on expand. + * + * @property autoHighlight + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.autoHighlight = true; + +/** + * If autohighlight is enabled, whether or not the input field should be automatically updated + * with the first query result as the user types, auto-selecting the substring portion + * of the first result that the user has not yet typed. + * + * @property typeAhead + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.typeAhead = false; + +/** + * Whether or not to animate the expansion/collapse of the results container in the + * horizontal direction. + * + * @property animHoriz + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.animHoriz = false; + +/** + * Whether or not to animate the expansion/collapse of the results container in the + * vertical direction. + * + * @property animVert + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.animVert = true; + +/** + * Speed of container expand/collapse animation, in seconds.. + * + * @property animSpeed + * @type Number + * @default 0.3 + */ +YAHOO.widget.AutoComplete.prototype.animSpeed = 0.3; + +/** + * Whether or not to force the user's selection to match one of the query + * results. Enabling this feature essentially transforms the input field into a + * <select> field. This feature is not recommended with delimiter character(s) + * defined. + * + * @property forceSelection + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.forceSelection = false; + +/** + * Whether or not to allow browsers to cache user-typed input in the input + * field. Disabling this feature will prevent the widget from setting the + * autocomplete="off" on the input field. When autocomplete="off" + * and users click the back button after form submission, user-typed input can + * be prefilled by the browser from its cache. This caching of user input may + * not be desired for sensitive data, such as credit card numbers, in which + * case, implementers should consider setting allowBrowserAutocomplete to false. + * + * @property allowBrowserAutocomplete + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete = true; + +/** + * Enabling this feature prevents the toggling of the container to a collapsed state. + * Setting to true does not automatically trigger the opening of the container. + * Implementers are advised to pre-load the container with an explicit "sendQuery()" call. + * + * @property alwaysShowContainer + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.alwaysShowContainer = false; + +/** + * Whether or not to use an iFrame to layer over Windows form elements in + * IE. Set to true only when the results container will be on top of a + * <select> field in IE and thus exposed to the IE z-index bug (i.e., + * 5.5 < IE < 7). + * + * @property useIFrame + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.useIFrame = false; + +/** + * Whether or not the results container should have a shadow. + * + * @property useShadow + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.useShadow = false; + +/** + * Whether or not the input field should be updated with selections. + * + * @property suppressInputUpdate + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.suppressInputUpdate = false; + +/** + * For backward compatibility to pre-2.6.0 formatResults() signatures, setting + * resultsTypeList to true will take each object literal result returned by + * DataSource and flatten into an array. + * + * @property resultTypeList + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.resultTypeList = true; + +/** + * For XHR DataSources, AutoComplete will automatically insert a "?" between the server URI and + * the "query" param/value pair. To prevent this behavior, implementers should + * set this value to false. To more fully customize the query syntax, implementers + * should override the generateRequest() method. + * + * @property queryQuestionMark + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.queryQuestionMark = true; + +/** + * If true, before each time the container expands, the container element will be + * positioned to snap to the bottom-left corner of the input element. If + * autoSnapContainer is set to false, this positioning will not be done. + * + * @property autoSnapContainer + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.autoSnapContainer = true; + +///////////////////////////////////////////////////////////////////////////// +// +// Public methods +// +///////////////////////////////////////////////////////////////////////////// + + /** + * Public accessor to the unique name of the AutoComplete instance. + * + * @method toString + * @return {String} Unique name of the AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.toString = function() { + return "AutoComplete " + this._sName; +}; + + /** + * Returns DOM reference to input element. + * + * @method getInputEl + * @return {HTMLELement} DOM reference to input element. + */ +YAHOO.widget.AutoComplete.prototype.getInputEl = function() { + return this._elTextbox; +}; + + /** + * Returns DOM reference to container element. + * + * @method getContainerEl + * @return {HTMLELement} DOM reference to container element. + */ +YAHOO.widget.AutoComplete.prototype.getContainerEl = function() { + return this._elContainer; +}; + + /** + * Returns true if widget instance is currently active. + * + * @method isFocused + * @return {Boolean} Returns true if widget instance is currently active. + */ +YAHOO.widget.AutoComplete.prototype.isFocused = function() { + return this._bFocused; +}; + + /** + * Returns true if container is in an expanded state, false otherwise. + * + * @method isContainerOpen + * @return {Boolean} Returns true if container is in an expanded state, false otherwise. + */ +YAHOO.widget.AutoComplete.prototype.isContainerOpen = function() { + return this._bContainerOpen; +}; + +/** + * Public accessor to the <ul> element that displays query results within the results container. + * + * @method getListEl + * @return {HTMLElement[]} Reference to <ul> element within the results container. + */ +YAHOO.widget.AutoComplete.prototype.getListEl = function() { + return this._elList; +}; + +/** + * Public accessor to the matching string associated with a given <li> result. + * + * @method getListItemMatch + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {String} Matching string. + */ +YAHOO.widget.AutoComplete.prototype.getListItemMatch = function(elListItem) { + if(elListItem._sResultMatch) { + return elListItem._sResultMatch; + } + else { + return null; + } +}; + +/** + * Public accessor to the result data associated with a given <li> result. + * + * @method getListItemData + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {Object} Result data. + */ +YAHOO.widget.AutoComplete.prototype.getListItemData = function(elListItem) { + if(elListItem._oResultData) { + return elListItem._oResultData; + } + else { + return null; + } +}; + +/** + * Public accessor to the index of the associated with a given <li> result. + * + * @method getListItemIndex + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {Number} Index. + */ +YAHOO.widget.AutoComplete.prototype.getListItemIndex = function(elListItem) { + if(YAHOO.lang.isNumber(elListItem._nItemIndex)) { + return elListItem._nItemIndex; + } + else { + return null; + } +}; + +/** + * Sets HTML markup for the results container header. This markup will be + * inserted within a <div> tag with a class of "yui-ac-hd". + * + * @method setHeader + * @param sHeader {String} HTML markup for results container header. + */ +YAHOO.widget.AutoComplete.prototype.setHeader = function(sHeader) { + if(this._elHeader) { + var elHeader = this._elHeader; + if(sHeader) { + elHeader.innerHTML = sHeader; + elHeader.style.display = ""; + } + else { + elHeader.innerHTML = ""; + elHeader.style.display = "none"; + } + } +}; + +/** + * Sets HTML markup for the results container footer. This markup will be + * inserted within a <div> tag with a class of "yui-ac-ft". + * + * @method setFooter + * @param sFooter {String} HTML markup for results container footer. + */ +YAHOO.widget.AutoComplete.prototype.setFooter = function(sFooter) { + if(this._elFooter) { + var elFooter = this._elFooter; + if(sFooter) { + elFooter.innerHTML = sFooter; + elFooter.style.display = ""; + } + else { + elFooter.innerHTML = ""; + elFooter.style.display = "none"; + } + } +}; + +/** + * Sets HTML markup for the results container body. This markup will be + * inserted within a <div> tag with a class of "yui-ac-bd". + * + * @method setBody + * @param sBody {String} HTML markup for results container body. + */ +YAHOO.widget.AutoComplete.prototype.setBody = function(sBody) { + if(this._elBody) { + var elBody = this._elBody; + YAHOO.util.Event.purgeElement(elBody, true); + if(sBody) { + elBody.innerHTML = sBody; + elBody.style.display = ""; + } + else { + elBody.innerHTML = ""; + elBody.style.display = "none"; + } + this._elList = null; + } +}; + +/** +* A function that converts an AutoComplete query into a request value which is then +* passed to the DataSource's sendRequest method in order to retrieve data for +* the query. By default, returns a String with the syntax: "query={query}" +* Implementers can customize this method for custom request syntaxes. +* +* @method generateRequest +* @param sQuery {String} Query string +* @return {MIXED} Request +*/ +YAHOO.widget.AutoComplete.prototype.generateRequest = function(sQuery) { + var dataType = this.dataSource.dataType; + + // Transform query string in to a request for remote data + // By default, local data doesn't need a transformation, just passes along the query as is. + if(dataType === YAHOO.util.DataSourceBase.TYPE_XHR) { + // By default, XHR GET requests look like "{scriptURI}?{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + if(!this.dataSource.connMethodPost) { + sQuery = (this.queryQuestionMark ? "?" : "") + (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + // By default, XHR POST bodies are sent to the {scriptURI} like "{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + else { + sQuery = (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + } + // By default, remote script node requests look like "{scriptURI}&{scriptCallbackParam}={callbackString}&{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + else if(dataType === YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE) { + sQuery = "&" + (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + + return sQuery; +}; + +/** + * Makes query request to the DataSource. + * + * @method sendQuery + * @param sQuery {String} Query string. + */ +YAHOO.widget.AutoComplete.prototype.sendQuery = function(sQuery) { + // Activate focus for a new interaction + this._bFocused = true; + + // Adjust programatically sent queries to look like they were input by user + // when delimiters are enabled + var newQuery = (this.delimChar) ? this._elTextbox.value + sQuery : sQuery; + this._sendQuery(newQuery); +}; + +/** + * Snaps container to bottom-left corner of input element + * + * @method snapContainer + */ +YAHOO.widget.AutoComplete.prototype.snapContainer = function() { + var oTextbox = this._elTextbox, + pos = YAHOO.util.Dom.getXY(oTextbox); + pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight + 2; + YAHOO.util.Dom.setXY(this._elContainer,pos); +}; + +/** + * Expands container. + * + * @method expandContainer + */ +YAHOO.widget.AutoComplete.prototype.expandContainer = function() { + this._toggleContainer(true); +}; + +/** + * Collapses container. + * + * @method collapseContainer + */ +YAHOO.widget.AutoComplete.prototype.collapseContainer = function() { + this._toggleContainer(false); +}; + +/** + * Clears entire list of suggestions. + * + * @method clearList + */ +YAHOO.widget.AutoComplete.prototype.clearList = function() { + var allItems = this._elList.childNodes, + i=allItems.length-1; + for(; i>-1; i--) { + allItems[i].style.display = "none"; + } +}; + +/** + * Handles subset matching for when queryMatchSubset is enabled. + * + * @method getSubsetMatches + * @param sQuery {String} Query string. + * @return {Object} oParsedResponse or null. + */ +YAHOO.widget.AutoComplete.prototype.getSubsetMatches = function(sQuery) { + var subQuery, oCachedResponse, subRequest; + // Loop through substrings of each cached element's query property... + for(var i = sQuery.length; i >= this.minQueryLength ; i--) { + subRequest = this.generateRequest(sQuery.substr(0,i)); + this.dataRequestEvent.fire(this, subQuery, subRequest); + YAHOO.log("Searching for query subset \"" + subQuery + "\" in cache", "info", this.toString()); + + // If a substring of the query is found in the cache + oCachedResponse = this.dataSource.getCachedResponse(subRequest); + if(oCachedResponse) { + YAHOO.log("Found match for query subset \"" + subQuery + "\": " + YAHOO.lang.dump(oCachedResponse), "info", this.toString()); + return this.filterResults.apply(this.dataSource, [sQuery, oCachedResponse, oCachedResponse, {scope:this}]); + } + } + YAHOO.log("Did not find subset match for query subset \"" + sQuery + "\"" , "info", this.toString()); + return null; +}; + +/** + * Executed by DataSource (within DataSource scope via doBeforeParseData()) to + * handle responseStripAfter cleanup. + * + * @method preparseRawResponse + * @param sQuery {String} Query string. + * @return {Object} oParsedResponse or null. + */ +YAHOO.widget.AutoComplete.prototype.preparseRawResponse = function(oRequest, oFullResponse, oCallback) { + var nEnd = ((this.responseStripAfter !== "") && (oFullResponse.indexOf)) ? + oFullResponse.indexOf(this.responseStripAfter) : -1; + if(nEnd != -1) { + oFullResponse = oFullResponse.substring(0,nEnd); + } + return oFullResponse; +}; + +/** + * Executed by DataSource (within DataSource scope via doBeforeCallback()) to + * filter results through a simple client-side matching algorithm. + * + * @method filterResults + * @param sQuery {String} Original request. + * @param oFullResponse {Object} Full response object. + * @param oParsedResponse {Object} Parsed response object. + * @param oCallback {Object} Callback object. + * @return {Object} Filtered response object. + */ + +YAHOO.widget.AutoComplete.prototype.filterResults = function(sQuery, oFullResponse, oParsedResponse, oCallback) { + // If AC has passed a query string value back to itself, grab it + if(oCallback && oCallback.argument && oCallback.argument.query) { + sQuery = oCallback.argument.query; + } + + // Only if a query string is available to match against + if(sQuery && sQuery !== "") { + // First make a copy of the oParseResponse + oParsedResponse = YAHOO.widget.AutoComplete._cloneObject(oParsedResponse); + + var oAC = oCallback.scope, + oDS = this, + allResults = oParsedResponse.results, // the array of results + filteredResults = [], // container for filtered results, + nMax = oAC.maxResultsDisplayed, // max to find + bMatchCase = (oDS.queryMatchCase || oAC.queryMatchCase), // backward compat + bMatchContains = (oDS.queryMatchContains || oAC.queryMatchContains); // backward compat + + // Loop through each result object... + for(var i=0, len=allResults.length; i -1))) { + // Stash the match + filteredResults.push(oResult); + } + } + + // Filter no more if maxResultsDisplayed is reached + if(len>nMax && filteredResults.length===nMax) { + break; + } + } + oParsedResponse.results = filteredResults; + YAHOO.log("Filtered " + filteredResults.length + " results against query \"" + sQuery + "\": " + YAHOO.lang.dump(filteredResults), "info", this.toString()); + } + else { + YAHOO.log("Did not filter results against query", "info", this.toString()); + } + + return oParsedResponse; +}; + +/** + * Handles response for display. This is the callback function method passed to + * YAHOO.util.DataSourceBase#sendRequest so results from the DataSource are + * returned to the AutoComplete instance. + * + * @method handleResponse + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + */ +YAHOO.widget.AutoComplete.prototype.handleResponse = function(sQuery, oResponse, oPayload) { + if((this instanceof YAHOO.widget.AutoComplete) && this._sName) { + this._populateList(sQuery, oResponse, oPayload); + } +}; + +/** + * Overridable method called before container is loaded with result data. + * + * @method doBeforeLoadData + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + * @return {Boolean} Return true to continue loading data, false to cancel. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeLoadData = function(sQuery, oResponse, oPayload) { + return true; +}; + +/** + * Overridable method that returns HTML markup for one result to be populated + * as innerHTML of an <LI> element. + * + * @method formatResult + * @param oResultData {Object} Result data object. + * @param sQuery {String} The corresponding query string. + * @param sResultMatch {HTMLElement} The current query string. + * @return {String} HTML markup of formatted result data. + */ +YAHOO.widget.AutoComplete.prototype.formatResult = function(oResultData, sQuery, sResultMatch) { + var sMarkup = (sResultMatch) ? sResultMatch : ""; + return sMarkup; +}; + +/** + * Overridable method called before container expands allows implementers to access data + * and DOM elements. + * + * @method doBeforeExpandContainer + * @param elTextbox {HTMLElement} The text input box. + * @param elContainer {HTMLElement} The container element. + * @param sQuery {String} The query string. + * @param aResults {Object[]} An array of query results. + * @return {Boolean} Return true to continue expanding container, false to cancel the expand. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer = function(elTextbox, elContainer, sQuery, aResults) { + return true; +}; + + +/** + * Nulls out the entire AutoComplete instance and related objects, removes attached + * event listeners, and clears out DOM elements inside the container. After + * calling this method, the instance reference should be expliclitly nulled by + * implementer, as in myAutoComplete = null. Use with caution! + * + * @method destroy + */ +YAHOO.widget.AutoComplete.prototype.destroy = function() { + var instanceName = this.toString(); + var elInput = this._elTextbox; + var elContainer = this._elContainer; + + // Unhook custom events + this.textboxFocusEvent.unsubscribeAll(); + this.textboxKeyEvent.unsubscribeAll(); + this.dataRequestEvent.unsubscribeAll(); + this.dataReturnEvent.unsubscribeAll(); + this.dataErrorEvent.unsubscribeAll(); + this.containerPopulateEvent.unsubscribeAll(); + this.containerExpandEvent.unsubscribeAll(); + this.typeAheadEvent.unsubscribeAll(); + this.itemMouseOverEvent.unsubscribeAll(); + this.itemMouseOutEvent.unsubscribeAll(); + this.itemArrowToEvent.unsubscribeAll(); + this.itemArrowFromEvent.unsubscribeAll(); + this.itemSelectEvent.unsubscribeAll(); + this.unmatchedItemSelectEvent.unsubscribeAll(); + this.selectionEnforceEvent.unsubscribeAll(); + this.containerCollapseEvent.unsubscribeAll(); + this.textboxBlurEvent.unsubscribeAll(); + this.textboxChangeEvent.unsubscribeAll(); + + // Unhook DOM events + YAHOO.util.Event.purgeElement(elInput, true); + YAHOO.util.Event.purgeElement(elContainer, true); + + // Remove DOM elements + elContainer.innerHTML = ""; + + // Null out objects + for(var key in this) { + if(YAHOO.lang.hasOwnProperty(this, key)) { + this[key] = null; + } + } + + YAHOO.log("AutoComplete instance destroyed: " + instanceName); +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Public events +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Fired when the input field receives focus. + * + * @event textboxFocusEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxFocusEvent = null; + +/** + * Fired when the input field receives key input. + * + * @event textboxKeyEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param nKeycode {Number} The keycode number. + */ +YAHOO.widget.AutoComplete.prototype.textboxKeyEvent = null; + +/** + * Fired when the AutoComplete instance makes a request to the DataSource. + * + * @event dataRequestEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param oRequest {Object} The request. + */ +YAHOO.widget.AutoComplete.prototype.dataRequestEvent = null; + +/** + * Fired when the AutoComplete instance receives query results from the data + * source. + * + * @event dataReturnEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param aResults {Object[]} Results array. + */ +YAHOO.widget.AutoComplete.prototype.dataReturnEvent = null; + +/** + * Fired when the AutoComplete instance does not receive query results from the + * DataSource due to an error. + * + * @event dataErrorEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param oResponse {Object} The response object, if available. + */ +YAHOO.widget.AutoComplete.prototype.dataErrorEvent = null; + +/** + * Fired when the results container is populated. + * + * @event containerPopulateEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerPopulateEvent = null; + +/** + * Fired when the results container is expanded. + * + * @event containerExpandEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerExpandEvent = null; + +/** + * Fired when the input field has been prefilled by the type-ahead + * feature. + * + * @event typeAheadEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param sPrefill {String} The prefill string. + */ +YAHOO.widget.AutoComplete.prototype.typeAheadEvent = null; + +/** + * Fired when result item has been moused over. + * + * @event itemMouseOverEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item moused to. + */ +YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent = null; + +/** + * Fired when result item has been moused out. + * + * @event itemMouseOutEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item moused from. + */ +YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent = null; + +/** + * Fired when result item has been arrowed to. + * + * @event itemArrowToEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item arrowed to. + */ +YAHOO.widget.AutoComplete.prototype.itemArrowToEvent = null; + +/** + * Fired when result item has been arrowed away from. + * + * @event itemArrowFromEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item arrowed from. + */ +YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent = null; + +/** + * Fired when an item is selected via mouse click, ENTER key, or TAB key. + * + * @event itemSelectEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The selected <li> element item. + * @param oData {Object} The data returned for the item, either as an object, + * or mapped from the schema into an array. + */ +YAHOO.widget.AutoComplete.prototype.itemSelectEvent = null; + +/** + * Fired when a user selection does not match any of the displayed result items. + * + * @event unmatchedItemSelectEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sSelection {String} The selected string. + */ +YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent = null; + +/** + * Fired if forceSelection is enabled and the user's input has been cleared + * because it did not match one of the returned query results. + * + * @event selectionEnforceEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sClearedValue {String} The cleared value (including delimiters if applicable). + */ +YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent = null; + +/** + * Fired when the results container is collapsed. + * + * @event containerCollapseEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerCollapseEvent = null; + +/** + * Fired when the input field loses focus. + * + * @event textboxBlurEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxBlurEvent = null; + +/** + * Fired when the input field value has changed when it loses focus. + * + * @event textboxChangeEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxChangeEvent = null; + +///////////////////////////////////////////////////////////////////////////// +// +// Private member variables +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Internal class variable to index multiple AutoComplete instances. + * + * @property _nIndex + * @type Number + * @default 0 + * @private + */ +YAHOO.widget.AutoComplete._nIndex = 0; + +/** + * Name of AutoComplete instance. + * + * @property _sName + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sName = null; + +/** + * Text input field DOM element. + * + * @property _elTextbox + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elTextbox = null; + +/** + * Container DOM element. + * + * @property _elContainer + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elContainer = null; + +/** + * Reference to content element within container element. + * + * @property _elContent + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elContent = null; + +/** + * Reference to header element within content element. + * + * @property _elHeader + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elHeader = null; + +/** + * Reference to body element within content element. + * + * @property _elBody + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elBody = null; + +/** + * Reference to footer element within content element. + * + * @property _elFooter + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elFooter = null; + +/** + * Reference to shadow element within container element. + * + * @property _elShadow + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elShadow = null; + +/** + * Reference to iframe element within container element. + * + * @property _elIFrame + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elIFrame = null; + +/** + * Whether or not the widget instance is currently active. If query results come back + * but the user has already moved on, do not proceed with auto complete behavior. + * + * @property _bFocused + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bFocused = false; + +/** + * Animation instance for container expand/collapse. + * + * @property _oAnim + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._oAnim = null; + +/** + * Whether or not the results container is currently open. + * + * @property _bContainerOpen + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bContainerOpen = false; + +/** + * Whether or not the mouse is currently over the results + * container. This is necessary in order to prevent clicks on container items + * from being text input field blur events. + * + * @property _bOverContainer + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bOverContainer = false; + +/** + * Internal reference to <ul> elements that contains query results within the + * results container. + * + * @property _elList + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elList = null; + +/* + * Array of <li> elements references that contain query results within the + * results container. + * + * @property _aListItemEls + * @type HTMLElement[] + * @private + */ +//YAHOO.widget.AutoComplete.prototype._aListItemEls = null; + +/** + * Number of <li> elements currently displayed in results container. + * + * @property _nDisplayedItems + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nDisplayedItems = 0; + +/* + * Internal count of <li> elements displayed and hidden in results container. + * + * @property _maxResultsDisplayed + * @type Number + * @private + */ +//YAHOO.widget.AutoComplete.prototype._maxResultsDisplayed = 0; + +/** + * Current query string + * + * @property _sCurQuery + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sCurQuery = null; + +/** + * Selections from previous queries (for saving delimited queries). + * + * @property _sPastSelections + * @type String + * @default "" + * @private + */ +YAHOO.widget.AutoComplete.prototype._sPastSelections = ""; + +/** + * Stores initial input value used to determine if textboxChangeEvent should be fired. + * + * @property _sInitInputValue + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sInitInputValue = null; + +/** + * Pointer to the currently highlighted <li> element in the container. + * + * @property _elCurListItem + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elCurListItem = null; + +/** + * Pointer to the currently pre-highlighted <li> element in the container. + * + * @property _elCurPrehighlightItem + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elCurPrehighlightItem = null; + +/** + * Whether or not an item has been selected since the container was populated + * with results. Reset to false by _populateList, and set to true when item is + * selected. + * + * @property _bItemSelected + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bItemSelected = false; + +/** + * Key code of the last key pressed in textbox. + * + * @property _nKeyCode + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nKeyCode = null; + +/** + * Delay timeout ID. + * + * @property _nDelayID + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nDelayID = -1; + +/** + * TypeAhead delay timeout ID. + * + * @property _nTypeAheadDelayID + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID = -1; + +/** + * Src to iFrame used when useIFrame = true. Supports implementations over SSL + * as well. + * + * @property _iFrameSrc + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._iFrameSrc = "javascript:false;"; + +/** + * For users typing via certain IMEs, queries must be triggered by intervals, + * since key events yet supported across all browsers for all IMEs. + * + * @property _queryInterval + * @type Object + * @private + */ +YAHOO.widget.AutoComplete.prototype._queryInterval = null; + +/** + * Internal tracker to last known textbox value, used to determine whether or not + * to trigger a query via interval for certain IME users. + * + * @event _sLastTextboxValue + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sLastTextboxValue = null; + +///////////////////////////////////////////////////////////////////////////// +// +// Private methods +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Updates and validates latest public config properties. + * + * @method __initProps + * @private + */ +YAHOO.widget.AutoComplete.prototype._initProps = function() { + // Correct any invalid values + var minQueryLength = this.minQueryLength; + if(!YAHOO.lang.isNumber(minQueryLength)) { + this.minQueryLength = 1; + } + var maxResultsDisplayed = this.maxResultsDisplayed; + if(!YAHOO.lang.isNumber(maxResultsDisplayed) || (maxResultsDisplayed < 1)) { + this.maxResultsDisplayed = 10; + } + var queryDelay = this.queryDelay; + if(!YAHOO.lang.isNumber(queryDelay) || (queryDelay < 0)) { + this.queryDelay = 0.2; + } + var typeAheadDelay = this.typeAheadDelay; + if(!YAHOO.lang.isNumber(typeAheadDelay) || (typeAheadDelay < 0)) { + this.typeAheadDelay = 0.2; + } + var delimChar = this.delimChar; + if(YAHOO.lang.isString(delimChar) && (delimChar.length > 0)) { + this.delimChar = [delimChar]; + } + else if(!YAHOO.lang.isArray(delimChar)) { + this.delimChar = null; + } + var animSpeed = this.animSpeed; + if((this.animHoriz || this.animVert) && YAHOO.util.Anim) { + if(!YAHOO.lang.isNumber(animSpeed) || (animSpeed < 0)) { + this.animSpeed = 0.3; + } + if(!this._oAnim ) { + this._oAnim = new YAHOO.util.Anim(this._elContent, {}, this.animSpeed); + } + else { + this._oAnim.duration = this.animSpeed; + } + } + if(this.forceSelection && delimChar) { + YAHOO.log("The forceSelection feature has been enabled with delimChar defined.","warn", this.toString()); + } +}; + +/** + * Initializes the results container helpers if they are enabled and do + * not exist + * + * @method _initContainerHelperEls + * @private + */ +YAHOO.widget.AutoComplete.prototype._initContainerHelperEls = function() { + if(this.useShadow && !this._elShadow) { + var elShadow = document.createElement("div"); + elShadow.className = "yui-ac-shadow"; + elShadow.style.width = 0; + elShadow.style.height = 0; + this._elShadow = this._elContainer.appendChild(elShadow); + } + if(this.useIFrame && !this._elIFrame) { + var elIFrame = document.createElement("iframe"); + elIFrame.src = this._iFrameSrc; + elIFrame.frameBorder = 0; + elIFrame.scrolling = "no"; + elIFrame.style.position = "absolute"; + elIFrame.style.width = 0; + elIFrame.style.height = 0; + elIFrame.style.padding = 0; + elIFrame.tabIndex = -1; + elIFrame.role = "presentation"; + elIFrame.title = "Presentational iframe shim"; + this._elIFrame = this._elContainer.appendChild(elIFrame); + } +}; + +/** + * Initializes the results container once at object creation + * + * @method _initContainerEl + * @private + */ +YAHOO.widget.AutoComplete.prototype._initContainerEl = function() { + YAHOO.util.Dom.addClass(this._elContainer, "yui-ac-container"); + + if(!this._elContent) { + // The elContent div is assigned DOM listeners and + // helps size the iframe and shadow properly + var elContent = document.createElement("div"); + elContent.className = "yui-ac-content"; + elContent.style.display = "none"; + + this._elContent = this._elContainer.appendChild(elContent); + + var elHeader = document.createElement("div"); + elHeader.className = "yui-ac-hd"; + elHeader.style.display = "none"; + this._elHeader = this._elContent.appendChild(elHeader); + + var elBody = document.createElement("div"); + elBody.className = "yui-ac-bd"; + this._elBody = this._elContent.appendChild(elBody); + + var elFooter = document.createElement("div"); + elFooter.className = "yui-ac-ft"; + elFooter.style.display = "none"; + this._elFooter = this._elContent.appendChild(elFooter); + } + else { + YAHOO.log("Could not initialize the container","warn",this.toString()); + } +}; + +/** + * Clears out contents of container body and creates up to + * YAHOO.widget.AutoComplete#maxResultsDisplayed <li> elements in an + * <ul> element. + * + * @method _initListEl + * @private + */ +YAHOO.widget.AutoComplete.prototype._initListEl = function() { + var nListLength = this.maxResultsDisplayed, + elList = this._elList || document.createElement("ul"), + elListItem; + + while(elList.childNodes.length < nListLength) { + elListItem = document.createElement("li"); + elListItem.style.display = "none"; + elListItem._nItemIndex = elList.childNodes.length; + elList.appendChild(elListItem); + } + if(!this._elList) { + var elBody = this._elBody; + YAHOO.util.Event.purgeElement(elBody, true); + elBody.innerHTML = ""; + this._elList = elBody.appendChild(elList); + } + + this._elBody.style.display = ""; +}; + +/** + * Focuses input field. + * + * @method _focus + * @private + */ +YAHOO.widget.AutoComplete.prototype._focus = function() { + // http://developer.mozilla.org/en/docs/index.php?title=Key-navigable_custom_DHTML_widgets + var oSelf = this; + setTimeout(function() { + try { + oSelf._elTextbox.focus(); + } + catch(e) { + } + },0); +}; + +/** + * Enables interval detection for IME support. + * + * @method _enableIntervalDetection + * @private + */ +YAHOO.widget.AutoComplete.prototype._enableIntervalDetection = function() { + var oSelf = this; + if(!oSelf._queryInterval && oSelf.queryInterval) { + oSelf._queryInterval = setInterval(function() { oSelf._onInterval(); }, oSelf.queryInterval); + YAHOO.log("Interval set", "info", this.toString()); + } +}; + +/** + * Enables interval detection for a less performant but brute force mechanism to + * detect input values at an interval set by queryInterval and send queries if + * input value has changed. Needed to support right-click+paste or shift+insert + * edge cases. Please note that intervals are cleared at the end of each interaction, + * so enableIntervalDetection must be called for each new interaction. The + * recommended approach is to call it in response to textboxFocusEvent. + * + * @method enableIntervalDetection + */ +YAHOO.widget.AutoComplete.prototype.enableIntervalDetection = + YAHOO.widget.AutoComplete.prototype._enableIntervalDetection; + +/** + * Enables query triggers based on text input detection by intervals (rather + * than by key events). + * + * @method _onInterval + * @private + */ +YAHOO.widget.AutoComplete.prototype._onInterval = function() { + var currValue = this._elTextbox.value; + var lastValue = this._sLastTextboxValue; + if(currValue != lastValue) { + this._sLastTextboxValue = currValue; + this._sendQuery(currValue); + } +}; + +/** + * Cancels text input detection by intervals. + * + * @method _clearInterval + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._clearInterval = function() { + if(this._queryInterval) { + clearInterval(this._queryInterval); + this._queryInterval = null; + YAHOO.log("Interval cleared", "info", this.toString()); + } +}; + +/** + * Whether or not key is functional or should be ignored. Note that the right + * arrow key is NOT an ignored key since it triggers queries for certain intl + * charsets. + * + * @method _isIgnoreKey + * @param nKeycode {Number} Code of key pressed. + * @return {Boolean} True if key should be ignored, false otherwise. + * @private + */ +YAHOO.widget.AutoComplete.prototype._isIgnoreKey = function(nKeyCode) { + if((nKeyCode == 9) || (nKeyCode == 13) || // tab, enter + (nKeyCode == 16) || (nKeyCode == 17) || // shift, ctl + (nKeyCode >= 18 && nKeyCode <= 20) || // alt, pause/break,caps lock + (nKeyCode == 27) || // esc + (nKeyCode >= 33 && nKeyCode <= 35) || // page up,page down,end + /*(nKeyCode >= 36 && nKeyCode <= 38) || // home,left,up + (nKeyCode == 40) || // down*/ + (nKeyCode >= 36 && nKeyCode <= 40) || // home,left,up, right, down + (nKeyCode >= 44 && nKeyCode <= 45) || // print screen,insert + (nKeyCode == 229) // Bug 2041973: Korean XP fires 2 keyup events, the key and 229 + ) { + return true; + } + return false; +}; + +/** + * Makes query request to the DataSource. + * + * @method _sendQuery + * @param sQuery {String} Query string. + * @private + */ +YAHOO.widget.AutoComplete.prototype._sendQuery = function(sQuery) { + // Widget has been effectively turned off + if(this.minQueryLength < 0) { + this._toggleContainer(false); + YAHOO.log("Property minQueryLength is less than 0", "info", this.toString()); + return; + } + // Delimiter has been enabled + if(this.delimChar) { + var extraction = this._extractQuery(sQuery); + // Here is the query itself + sQuery = extraction.query; + // ...and save the rest of the string for later + this._sPastSelections = extraction.previous; + } + + // Don't search queries that are too short + if((sQuery && (sQuery.length < this.minQueryLength)) || (!sQuery && this.minQueryLength > 0)) { + if(this._nDelayID != -1) { + clearTimeout(this._nDelayID); + } + this._toggleContainer(false); + YAHOO.log("Query \"" + sQuery + "\" is too short", "info", this.toString()); + return; + } + + sQuery = encodeURIComponent(sQuery); + this._nDelayID = -1; // Reset timeout ID because request is being made + + // Subset matching + if(this.dataSource.queryMatchSubset || this.queryMatchSubset) { // backward compat + var oResponse = this.getSubsetMatches(sQuery); + if(oResponse) { + this.handleResponse(sQuery, oResponse, {query: sQuery}); + return; + } + } + + if(this.dataSource.responseStripAfter) { + this.dataSource.doBeforeParseData = this.preparseRawResponse; + } + if(this.applyLocalFilter) { + this.dataSource.doBeforeCallback = this.filterResults; + } + + var sRequest = this.generateRequest(sQuery); + this.dataRequestEvent.fire(this, sQuery, sRequest); + YAHOO.log("Sending query \"" + sRequest + "\"", "info", this.toString()); + + this.dataSource.sendRequest(sRequest, { + success : this.handleResponse, + failure : this.handleResponse, + scope : this, + argument: { + query: sQuery + } + }); +}; + +/** + * Populates the given <li> element with return value from formatResult(). + * + * @method _populateListItem + * @param elListItem {HTMLElement} The LI element. + * @param oResult {Object} The result object. + * @param sCurQuery {String} The query string. + * @private + */ +YAHOO.widget.AutoComplete.prototype._populateListItem = function(elListItem, oResult, sQuery) { + elListItem.innerHTML = this.formatResult(oResult, sQuery, elListItem._sResultMatch); +}; + +/** + * Populates the array of <li> elements in the container with query + * results. + * + * @method _populateList + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + * @private + */ +YAHOO.widget.AutoComplete.prototype._populateList = function(sQuery, oResponse, oPayload) { + // Clear previous timeout + if(this._nTypeAheadDelayID != -1) { + clearTimeout(this._nTypeAheadDelayID); + } + + sQuery = (oPayload && oPayload.query) ? oPayload.query : sQuery; + + // Pass data through abstract method for any transformations + var ok = this.doBeforeLoadData(sQuery, oResponse, oPayload); + + // Data is ok + if(ok && !oResponse.error) { + this.dataReturnEvent.fire(this, sQuery, oResponse.results); + + // Continue only if instance is still active (i.e., user hasn't already moved on) + if(this._bFocused) { + // Store state for this interaction + var sCurQuery = decodeURIComponent(sQuery); + this._sCurQuery = sCurQuery; + this._bItemSelected = false; + + var allResults = oResponse.results, + nItemsToShow = Math.min(allResults.length,this.maxResultsDisplayed), + sMatchKey = (this.dataSource.responseSchema.fields) ? + (this.dataSource.responseSchema.fields[0].key || this.dataSource.responseSchema.fields[0]) : 0; + + if(nItemsToShow > 0) { + // Make sure container and helpers are ready to go + if(!this._elList || (this._elList.childNodes.length < nItemsToShow)) { + this._initListEl(); + } + this._initContainerHelperEls(); + + var allListItemEls = this._elList.childNodes; + // Fill items with data from the bottom up + for(var i = nItemsToShow-1; i >= 0; i--) { + var elListItem = allListItemEls[i], + oResult = allResults[i]; + + // Backward compatibility + if(this.resultTypeList) { + // Results need to be converted back to an array + var aResult = []; + // Match key is first + aResult[0] = (YAHOO.lang.isString(oResult)) ? oResult : oResult[sMatchKey] || oResult[this.key]; + // Add additional data to the result array + var fields = this.dataSource.responseSchema.fields; + if(YAHOO.lang.isArray(fields) && (fields.length > 1)) { + for(var k=1, len=fields.length; k= nItemsToShow; j--) { + extraListItem = allListItemEls[j]; + extraListItem.style.display = "none"; + } + } + + this._nDisplayedItems = nItemsToShow; + + this.containerPopulateEvent.fire(this, sQuery, allResults); + + // Highlight the first item + if(this.autoHighlight) { + var elFirstListItem = this._elList.firstChild; + this._toggleHighlight(elFirstListItem,"to"); + this.itemArrowToEvent.fire(this, elFirstListItem); + YAHOO.log("Arrowed to first item", "info", this.toString()); + this._typeAhead(elFirstListItem,sQuery); + } + // Unhighlight any previous time + else { + this._toggleHighlight(this._elCurListItem,"from"); + } + + // Pre-expansion stuff + ok = this._doBeforeExpandContainer(this._elTextbox, this._elContainer, sQuery, allResults); + + // Expand the container + this._toggleContainer(ok); + } + else { + this._toggleContainer(false); + } + + YAHOO.log("Container populated with " + nItemsToShow + " list items", "info", this.toString()); + return; + } + } + // Error + else { + this.dataErrorEvent.fire(this, sQuery, oResponse); + } + + YAHOO.log("Could not populate list", "info", this.toString()); +}; + +/** + * Called before container expands, by default snaps container to the + * bottom-left corner of the input element, then calls public overrideable method. + * + * @method _doBeforeExpandContainer + * @param elTextbox {HTMLElement} The text input box. + * @param elContainer {HTMLElement} The container element. + * @param sQuery {String} The query string. + * @param aResults {Object[]} An array of query results. + * @return {Boolean} Return true to continue expanding container, false to cancel the expand. + * @private + */ +YAHOO.widget.AutoComplete.prototype._doBeforeExpandContainer = function(elTextbox, elContainer, sQuery, aResults) { + if(this.autoSnapContainer) { + this.snapContainer(); + } + + return this.doBeforeExpandContainer(elTextbox, elContainer, sQuery, aResults); +}; + +/** + * When forceSelection is true and the user attempts + * leave the text input box without selecting an item from the query results, + * the user selection is cleared. + * + * @method _clearSelection + * @private + */ +YAHOO.widget.AutoComplete.prototype._clearSelection = function() { + var extraction = (this.delimChar) ? this._extractQuery(this._elTextbox.value) : + {previous:"",query:this._elTextbox.value}; + this._elTextbox.value = extraction.previous; + this.selectionEnforceEvent.fire(this, extraction.query); + YAHOO.log("Selection enforced", "info", this.toString()); +}; + +/** + * Whether or not user-typed value in the text input box matches any of the + * query results. + * + * @method _textMatchesOption + * @return {HTMLElement} Matching list item element if user-input text matches + * a result, null otherwise. + * @private + */ +YAHOO.widget.AutoComplete.prototype._textMatchesOption = function() { + var elMatch = null; + + for(var i=0; i= 0; i--) { + nNewIndex = sQuery.lastIndexOf(aDelimChar[i]); + if(nNewIndex > nDelimIndex) { + nDelimIndex = nNewIndex; + } + } + // If we think the last delimiter is a space (" "), make sure it is NOT + // a false positive by also checking the char directly before it + if(aDelimChar[i] == " ") { + for (var j = aDelimChar.length-1; j >= 0; j--) { + if(sQuery[nDelimIndex - 1] == aDelimChar[j]) { + nDelimIndex--; + break; + } + } + } + // A delimiter has been found in the query so extract the latest query from past selections + if(nDelimIndex > -1) { + nQueryStart = nDelimIndex + 1; + // Trim any white space from the beginning... + while(sQuery.charAt(nQueryStart) == " ") { + nQueryStart += 1; + } + // ...and save the rest of the string for later + sPrevious = sQuery.substring(0,nQueryStart); + // Here is the query itself + sQuery = sQuery.substr(nQueryStart); + } + // No delimiter found in the query, so there are no selections from past queries + else { + sPrevious = ""; + } + + return { + previous: sPrevious, + query: sQuery + }; +}; + +/** + * Syncs results container with its helpers. + * + * @method _toggleContainerHelpers + * @param bShow {Boolean} True if container is expanded, false if collapsed + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers = function(bShow) { + var width = this._elContent.offsetWidth + "px"; + var height = this._elContent.offsetHeight + "px"; + + if(this.useIFrame && this._elIFrame) { + var elIFrame = this._elIFrame; + if(bShow) { + elIFrame.style.width = width; + elIFrame.style.height = height; + elIFrame.style.padding = ""; + YAHOO.log("Iframe expanded", "info", this.toString()); + } + else { + elIFrame.style.width = 0; + elIFrame.style.height = 0; + elIFrame.style.padding = 0; + YAHOO.log("Iframe collapsed", "info", this.toString()); + } + } + if(this.useShadow && this._elShadow) { + var elShadow = this._elShadow; + if(bShow) { + elShadow.style.width = width; + elShadow.style.height = height; + YAHOO.log("Shadow expanded", "info", this.toString()); + } + else { + elShadow.style.width = 0; + elShadow.style.height = 0; + YAHOO.log("Shadow collapsed", "info", this.toString()); + } + } +}; + +/** + * Animates expansion or collapse of the container. + * + * @method _toggleContainer + * @param bShow {Boolean} True if container should be expanded, false if container should be collapsed + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleContainer = function(bShow) { + YAHOO.log("Toggling container " + ((bShow) ? "open" : "closed"), "info", this.toString()); + + var elContainer = this._elContainer; + + // If implementer has container always open and it's already open, don't mess with it + // Container is initialized with display "none" so it may need to be shown first time through + if(this.alwaysShowContainer && this._bContainerOpen) { + return; + } + + // Reset states + if(!bShow) { + this._toggleHighlight(this._elCurListItem,"from"); + this._nDisplayedItems = 0; + this._sCurQuery = null; + + // Container is already closed, so don't bother with changing the UI + if(this._elContent.style.display == "none") { + return; + } + } + + // If animation is enabled... + var oAnim = this._oAnim; + if(oAnim && oAnim.getEl() && (this.animHoriz || this.animVert)) { + if(oAnim.isAnimated()) { + oAnim.stop(true); + } + + // Clone container to grab current size offscreen + var oClone = this._elContent.cloneNode(true); + elContainer.appendChild(oClone); + oClone.style.top = "-9000px"; + oClone.style.width = ""; + oClone.style.height = ""; + oClone.style.display = ""; + + // Current size of the container is the EXPANDED size + var wExp = oClone.offsetWidth; + var hExp = oClone.offsetHeight; + + // Calculate COLLAPSED sizes based on horiz and vert anim + var wColl = (this.animHoriz) ? 0 : wExp; + var hColl = (this.animVert) ? 0 : hExp; + + // Set animation sizes + oAnim.attributes = (bShow) ? + {width: { to: wExp }, height: { to: hExp }} : + {width: { to: wColl}, height: { to: hColl }}; + + // If opening anew, set to a collapsed size... + if(bShow && !this._bContainerOpen) { + this._elContent.style.width = wColl+"px"; + this._elContent.style.height = hColl+"px"; + } + // Else, set it to its last known size. + else { + this._elContent.style.width = wExp+"px"; + this._elContent.style.height = hExp+"px"; + } + + elContainer.removeChild(oClone); + oClone = null; + + var oSelf = this; + var onAnimComplete = function() { + // Finish the collapse + oAnim.onComplete.unsubscribeAll(); + + if(bShow) { + oSelf._toggleContainerHelpers(true); + oSelf._bContainerOpen = bShow; + oSelf.containerExpandEvent.fire(oSelf); + YAHOO.log("Container expanded", "info", oSelf.toString()); + } + else { + oSelf._elContent.style.display = "none"; + oSelf._bContainerOpen = bShow; + oSelf.containerCollapseEvent.fire(oSelf); + YAHOO.log("Container collapsed", "info", oSelf.toString()); + } + }; + + // Display container and animate it + this._toggleContainerHelpers(false); // Bug 1424486: Be early to hide, late to show; + this._elContent.style.display = ""; + oAnim.onComplete.subscribe(onAnimComplete); + oAnim.animate(); + } + // Else don't animate, just show or hide + else { + if(bShow) { + this._elContent.style.display = ""; + this._toggleContainerHelpers(true); + this._bContainerOpen = bShow; + this.containerExpandEvent.fire(this); + YAHOO.log("Container expanded", "info", this.toString()); + } + else { + this._toggleContainerHelpers(false); + this._elContent.style.display = "none"; + this._bContainerOpen = bShow; + this.containerCollapseEvent.fire(this); + YAHOO.log("Container collapsed", "info", this.toString()); + } + } + +}; + +/** + * Toggles the highlight on or off for an item in the container, and also cleans + * up highlighting of any previous item. + * + * @method _toggleHighlight + * @param elNewListItem {HTMLElement} The <li> element item to receive highlight behavior. + * @param sType {String} Type "mouseover" will toggle highlight on, and "mouseout" will toggle highlight off. + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleHighlight = function(elNewListItem, sType) { + if(elNewListItem) { + var sHighlight = this.highlightClassName; + if(this._elCurListItem) { + // Remove highlight from old item + YAHOO.util.Dom.removeClass(this._elCurListItem, sHighlight); + this._elCurListItem = null; + } + + if((sType == "to") && sHighlight) { + // Apply highlight to new item + YAHOO.util.Dom.addClass(elNewListItem, sHighlight); + this._elCurListItem = elNewListItem; + } + } +}; + +/** + * Toggles the pre-highlight on or off for an item in the container, and also cleans + * up pre-highlighting of any previous item. + * + * @method _togglePrehighlight + * @param elNewListItem {HTMLElement} The <li> element item to receive highlight behavior. + * @param sType {String} Type "mouseover" will toggle highlight on, and "mouseout" will toggle highlight off. + * @private + */ +YAHOO.widget.AutoComplete.prototype._togglePrehighlight = function(elNewListItem, sType) { + var sPrehighlight = this.prehighlightClassName; + + if(this._elCurPrehighlightItem) { + YAHOO.util.Dom.removeClass(this._elCurPrehighlightItem, sPrehighlight); + } + if(elNewListItem == this._elCurListItem) { + return; + } + + if((sType == "mouseover") && sPrehighlight) { + // Apply prehighlight to new item + YAHOO.util.Dom.addClass(elNewListItem, sPrehighlight); + this._elCurPrehighlightItem = elNewListItem; + } + else { + // Remove prehighlight from old item + YAHOO.util.Dom.removeClass(elNewListItem, sPrehighlight); + } +}; + +/** + * Updates the text input box value with selected query result. If a delimiter + * has been defined, then the value gets appended with the delimiter. + * + * @method _updateValue + * @param elListItem {HTMLElement} The <li> element item with which to update the value. + * @private + */ +YAHOO.widget.AutoComplete.prototype._updateValue = function(elListItem) { + if(!this.suppressInputUpdate) { + var elTextbox = this._elTextbox; + var sDelimChar = (this.delimChar) ? (this.delimChar[0] || this.delimChar) : null; + var sResultMatch = elListItem._sResultMatch; + + // Calculate the new value + var sNewValue = ""; + if(sDelimChar) { + // Preserve selections from past queries + sNewValue = this._sPastSelections; + // Add new selection plus delimiter + sNewValue += sResultMatch + sDelimChar; + if(sDelimChar != " ") { + sNewValue += " "; + } + } + else { + sNewValue = sResultMatch; + } + + // Update input field + elTextbox.value = sNewValue; + + // Scroll to bottom of textarea if necessary + if(elTextbox.type == "textarea") { + elTextbox.scrollTop = elTextbox.scrollHeight; + } + + // Move cursor to end + var end = elTextbox.value.length; + this._selectText(elTextbox,end,end); + + this._elCurListItem = elListItem; + } +}; + +/** + * Selects a result item from the container + * + * @method _selectItem + * @param elListItem {HTMLElement} The selected <li> element item. + * @private + */ +YAHOO.widget.AutoComplete.prototype._selectItem = function(elListItem) { + this._bItemSelected = true; + this._updateValue(elListItem); + this._sPastSelections = this._elTextbox.value; + this._clearInterval(); + this.itemSelectEvent.fire(this, elListItem, elListItem._oResultData); + YAHOO.log("Item selected: " + YAHOO.lang.dump(elListItem._oResultData), "info", this.toString()); + this._toggleContainer(false); +}; + +/** + * If an item is highlighted in the container, the right arrow key jumps to the + * end of the textbox and selects the highlighted item, otherwise the container + * is closed. + * + * @method _jumpSelection + * @private + */ +YAHOO.widget.AutoComplete.prototype._jumpSelection = function() { + if(this._elCurListItem) { + this._selectItem(this._elCurListItem); + } + else { + this._toggleContainer(false); + } +}; + +/** + * Triggered by up and down arrow keys, changes the current highlighted + * <li> element item. Scrolls container if necessary. + * + * @method _moveSelection + * @param nKeyCode {Number} Code of key pressed. + * @private + */ +YAHOO.widget.AutoComplete.prototype._moveSelection = function(nKeyCode) { + if(this._bContainerOpen) { + // Determine current item's id number + var elCurListItem = this._elCurListItem, + nCurItemIndex = -1; + + if(elCurListItem) { + nCurItemIndex = elCurListItem._nItemIndex; + } + + var nNewItemIndex = (nKeyCode == 40) ? + (nCurItemIndex + 1) : (nCurItemIndex - 1); + + // Out of bounds + if(nNewItemIndex < -2 || nNewItemIndex >= this._nDisplayedItems) { + return; + } + + if(elCurListItem) { + // Unhighlight current item + this._toggleHighlight(elCurListItem, "from"); + this.itemArrowFromEvent.fire(this, elCurListItem); + YAHOO.log("Item arrowed from: " + elCurListItem._nItemIndex, "info", this.toString()); + } + if(nNewItemIndex == -1) { + // Go back to query (remove type-ahead string) + if(this.delimChar) { + this._elTextbox.value = this._sPastSelections + this._sCurQuery; + } + else { + this._elTextbox.value = this._sCurQuery; + } + return; + } + if(nNewItemIndex == -2) { + // Close container + this._toggleContainer(false); + return; + } + + var elNewListItem = this._elList.childNodes[nNewItemIndex], + + // Scroll the container if necessary + elContent = this._elContent, + sOF = YAHOO.util.Dom.getStyle(elContent,"overflow"), + sOFY = YAHOO.util.Dom.getStyle(elContent,"overflowY"), + scrollOn = ((sOF == "auto") || (sOF == "scroll") || (sOFY == "auto") || (sOFY == "scroll")); + if(scrollOn && (nNewItemIndex > -1) && + (nNewItemIndex < this._nDisplayedItems)) { + // User is keying down + if(nKeyCode == 40) { + // Bottom of selected item is below scroll area... + if((elNewListItem.offsetTop+elNewListItem.offsetHeight) > (elContent.scrollTop + elContent.offsetHeight)) { + // Set bottom of scroll area to bottom of selected item + elContent.scrollTop = (elNewListItem.offsetTop+elNewListItem.offsetHeight) - elContent.offsetHeight; + } + // Bottom of selected item is above scroll area... + else if((elNewListItem.offsetTop+elNewListItem.offsetHeight) < elContent.scrollTop) { + // Set top of selected item to top of scroll area + elContent.scrollTop = elNewListItem.offsetTop; + + } + } + // User is keying up + else { + // Top of selected item is above scroll area + if(elNewListItem.offsetTop < elContent.scrollTop) { + // Set top of scroll area to top of selected item + this._elContent.scrollTop = elNewListItem.offsetTop; + } + // Top of selected item is below scroll area + else if(elNewListItem.offsetTop > (elContent.scrollTop + elContent.offsetHeight)) { + // Set bottom of selected item to bottom of scroll area + this._elContent.scrollTop = (elNewListItem.offsetTop+elNewListItem.offsetHeight) - elContent.offsetHeight; + } + } + } + + this._toggleHighlight(elNewListItem, "to"); + this.itemArrowToEvent.fire(this, elNewListItem); + YAHOO.log("Item arrowed to " + elNewListItem._nItemIndex, "info", this.toString()); + if(this.typeAhead) { + this._updateValue(elNewListItem); + } + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Private event handlers +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Handles container mouseover events. + * + * @method _onContainerMouseover + * @param v {HTMLEvent} The mouseover event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerMouseover = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + if(oSelf.prehighlightClassName) { + oSelf._togglePrehighlight(elTarget,"mouseover"); + } + else { + oSelf._toggleHighlight(elTarget,"to"); + } + + oSelf.itemMouseOverEvent.fire(oSelf, elTarget); + YAHOO.log("Item moused over " + elTarget._nItemIndex, "info", oSelf.toString()); + break; + case "div": + if(YAHOO.util.Dom.hasClass(elTarget,"yui-ac-container")) { + oSelf._bOverContainer = true; + return; + } + break; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + +/** + * Handles container mouseout events. + * + * @method _onContainerMouseout + * @param v {HTMLEvent} The mouseout event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerMouseout = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + if(oSelf.prehighlightClassName) { + oSelf._togglePrehighlight(elTarget,"mouseout"); + } + else { + oSelf._toggleHighlight(elTarget,"from"); + } + + oSelf.itemMouseOutEvent.fire(oSelf, elTarget); + YAHOO.log("Item moused out " + elTarget._nItemIndex, "info", oSelf.toString()); + break; + case "ul": + oSelf._toggleHighlight(oSelf._elCurListItem,"to"); + break; + case "div": + if(YAHOO.util.Dom.hasClass(elTarget,"yui-ac-container")) { + oSelf._bOverContainer = false; + return; + } + break; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + +/** + * Handles container click events. + * + * @method _onContainerClick + * @param v {HTMLEvent} The click event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerClick = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + // In case item has not been moused over + oSelf._toggleHighlight(elTarget,"to"); + oSelf._selectItem(elTarget); + return; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + + +/** + * Handles container scroll events. + * + * @method _onContainerScroll + * @param v {HTMLEvent} The scroll event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerScroll = function(v,oSelf) { + oSelf._focus(); +}; + +/** + * Handles container resize events. + * + * @method _onContainerResize + * @param v {HTMLEvent} The resize event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerResize = function(v,oSelf) { + oSelf._toggleContainerHelpers(oSelf._bContainerOpen); +}; + + +/** + * Handles textbox keydown events of functional keys, mainly for UI behavior. + * + * @method _onTextboxKeyDown + * @param v {HTMLEvent} The keydown event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown = function(v,oSelf) { + var nKeyCode = v.keyCode; + + // Clear timeout + if(oSelf._nTypeAheadDelayID != -1) { + clearTimeout(oSelf._nTypeAheadDelayID); + } + + switch (nKeyCode) { + case 9: // tab + if(!YAHOO.env.ua.opera && (navigator.userAgent.toLowerCase().indexOf("mac") == -1) || (YAHOO.env.ua.webkit>420)) { + // select an item or clear out + if(oSelf._elCurListItem) { + if(oSelf.delimChar && (oSelf._nKeyCode != nKeyCode)) { + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + } + } + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 13: // enter + if(!YAHOO.env.ua.opera && (navigator.userAgent.toLowerCase().indexOf("mac") == -1) || (YAHOO.env.ua.webkit>420)) { + if(oSelf._elCurListItem) { + if(oSelf._nKeyCode != nKeyCode) { + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + } + } + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 27: // esc + oSelf._toggleContainer(false); + return; + case 39: // right + oSelf._jumpSelection(); + break; + case 38: // up + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + oSelf._moveSelection(nKeyCode); + } + break; + case 40: // down + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + oSelf._moveSelection(nKeyCode); + } + break; + default: + oSelf._bItemSelected = false; + oSelf._toggleHighlight(oSelf._elCurListItem, "from"); + + oSelf.textboxKeyEvent.fire(oSelf, nKeyCode); + YAHOO.log("Textbox keyed", "info", oSelf.toString()); + break; + } + + if(nKeyCode === 18){ + oSelf._enableIntervalDetection(); + } + oSelf._nKeyCode = nKeyCode; +}; + +/** + * Handles textbox keypress events. + * @method _onTextboxKeyPress + * @param v {HTMLEvent} The keypress event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress = function(v,oSelf) { + var nKeyCode = v.keyCode; + + // Expose only to non SF3 (bug 1978549) Mac browsers (bug 790337) and Opera browsers (bug 583531), + // where stopEvent is ineffective on keydown events + if(YAHOO.env.ua.opera || (navigator.userAgent.toLowerCase().indexOf("mac") != -1) && (YAHOO.env.ua.webkit < 420)) { + switch (nKeyCode) { + case 9: // tab + // select an item or clear out + if(oSelf._bContainerOpen) { + if(oSelf.delimChar) { + YAHOO.util.Event.stopEvent(v); + } + if(oSelf._elCurListItem) { + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 13: // enter + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + if(oSelf._elCurListItem) { + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + default: + break; + } + } + + //TODO: (?) limit only to non-IE, non-Mac-FF for Korean IME support (bug 811948) + // Korean IME detected + else if(nKeyCode == 229) { + oSelf._enableIntervalDetection(); + } +}; + +/** + * Handles textbox keyup events to trigger queries. + * + * @method _onTextboxKeyUp + * @param v {HTMLEvent} The keyup event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp = function(v,oSelf) { + var sText = this.value; //string in textbox + + // Check to see if any of the public properties have been updated + oSelf._initProps(); + + // Filter out chars that don't trigger queries + var nKeyCode = v.keyCode; + if(oSelf._isIgnoreKey(nKeyCode)) { + return; + } + + // Clear previous timeout + if(oSelf._nDelayID != -1) { + clearTimeout(oSelf._nDelayID); + } + + // Set new timeout + oSelf._nDelayID = setTimeout(function(){ + oSelf._sendQuery(sText); + },(oSelf.queryDelay * 1000)); +}; + +/** + * Handles text input box receiving focus. + * + * @method _onTextboxFocus + * @param v {HTMLEvent} The focus event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxFocus = function (v,oSelf) { + // Start of a new interaction + if(!oSelf._bFocused) { + oSelf._elTextbox.setAttribute("autocomplete","off"); + oSelf._bFocused = true; + oSelf._sInitInputValue = oSelf._elTextbox.value; + oSelf.textboxFocusEvent.fire(oSelf); + YAHOO.log("Textbox focused", "info", oSelf.toString()); + } +}; + +/** + * Handles text input box losing focus. + * + * @method _onTextboxBlur + * @param v {HTMLEvent} The focus event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxBlur = function (v,oSelf) { + // Is a true blur + if(!oSelf._bOverContainer || (oSelf._nKeyCode == 9)) { + // Current query needs to be validated as a selection + if(!oSelf._bItemSelected) { + var elMatchListItem = oSelf._textMatchesOption(); + // Container is closed or current query doesn't match any result + if(!oSelf._bContainerOpen || (oSelf._bContainerOpen && (elMatchListItem === null))) { + // Force selection is enabled so clear the current query + if(oSelf.forceSelection) { + oSelf._clearSelection(); + } + // Treat current query as a valid selection + else { + oSelf.unmatchedItemSelectEvent.fire(oSelf, oSelf._sCurQuery); + YAHOO.log("Unmatched item selected: " + oSelf._sCurQuery, "info", oSelf.toString()); + } + } + // Container is open and current query matches a result + else { + // Force a selection when textbox is blurred with a match + if(oSelf.forceSelection) { + oSelf._selectItem(elMatchListItem); + } + } + } + + oSelf._clearInterval(); + oSelf._bFocused = false; + if(oSelf._sInitInputValue !== oSelf._elTextbox.value) { + oSelf.textboxChangeEvent.fire(oSelf); + } + oSelf.textboxBlurEvent.fire(oSelf); + YAHOO.log("Textbox blurred", "info", oSelf.toString()); + + oSelf._toggleContainer(false); + } + // Not a true blur if it was a selection via mouse click + else { + oSelf._focus(); + } +}; + +/** + * Handles window unload event. + * + * @method _onWindowUnload + * @param v {HTMLEvent} The unload event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onWindowUnload = function(v,oSelf) { + if(oSelf && oSelf._elTextbox && oSelf.allowBrowserAutocomplete) { + oSelf._elTextbox.setAttribute("autocomplete","on"); + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Deprecated for Backwards Compatibility +// +///////////////////////////////////////////////////////////////////////////// +/** + * @method doBeforeSendQuery + * @deprecated Use generateRequest. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery = function(sQuery) { + return this.generateRequest(sQuery); +}; + +/** + * @method getListItems + * @deprecated Use getListEl().childNodes. + */ +YAHOO.widget.AutoComplete.prototype.getListItems = function() { + var allListItemEls = [], + els = this._elList.childNodes; + for(var i=els.length-1; i>=0; i--) { + allListItemEls[i] = els[i]; + } + return allListItemEls; +}; + +///////////////////////////////////////////////////////////////////////// +// +// Private static methods +// +///////////////////////////////////////////////////////////////////////// + +/** + * Clones object literal or array of object literals. + * + * @method AutoComplete._cloneObject + * @param o {Object} Object. + * @private + * @static + */ +YAHOO.widget.AutoComplete._cloneObject = function(o) { + if(!YAHOO.lang.isValue(o)) { + return o; + } + + var copy = {}; + + if(YAHOO.lang.isFunction(o)) { + copy = o; + } + else if(YAHOO.lang.isArray(o)) { + var array = []; + for(var i=0,len=o.length;i-1;A--){B[A].style.display="none";}};YAHOO.widget.AutoComplete.prototype.getSubsetMatches=function(E){var D,C,A;for(var B=E.length;B>=this.minQueryLength;B--){A=this.generateRequest(E.substr(0,B));this.dataRequestEvent.fire(this,D,A);C=this.dataSource.getCachedResponse(A);if(C){return this.filterResults.apply(this.dataSource,[E,C,C,{scope:this}]);}}return null;};YAHOO.widget.AutoComplete.prototype.preparseRawResponse=function(C,B,A){var D=((this.responseStripAfter!=="")&&(B.indexOf))?B.indexOf(this.responseStripAfter):-1;if(D!=-1){B=B.substring(0,D);}return B;};YAHOO.widget.AutoComplete.prototype.filterResults=function(K,M,Q,L){if(L&&L.argument&&L.argument.query){K=L.argument.query;}if(K&&K!==""){Q=YAHOO.widget.AutoComplete._cloneObject(Q);var I=L.scope,P=this,C=Q.results,N=[],B=I.maxResultsDisplayed,J=(P.queryMatchCase||I.queryMatchCase),A=(P.queryMatchContains||I.queryMatchContains);for(var D=0,H=C.length;D-1))){N.push(F);}}if(H>B&&N.length===B){break;}}Q.results=N;}else{}return Q;};YAHOO.widget.AutoComplete.prototype.handleResponse=function(C,A,B){if((this instanceof YAHOO.widget.AutoComplete)&&this._sName){this._populateList(C,A,B);}};YAHOO.widget.AutoComplete.prototype.doBeforeLoadData=function(C,A,B){return true;};YAHOO.widget.AutoComplete.prototype.formatResult=function(B,D,A){var C=(A)?A:"";return C;};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(D,A,C,B){return true;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var B=this.toString();var A=this._elTextbox;var D=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerPopulateEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();this.textboxChangeEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(A,true);YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerPopulateEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null; +YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete.prototype.textboxChangeEvent=null;YAHOO.widget.AutoComplete._nIndex=0;YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=false;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._elList=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sPastSelections="";YAHOO.widget.AutoComplete.prototype._sInitInputValue=null;YAHOO.widget.AutoComplete.prototype._elCurListItem=null;YAHOO.widget.AutoComplete.prototype._elCurPrehighlightItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var B=this.minQueryLength;if(!YAHOO.lang.isNumber(B)){this.minQueryLength=1;}var E=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(E)||(E<1)){this.maxResultsDisplayed=10;}var F=this.queryDelay;if(!YAHOO.lang.isNumber(F)||(F<0)){this.queryDelay=0.2;}var C=this.typeAheadDelay;if(!YAHOO.lang.isNumber(C)||(C<0)){this.typeAheadDelay=0.2;}var A=this.delimChar;if(YAHOO.lang.isString(A)&&(A.length>0)){this.delimChar=[A];}else{if(!YAHOO.lang.isArray(A)){this.delimChar=null;}}var D=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(D)||(D<0)){this.animSpeed=0.3;}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed);}else{this._oAnim.duration=this.animSpeed;}}if(this.forceSelection&&A){}};YAHOO.widget.AutoComplete.prototype._initContainerHelperEls=function(){if(this.useShadow&&!this._elShadow){var A=document.createElement("div");A.className="yui-ac-shadow";A.style.width=0;A.style.height=0;this._elShadow=this._elContainer.appendChild(A);}if(this.useIFrame&&!this._elIFrame){var B=document.createElement("iframe");B.src=this._iFrameSrc;B.frameBorder=0;B.scrolling="no";B.style.position="absolute";B.style.width=0;B.style.height=0;B.style.padding=0;B.tabIndex=-1;B.role="presentation";B.title="Presentational iframe shim";this._elIFrame=this._elContainer.appendChild(B);}};YAHOO.widget.AutoComplete.prototype._initContainerEl=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var C=document.createElement("div");C.className="yui-ac-content";C.style.display="none";this._elContent=this._elContainer.appendChild(C);var B=document.createElement("div");B.className="yui-ac-hd";B.style.display="none";this._elHeader=this._elContent.appendChild(B);var D=document.createElement("div");D.className="yui-ac-bd";this._elBody=this._elContent.appendChild(D);var A=document.createElement("div");A.className="yui-ac-ft";A.style.display="none";this._elFooter=this._elContent.appendChild(A);}else{}};YAHOO.widget.AutoComplete.prototype._initListEl=function(){var C=this.maxResultsDisplayed,A=this._elList||document.createElement("ul"),B;while(A.childNodes.length=18&&A<=20)||(A==27)||(A>=33&&A<=35)||(A>=36&&A<=40)||(A>=44&&A<=45)||(A==229)){return true;}return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(D){if(this.minQueryLength<0){this._toggleContainer(false);return;}if(this.delimChar){var A=this._extractQuery(D);D=A.query;this._sPastSelections=A.previous;}if((D&&(D.length0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}this._toggleContainer(false);return;}D=encodeURIComponent(D);this._nDelayID=-1;if(this.dataSource.queryMatchSubset||this.queryMatchSubset){var C=this.getSubsetMatches(D);if(C){this.handleResponse(D,C,{query:D});return; +}}if(this.dataSource.responseStripAfter){this.dataSource.doBeforeParseData=this.preparseRawResponse;}if(this.applyLocalFilter){this.dataSource.doBeforeCallback=this.filterResults;}var B=this.generateRequest(D);this.dataRequestEvent.fire(this,D,B);this.dataSource.sendRequest(B,{success:this.handleResponse,failure:this.handleResponse,scope:this,argument:{query:D}});};YAHOO.widget.AutoComplete.prototype._populateListItem=function(B,A,C){B.innerHTML=this.formatResult(A,C,B._sResultMatch);};YAHOO.widget.AutoComplete.prototype._populateList=function(K,F,C){if(this._nTypeAheadDelayID!=-1){clearTimeout(this._nTypeAheadDelayID);}K=(C&&C.query)?C.query:K;var H=this.doBeforeLoadData(K,F,C);if(H&&!F.error){this.dataReturnEvent.fire(this,K,F.results);if(this._bFocused){var M=decodeURIComponent(K);this._sCurQuery=M;this._bItemSelected=false;var R=F.results,A=Math.min(R.length,this.maxResultsDisplayed),J=(this.dataSource.responseSchema.fields)?(this.dataSource.responseSchema.fields[0].key||this.dataSource.responseSchema.fields[0]):0;if(A>0){if(!this._elList||(this._elList.childNodes.length=0;Q--){var P=I[Q],E=R[Q];if(this.resultTypeList){var B=[];B[0]=(YAHOO.lang.isString(E))?E:E[J]||E[this.key];var L=this.dataSource.responseSchema.fields;if(YAHOO.lang.isArray(L)&&(L.length>1)){for(var N=1,S=L.length;N=A;O--){G=I[O];G.style.display="none";}}this._nDisplayedItems=A;this.containerPopulateEvent.fire(this,K,R);if(this.autoHighlight){var D=this._elList.firstChild;this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);this._typeAhead(D,K);}else{this._toggleHighlight(this._elCurListItem,"from");}H=this._doBeforeExpandContainer(this._elTextbox,this._elContainer,K,R);this._toggleContainer(H);}else{this._toggleContainer(false);}return;}}else{this.dataErrorEvent.fire(this,K,F);}};YAHOO.widget.AutoComplete.prototype._doBeforeExpandContainer=function(D,A,C,B){if(this.autoSnapContainer){this.snapContainer();}return this.doBeforeExpandContainer(D,A,C,B);};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var A=(this.delimChar)?this._extractQuery(this._elTextbox.value):{previous:"",query:this._elTextbox.value};this._elTextbox.value=A.previous;this.selectionEnforceEvent.fire(this,A.query);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var A=null;for(var B=0;B=0;B--){G=H.lastIndexOf(C[B]);if(G>F){F=G;}}if(C[B]==" "){for(var A=C.length-1;A>=0;A--){if(H[F-1]==C[A]){F--;break;}}}if(F>-1){E=F+1;while(H.charAt(E)==" "){E+=1;}D=H.substring(0,E);H=H.substr(E);}else{D="";}return{previous:D,query:H};};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(D){var E=this._elContent.offsetWidth+"px";var B=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){var C=this._elIFrame;if(D){C.style.width=E;C.style.height=B;C.style.padding="";}else{C.style.width=0;C.style.height=0;C.style.padding=0;}}if(this.useShadow&&this._elShadow){var A=this._elShadow;if(D){A.style.width=E;A.style.height=B;}else{A.style.width=0;A.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(I){var D=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return;}if(!I){this._toggleHighlight(this._elCurListItem,"from");this._nDisplayedItems=0;this._sCurQuery=null;if(this._elContent.style.display=="none"){return;}}var A=this._oAnim;if(A&&A.getEl()&&(this.animHoriz||this.animVert)){if(A.isAnimated()){A.stop(true);}var G=this._elContent.cloneNode(true);D.appendChild(G);G.style.top="-9000px";G.style.width="";G.style.height="";G.style.display="";var F=G.offsetWidth;var C=G.offsetHeight;var B=(this.animHoriz)?0:F;var E=(this.animVert)?0:C;A.attributes=(I)?{width:{to:F},height:{to:C}}:{width:{to:B},height:{to:E}};if(I&&!this._bContainerOpen){this._elContent.style.width=B+"px";this._elContent.style.height=E+"px";}else{this._elContent.style.width=F+"px";this._elContent.style.height=C+"px";}D.removeChild(G);G=null;var H=this;var J=function(){A.onComplete.unsubscribeAll();if(I){H._toggleContainerHelpers(true);H._bContainerOpen=I;H.containerExpandEvent.fire(H);}else{H._elContent.style.display="none";H._bContainerOpen=I;H.containerCollapseEvent.fire(H);}};this._toggleContainerHelpers(false);this._elContent.style.display="";A.onComplete.subscribe(J);A.animate();}else{if(I){this._elContent.style.display="";this._toggleContainerHelpers(true);this._bContainerOpen=I;this.containerExpandEvent.fire(this);}else{this._toggleContainerHelpers(false);this._elContent.style.display="none";this._bContainerOpen=I;this.containerCollapseEvent.fire(this);}}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(A,C){if(A){var B=this.highlightClassName; +if(this._elCurListItem){YAHOO.util.Dom.removeClass(this._elCurListItem,B);this._elCurListItem=null;}if((C=="to")&&B){YAHOO.util.Dom.addClass(A,B);this._elCurListItem=A;}}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(B,C){var A=this.prehighlightClassName;if(this._elCurPrehighlightItem){YAHOO.util.Dom.removeClass(this._elCurPrehighlightItem,A);}if(B==this._elCurListItem){return;}if((C=="mouseover")&&A){YAHOO.util.Dom.addClass(B,A);this._elCurPrehighlightItem=B;}else{YAHOO.util.Dom.removeClass(B,A);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(C){if(!this.suppressInputUpdate){var F=this._elTextbox;var E=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var B=C._sResultMatch;var D="";if(E){D=this._sPastSelections;D+=B+E;if(E!=" "){D+=" ";}}else{D=B;}F.value=D;if(F.type=="textarea"){F.scrollTop=F.scrollHeight;}var A=F.value.length;this._selectText(F,A,A);this._elCurListItem=C;}};YAHOO.widget.AutoComplete.prototype._selectItem=function(A){this._bItemSelected=true;this._updateValue(A);this._sPastSelections=this._elTextbox.value;this._clearInterval();this.itemSelectEvent.fire(this,A,A._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._elCurListItem){this._selectItem(this._elCurListItem);}else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(G){if(this._bContainerOpen){var H=this._elCurListItem,D=-1;if(H){D=H._nItemIndex;}var E=(G==40)?(D+1):(D-1);if(E<-2||E>=this._nDisplayedItems){return;}if(H){this._toggleHighlight(H,"from");this.itemArrowFromEvent.fire(this,H);}if(E==-1){if(this.delimChar){this._elTextbox.value=this._sPastSelections+this._sCurQuery;}else{this._elTextbox.value=this._sCurQuery;}return;}if(E==-2){this._toggleContainer(false);return;}var F=this._elList.childNodes[E],B=this._elContent,C=YAHOO.util.Dom.getStyle(B,"overflow"),I=YAHOO.util.Dom.getStyle(B,"overflowY"),A=((C=="auto")||(C=="scroll")||(I=="auto")||(I=="scroll"));if(A&&(E>-1)&&(E(B.scrollTop+B.offsetHeight)){B.scrollTop=(F.offsetTop+F.offsetHeight)-B.offsetHeight;}else{if((F.offsetTop+F.offsetHeight)(B.scrollTop+B.offsetHeight)){this._elContent.scrollTop=(F.offsetTop+F.offsetHeight)-B.offsetHeight;}}}}this._toggleHighlight(F,"to");this.itemArrowToEvent.fire(this,F);if(this.typeAhead){this._updateValue(F);}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseover");}else{C._toggleHighlight(D,"to");}C.itemMouseOverEvent.fire(C,D);break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=true;return;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseout");}else{C._toggleHighlight(D,"from");}C.itemMouseOutEvent.fire(C,D);break;case"ul":C._toggleHighlight(C._elCurListItem,"to");break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=false;return;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerClick=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":C._toggleHighlight(D,"to");C._selectItem(D);return;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(A,B){B._focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(A,B){B._toggleContainerHelpers(B._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(A,B){var C=A.keyCode;if(B._nTypeAheadDelayID!=-1){clearTimeout(B._nTypeAheadDelayID);}switch(C){case 9:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B.delimChar&&(B._nKeyCode!=C)){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B._nKeyCode!=C){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 27:B._toggleContainer(false);return;case 39:B._jumpSelection();break;case 38:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;case 40:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;default:B._bItemSelected=false;B._toggleHighlight(B._elCurListItem,"from");B.textboxKeyEvent.fire(B,C);break;}if(C===18){B._enableIntervalDetection();}B._nKeyCode=C;};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(A,B){var C=A.keyCode;if(YAHOO.env.ua.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&(YAHOO.env.ua.webkit<420)){switch(C){case 9:if(B._bContainerOpen){if(B.delimChar){YAHOO.util.Event.stopEvent(A);}if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;default:break;}}else{if(C==229){B._enableIntervalDetection();}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(A,C){var B=this.value;C._initProps();var D=A.keyCode;if(C._isIgnoreKey(D)){return; +}if(C._nDelayID!=-1){clearTimeout(C._nDelayID);}C._nDelayID=setTimeout(function(){C._sendQuery(B);},(C.queryDelay*1000));};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(A,B){if(!B._bFocused){B._elTextbox.setAttribute("autocomplete","off");B._bFocused=true;B._sInitInputValue=B._elTextbox.value;B.textboxFocusEvent.fire(B);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(A,C){if(!C._bOverContainer||(C._nKeyCode==9)){if(!C._bItemSelected){var B=C._textMatchesOption();if(!C._bContainerOpen||(C._bContainerOpen&&(B===null))){if(C.forceSelection){C._clearSelection();}else{C.unmatchedItemSelectEvent.fire(C,C._sCurQuery);}}else{if(C.forceSelection){C._selectItem(B);}}}C._clearInterval();C._bFocused=false;if(C._sInitInputValue!==C._elTextbox.value){C.textboxChangeEvent.fire(C);}C.textboxBlurEvent.fire(C);C._toggleContainer(false);}else{C._focus();}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(A,B){if(B&&B._elTextbox&&B.allowBrowserAutocomplete){B._elTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(A){return this.generateRequest(A);};YAHOO.widget.AutoComplete.prototype.getListItems=function(){var C=[],B=this._elList.childNodes;for(var A=B.length-1;A>=0;A--){C[A]=B[A];}return C;};YAHOO.widget.AutoComplete._cloneObject=function(D){if(!YAHOO.lang.isValue(D)){return D;}var F={};if(YAHOO.lang.isFunction(D)){F=D;}else{if(YAHOO.lang.isArray(D)){var E=[];for(var C=0,B=D.length;C + *
  • Navigate with up/down arrow keys and/or mouse to pick a selection
  • + *
  • The drop down container can "roll down" or "fly out" via configurable + * animation
  • + *
  • UI look-and-feel customizable through CSS, including container + * attributes, borders, position, fonts, etc
  • + * + * + * @class AutoComplete + * @constructor + * @param elInput {HTMLElement} DOM element reference of an input field. + * @param elInput {String} String ID of an input field. + * @param elContainer {HTMLElement} DOM element reference of an existing DIV. + * @param elContainer {String} String ID of an existing DIV. + * @param oDataSource {YAHOO.widget.DataSource} DataSource instance. + * @param oConfigs {Object} (optional) Object literal of configuration params. + */ +YAHOO.widget.AutoComplete = function(elInput,elContainer,oDataSource,oConfigs) { + if(elInput && elContainer && oDataSource) { + // Validate DataSource + if(oDataSource && YAHOO.lang.isFunction(oDataSource.sendRequest)) { + this.dataSource = oDataSource; + } + else { + return; + } + + // YAHOO.widget.DataSource schema backwards compatibility + // Converted deprecated schema into supported schema + // First assume key data is held in position 0 of results array + this.key = 0; + var schema = oDataSource.responseSchema; + // An old school schema has been defined in the deprecated DataSource constructor + if(oDataSource._aDeprecatedSchema) { + var aDeprecatedSchema = oDataSource._aDeprecatedSchema; + if(YAHOO.lang.isArray(aDeprecatedSchema)) { + + if((oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_JSON) || + (oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_UNKNOWN)) { // Used to default to unknown + // Store the resultsList + schema.resultsList = aDeprecatedSchema[0]; + // Store the key + this.key = aDeprecatedSchema[1]; + // Only resultsList and key are defined, so grab all the data + schema.fields = (aDeprecatedSchema.length < 3) ? null : aDeprecatedSchema.slice(1); + } + else if(oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_XML) { + schema.resultNode = aDeprecatedSchema[0]; + this.key = aDeprecatedSchema[1]; + schema.fields = aDeprecatedSchema.slice(1); + } + else if(oDataSource.responseType === YAHOO.util.DataSourceBase.TYPE_TEXT) { + schema.recordDelim = aDeprecatedSchema[0]; + schema.fieldDelim = aDeprecatedSchema[1]; + } + oDataSource.responseSchema = schema; + } + } + + // Validate input element + if(YAHOO.util.Dom.inDocument(elInput)) { + if(YAHOO.lang.isString(elInput)) { + this._sName = "instance" + YAHOO.widget.AutoComplete._nIndex + " " + elInput; + this._elTextbox = document.getElementById(elInput); + } + else { + this._sName = (elInput.id) ? + "instance" + YAHOO.widget.AutoComplete._nIndex + " " + elInput.id: + "instance" + YAHOO.widget.AutoComplete._nIndex; + this._elTextbox = elInput; + } + YAHOO.util.Dom.addClass(this._elTextbox, "yui-ac-input"); + } + else { + return; + } + + // Validate container element + if(YAHOO.util.Dom.inDocument(elContainer)) { + if(YAHOO.lang.isString(elContainer)) { + this._elContainer = document.getElementById(elContainer); + } + else { + this._elContainer = elContainer; + } + if(this._elContainer.style.display == "none") { + } + + // For skinning + var elParent = this._elContainer.parentNode; + var elTag = elParent.tagName.toLowerCase(); + if(elTag == "div") { + YAHOO.util.Dom.addClass(elParent, "yui-ac"); + } + else { + } + } + else { + return; + } + + // Default applyLocalFilter setting is to enable for local sources + if(this.dataSource.dataType === YAHOO.util.DataSourceBase.TYPE_LOCAL) { + this.applyLocalFilter = true; + } + + // Set any config params passed in to override defaults + if(oConfigs && (oConfigs.constructor == Object)) { + for(var sConfig in oConfigs) { + if(sConfig) { + this[sConfig] = oConfigs[sConfig]; + } + } + } + + // Initialization sequence + this._initContainerEl(); + this._initProps(); + this._initListEl(); + this._initContainerHelperEls(); + + // Set up events + var oSelf = this; + var elTextbox = this._elTextbox; + + // Dom events + YAHOO.util.Event.addListener(elTextbox,"keyup",oSelf._onTextboxKeyUp,oSelf); + YAHOO.util.Event.addListener(elTextbox,"keydown",oSelf._onTextboxKeyDown,oSelf); + YAHOO.util.Event.addListener(elTextbox,"focus",oSelf._onTextboxFocus,oSelf); + YAHOO.util.Event.addListener(elTextbox,"blur",oSelf._onTextboxBlur,oSelf); + YAHOO.util.Event.addListener(elContainer,"mouseover",oSelf._onContainerMouseover,oSelf); + YAHOO.util.Event.addListener(elContainer,"mouseout",oSelf._onContainerMouseout,oSelf); + YAHOO.util.Event.addListener(elContainer,"click",oSelf._onContainerClick,oSelf); + YAHOO.util.Event.addListener(elContainer,"scroll",oSelf._onContainerScroll,oSelf); + YAHOO.util.Event.addListener(elContainer,"resize",oSelf._onContainerResize,oSelf); + YAHOO.util.Event.addListener(elTextbox,"keypress",oSelf._onTextboxKeyPress,oSelf); + YAHOO.util.Event.addListener(window,"unload",oSelf._onWindowUnload,oSelf); + + // Custom events + this.textboxFocusEvent = new YAHOO.util.CustomEvent("textboxFocus", this); + this.textboxKeyEvent = new YAHOO.util.CustomEvent("textboxKey", this); + this.dataRequestEvent = new YAHOO.util.CustomEvent("dataRequest", this); + this.dataReturnEvent = new YAHOO.util.CustomEvent("dataReturn", this); + this.dataErrorEvent = new YAHOO.util.CustomEvent("dataError", this); + this.containerPopulateEvent = new YAHOO.util.CustomEvent("containerPopulate", this); + this.containerExpandEvent = new YAHOO.util.CustomEvent("containerExpand", this); + this.typeAheadEvent = new YAHOO.util.CustomEvent("typeAhead", this); + this.itemMouseOverEvent = new YAHOO.util.CustomEvent("itemMouseOver", this); + this.itemMouseOutEvent = new YAHOO.util.CustomEvent("itemMouseOut", this); + this.itemArrowToEvent = new YAHOO.util.CustomEvent("itemArrowTo", this); + this.itemArrowFromEvent = new YAHOO.util.CustomEvent("itemArrowFrom", this); + this.itemSelectEvent = new YAHOO.util.CustomEvent("itemSelect", this); + this.unmatchedItemSelectEvent = new YAHOO.util.CustomEvent("unmatchedItemSelect", this); + this.selectionEnforceEvent = new YAHOO.util.CustomEvent("selectionEnforce", this); + this.containerCollapseEvent = new YAHOO.util.CustomEvent("containerCollapse", this); + this.textboxBlurEvent = new YAHOO.util.CustomEvent("textboxBlur", this); + this.textboxChangeEvent = new YAHOO.util.CustomEvent("textboxChange", this); + + // Finish up + elTextbox.setAttribute("autocomplete","off"); + YAHOO.widget.AutoComplete._nIndex++; + } + // Required arguments were not found + else { + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Public member variables +// +///////////////////////////////////////////////////////////////////////////// + +/** + * The DataSource object that encapsulates the data used for auto completion. + * This object should be an inherited object from YAHOO.widget.DataSource. + * + * @property dataSource + * @type YAHOO.widget.DataSource + */ +YAHOO.widget.AutoComplete.prototype.dataSource = null; + +/** + * By default, results from local DataSources will pass through the filterResults + * method to apply a client-side matching algorithm. + * + * @property applyLocalFilter + * @type Boolean + * @default true for local arrays and json, otherwise false + */ +YAHOO.widget.AutoComplete.prototype.applyLocalFilter = null; + +/** + * When applyLocalFilter is true, the local filtering algorthim can have case sensitivity + * enabled. + * + * @property queryMatchCase + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.queryMatchCase = false; + +/** + * When applyLocalFilter is true, results can be locally filtered to return + * matching strings that "contain" the query string rather than simply "start with" + * the query string. + * + * @property queryMatchContains + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.queryMatchContains = false; + +/** + * Enables query subset matching. When the DataSource's cache is enabled and queryMatchSubset is + * true, substrings of queries will return matching cached results. For + * instance, if the first query is for "abc" susequent queries that start with + * "abc", like "abcd", will be queried against the cache, and not the live data + * source. Recommended only for DataSources that return comprehensive results + * for queries with very few characters. + * + * @property queryMatchSubset + * @type Boolean + * @default false + * + */ +YAHOO.widget.AutoComplete.prototype.queryMatchSubset = false; + +/** + * Number of characters that must be entered before querying for results. A negative value + * effectively turns off the widget. A value of 0 allows queries of null or empty string + * values. + * + * @property minQueryLength + * @type Number + * @default 1 + */ +YAHOO.widget.AutoComplete.prototype.minQueryLength = 1; + +/** + * Maximum number of results to display in results container. + * + * @property maxResultsDisplayed + * @type Number + * @default 10 + */ +YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed = 10; + +/** + * Number of seconds to delay before submitting a query request. If a query + * request is received before a previous one has completed its delay, the + * previous request is cancelled and the new request is set to the delay. If + * typeAhead is also enabled, this value must always be less than the typeAheadDelay + * in order to avoid certain race conditions. + * + * @property queryDelay + * @type Number + * @default 0.2 + */ +YAHOO.widget.AutoComplete.prototype.queryDelay = 0.2; + +/** + * If typeAhead is true, number of seconds to delay before updating input with + * typeAhead value. In order to prevent certain race conditions, this value must + * always be greater than the queryDelay. + * + * @property typeAheadDelay + * @type Number + * @default 0.5 + */ +YAHOO.widget.AutoComplete.prototype.typeAheadDelay = 0.5; + +/** + * When IME usage is detected or interval detection is explicitly enabled, + * AutoComplete will detect the input value at the given interval and send a + * query if the value has changed. + * + * @property queryInterval + * @type Number + * @default 500 + */ +YAHOO.widget.AutoComplete.prototype.queryInterval = 500; + +/** + * Class name of a highlighted item within results container. + * + * @property highlightClassName + * @type String + * @default "yui-ac-highlight" + */ +YAHOO.widget.AutoComplete.prototype.highlightClassName = "yui-ac-highlight"; + +/** + * Class name of a pre-highlighted item within results container. + * + * @property prehighlightClassName + * @type String + */ +YAHOO.widget.AutoComplete.prototype.prehighlightClassName = null; + +/** + * Query delimiter. A single character separator for multiple delimited + * selections. Multiple delimiter characteres may be defined as an array of + * strings. A null value or empty string indicates that query results cannot + * be delimited. This feature is not recommended if you need forceSelection to + * be true. + * + * @property delimChar + * @type String | String[] + */ +YAHOO.widget.AutoComplete.prototype.delimChar = null; + +/** + * Whether or not the first item in results container should be automatically highlighted + * on expand. + * + * @property autoHighlight + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.autoHighlight = true; + +/** + * If autohighlight is enabled, whether or not the input field should be automatically updated + * with the first query result as the user types, auto-selecting the substring portion + * of the first result that the user has not yet typed. + * + * @property typeAhead + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.typeAhead = false; + +/** + * Whether or not to animate the expansion/collapse of the results container in the + * horizontal direction. + * + * @property animHoriz + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.animHoriz = false; + +/** + * Whether or not to animate the expansion/collapse of the results container in the + * vertical direction. + * + * @property animVert + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.animVert = true; + +/** + * Speed of container expand/collapse animation, in seconds.. + * + * @property animSpeed + * @type Number + * @default 0.3 + */ +YAHOO.widget.AutoComplete.prototype.animSpeed = 0.3; + +/** + * Whether or not to force the user's selection to match one of the query + * results. Enabling this feature essentially transforms the input field into a + * <select> field. This feature is not recommended with delimiter character(s) + * defined. + * + * @property forceSelection + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.forceSelection = false; + +/** + * Whether or not to allow browsers to cache user-typed input in the input + * field. Disabling this feature will prevent the widget from setting the + * autocomplete="off" on the input field. When autocomplete="off" + * and users click the back button after form submission, user-typed input can + * be prefilled by the browser from its cache. This caching of user input may + * not be desired for sensitive data, such as credit card numbers, in which + * case, implementers should consider setting allowBrowserAutocomplete to false. + * + * @property allowBrowserAutocomplete + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete = true; + +/** + * Enabling this feature prevents the toggling of the container to a collapsed state. + * Setting to true does not automatically trigger the opening of the container. + * Implementers are advised to pre-load the container with an explicit "sendQuery()" call. + * + * @property alwaysShowContainer + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.alwaysShowContainer = false; + +/** + * Whether or not to use an iFrame to layer over Windows form elements in + * IE. Set to true only when the results container will be on top of a + * <select> field in IE and thus exposed to the IE z-index bug (i.e., + * 5.5 < IE < 7). + * + * @property useIFrame + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.useIFrame = false; + +/** + * Whether or not the results container should have a shadow. + * + * @property useShadow + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.useShadow = false; + +/** + * Whether or not the input field should be updated with selections. + * + * @property suppressInputUpdate + * @type Boolean + * @default false + */ +YAHOO.widget.AutoComplete.prototype.suppressInputUpdate = false; + +/** + * For backward compatibility to pre-2.6.0 formatResults() signatures, setting + * resultsTypeList to true will take each object literal result returned by + * DataSource and flatten into an array. + * + * @property resultTypeList + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.resultTypeList = true; + +/** + * For XHR DataSources, AutoComplete will automatically insert a "?" between the server URI and + * the "query" param/value pair. To prevent this behavior, implementers should + * set this value to false. To more fully customize the query syntax, implementers + * should override the generateRequest() method. + * + * @property queryQuestionMark + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.queryQuestionMark = true; + +/** + * If true, before each time the container expands, the container element will be + * positioned to snap to the bottom-left corner of the input element. If + * autoSnapContainer is set to false, this positioning will not be done. + * + * @property autoSnapContainer + * @type Boolean + * @default true + */ +YAHOO.widget.AutoComplete.prototype.autoSnapContainer = true; + +///////////////////////////////////////////////////////////////////////////// +// +// Public methods +// +///////////////////////////////////////////////////////////////////////////// + + /** + * Public accessor to the unique name of the AutoComplete instance. + * + * @method toString + * @return {String} Unique name of the AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.toString = function() { + return "AutoComplete " + this._sName; +}; + + /** + * Returns DOM reference to input element. + * + * @method getInputEl + * @return {HTMLELement} DOM reference to input element. + */ +YAHOO.widget.AutoComplete.prototype.getInputEl = function() { + return this._elTextbox; +}; + + /** + * Returns DOM reference to container element. + * + * @method getContainerEl + * @return {HTMLELement} DOM reference to container element. + */ +YAHOO.widget.AutoComplete.prototype.getContainerEl = function() { + return this._elContainer; +}; + + /** + * Returns true if widget instance is currently active. + * + * @method isFocused + * @return {Boolean} Returns true if widget instance is currently active. + */ +YAHOO.widget.AutoComplete.prototype.isFocused = function() { + return this._bFocused; +}; + + /** + * Returns true if container is in an expanded state, false otherwise. + * + * @method isContainerOpen + * @return {Boolean} Returns true if container is in an expanded state, false otherwise. + */ +YAHOO.widget.AutoComplete.prototype.isContainerOpen = function() { + return this._bContainerOpen; +}; + +/** + * Public accessor to the <ul> element that displays query results within the results container. + * + * @method getListEl + * @return {HTMLElement[]} Reference to <ul> element within the results container. + */ +YAHOO.widget.AutoComplete.prototype.getListEl = function() { + return this._elList; +}; + +/** + * Public accessor to the matching string associated with a given <li> result. + * + * @method getListItemMatch + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {String} Matching string. + */ +YAHOO.widget.AutoComplete.prototype.getListItemMatch = function(elListItem) { + if(elListItem._sResultMatch) { + return elListItem._sResultMatch; + } + else { + return null; + } +}; + +/** + * Public accessor to the result data associated with a given <li> result. + * + * @method getListItemData + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {Object} Result data. + */ +YAHOO.widget.AutoComplete.prototype.getListItemData = function(elListItem) { + if(elListItem._oResultData) { + return elListItem._oResultData; + } + else { + return null; + } +}; + +/** + * Public accessor to the index of the associated with a given <li> result. + * + * @method getListItemIndex + * @param elListItem {HTMLElement} Reference to <LI> element. + * @return {Number} Index. + */ +YAHOO.widget.AutoComplete.prototype.getListItemIndex = function(elListItem) { + if(YAHOO.lang.isNumber(elListItem._nItemIndex)) { + return elListItem._nItemIndex; + } + else { + return null; + } +}; + +/** + * Sets HTML markup for the results container header. This markup will be + * inserted within a <div> tag with a class of "yui-ac-hd". + * + * @method setHeader + * @param sHeader {String} HTML markup for results container header. + */ +YAHOO.widget.AutoComplete.prototype.setHeader = function(sHeader) { + if(this._elHeader) { + var elHeader = this._elHeader; + if(sHeader) { + elHeader.innerHTML = sHeader; + elHeader.style.display = ""; + } + else { + elHeader.innerHTML = ""; + elHeader.style.display = "none"; + } + } +}; + +/** + * Sets HTML markup for the results container footer. This markup will be + * inserted within a <div> tag with a class of "yui-ac-ft". + * + * @method setFooter + * @param sFooter {String} HTML markup for results container footer. + */ +YAHOO.widget.AutoComplete.prototype.setFooter = function(sFooter) { + if(this._elFooter) { + var elFooter = this._elFooter; + if(sFooter) { + elFooter.innerHTML = sFooter; + elFooter.style.display = ""; + } + else { + elFooter.innerHTML = ""; + elFooter.style.display = "none"; + } + } +}; + +/** + * Sets HTML markup for the results container body. This markup will be + * inserted within a <div> tag with a class of "yui-ac-bd". + * + * @method setBody + * @param sBody {String} HTML markup for results container body. + */ +YAHOO.widget.AutoComplete.prototype.setBody = function(sBody) { + if(this._elBody) { + var elBody = this._elBody; + YAHOO.util.Event.purgeElement(elBody, true); + if(sBody) { + elBody.innerHTML = sBody; + elBody.style.display = ""; + } + else { + elBody.innerHTML = ""; + elBody.style.display = "none"; + } + this._elList = null; + } +}; + +/** +* A function that converts an AutoComplete query into a request value which is then +* passed to the DataSource's sendRequest method in order to retrieve data for +* the query. By default, returns a String with the syntax: "query={query}" +* Implementers can customize this method for custom request syntaxes. +* +* @method generateRequest +* @param sQuery {String} Query string +* @return {MIXED} Request +*/ +YAHOO.widget.AutoComplete.prototype.generateRequest = function(sQuery) { + var dataType = this.dataSource.dataType; + + // Transform query string in to a request for remote data + // By default, local data doesn't need a transformation, just passes along the query as is. + if(dataType === YAHOO.util.DataSourceBase.TYPE_XHR) { + // By default, XHR GET requests look like "{scriptURI}?{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + if(!this.dataSource.connMethodPost) { + sQuery = (this.queryQuestionMark ? "?" : "") + (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + // By default, XHR POST bodies are sent to the {scriptURI} like "{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + else { + sQuery = (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + } + // By default, remote script node requests look like "{scriptURI}&{scriptCallbackParam}={callbackString}&{scriptQueryParam}={sQuery}&{scriptQueryAppend}" + else if(dataType === YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE) { + sQuery = "&" + (this.dataSource.scriptQueryParam || "query") + "=" + sQuery + + (this.dataSource.scriptQueryAppend ? ("&" + this.dataSource.scriptQueryAppend) : ""); + } + + return sQuery; +}; + +/** + * Makes query request to the DataSource. + * + * @method sendQuery + * @param sQuery {String} Query string. + */ +YAHOO.widget.AutoComplete.prototype.sendQuery = function(sQuery) { + // Activate focus for a new interaction + this._bFocused = true; + + // Adjust programatically sent queries to look like they were input by user + // when delimiters are enabled + var newQuery = (this.delimChar) ? this._elTextbox.value + sQuery : sQuery; + this._sendQuery(newQuery); +}; + +/** + * Snaps container to bottom-left corner of input element + * + * @method snapContainer + */ +YAHOO.widget.AutoComplete.prototype.snapContainer = function() { + var oTextbox = this._elTextbox, + pos = YAHOO.util.Dom.getXY(oTextbox); + pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight + 2; + YAHOO.util.Dom.setXY(this._elContainer,pos); +}; + +/** + * Expands container. + * + * @method expandContainer + */ +YAHOO.widget.AutoComplete.prototype.expandContainer = function() { + this._toggleContainer(true); +}; + +/** + * Collapses container. + * + * @method collapseContainer + */ +YAHOO.widget.AutoComplete.prototype.collapseContainer = function() { + this._toggleContainer(false); +}; + +/** + * Clears entire list of suggestions. + * + * @method clearList + */ +YAHOO.widget.AutoComplete.prototype.clearList = function() { + var allItems = this._elList.childNodes, + i=allItems.length-1; + for(; i>-1; i--) { + allItems[i].style.display = "none"; + } +}; + +/** + * Handles subset matching for when queryMatchSubset is enabled. + * + * @method getSubsetMatches + * @param sQuery {String} Query string. + * @return {Object} oParsedResponse or null. + */ +YAHOO.widget.AutoComplete.prototype.getSubsetMatches = function(sQuery) { + var subQuery, oCachedResponse, subRequest; + // Loop through substrings of each cached element's query property... + for(var i = sQuery.length; i >= this.minQueryLength ; i--) { + subRequest = this.generateRequest(sQuery.substr(0,i)); + this.dataRequestEvent.fire(this, subQuery, subRequest); + + // If a substring of the query is found in the cache + oCachedResponse = this.dataSource.getCachedResponse(subRequest); + if(oCachedResponse) { + return this.filterResults.apply(this.dataSource, [sQuery, oCachedResponse, oCachedResponse, {scope:this}]); + } + } + return null; +}; + +/** + * Executed by DataSource (within DataSource scope via doBeforeParseData()) to + * handle responseStripAfter cleanup. + * + * @method preparseRawResponse + * @param sQuery {String} Query string. + * @return {Object} oParsedResponse or null. + */ +YAHOO.widget.AutoComplete.prototype.preparseRawResponse = function(oRequest, oFullResponse, oCallback) { + var nEnd = ((this.responseStripAfter !== "") && (oFullResponse.indexOf)) ? + oFullResponse.indexOf(this.responseStripAfter) : -1; + if(nEnd != -1) { + oFullResponse = oFullResponse.substring(0,nEnd); + } + return oFullResponse; +}; + +/** + * Executed by DataSource (within DataSource scope via doBeforeCallback()) to + * filter results through a simple client-side matching algorithm. + * + * @method filterResults + * @param sQuery {String} Original request. + * @param oFullResponse {Object} Full response object. + * @param oParsedResponse {Object} Parsed response object. + * @param oCallback {Object} Callback object. + * @return {Object} Filtered response object. + */ + +YAHOO.widget.AutoComplete.prototype.filterResults = function(sQuery, oFullResponse, oParsedResponse, oCallback) { + // If AC has passed a query string value back to itself, grab it + if(oCallback && oCallback.argument && oCallback.argument.query) { + sQuery = oCallback.argument.query; + } + + // Only if a query string is available to match against + if(sQuery && sQuery !== "") { + // First make a copy of the oParseResponse + oParsedResponse = YAHOO.widget.AutoComplete._cloneObject(oParsedResponse); + + var oAC = oCallback.scope, + oDS = this, + allResults = oParsedResponse.results, // the array of results + filteredResults = [], // container for filtered results, + nMax = oAC.maxResultsDisplayed, // max to find + bMatchCase = (oDS.queryMatchCase || oAC.queryMatchCase), // backward compat + bMatchContains = (oDS.queryMatchContains || oAC.queryMatchContains); // backward compat + + // Loop through each result object... + for(var i=0, len=allResults.length; i -1))) { + // Stash the match + filteredResults.push(oResult); + } + } + + // Filter no more if maxResultsDisplayed is reached + if(len>nMax && filteredResults.length===nMax) { + break; + } + } + oParsedResponse.results = filteredResults; + } + else { + } + + return oParsedResponse; +}; + +/** + * Handles response for display. This is the callback function method passed to + * YAHOO.util.DataSourceBase#sendRequest so results from the DataSource are + * returned to the AutoComplete instance. + * + * @method handleResponse + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + */ +YAHOO.widget.AutoComplete.prototype.handleResponse = function(sQuery, oResponse, oPayload) { + if((this instanceof YAHOO.widget.AutoComplete) && this._sName) { + this._populateList(sQuery, oResponse, oPayload); + } +}; + +/** + * Overridable method called before container is loaded with result data. + * + * @method doBeforeLoadData + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + * @return {Boolean} Return true to continue loading data, false to cancel. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeLoadData = function(sQuery, oResponse, oPayload) { + return true; +}; + +/** + * Overridable method that returns HTML markup for one result to be populated + * as innerHTML of an <LI> element. + * + * @method formatResult + * @param oResultData {Object} Result data object. + * @param sQuery {String} The corresponding query string. + * @param sResultMatch {HTMLElement} The current query string. + * @return {String} HTML markup of formatted result data. + */ +YAHOO.widget.AutoComplete.prototype.formatResult = function(oResultData, sQuery, sResultMatch) { + var sMarkup = (sResultMatch) ? sResultMatch : ""; + return sMarkup; +}; + +/** + * Overridable method called before container expands allows implementers to access data + * and DOM elements. + * + * @method doBeforeExpandContainer + * @param elTextbox {HTMLElement} The text input box. + * @param elContainer {HTMLElement} The container element. + * @param sQuery {String} The query string. + * @param aResults {Object[]} An array of query results. + * @return {Boolean} Return true to continue expanding container, false to cancel the expand. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer = function(elTextbox, elContainer, sQuery, aResults) { + return true; +}; + + +/** + * Nulls out the entire AutoComplete instance and related objects, removes attached + * event listeners, and clears out DOM elements inside the container. After + * calling this method, the instance reference should be expliclitly nulled by + * implementer, as in myAutoComplete = null. Use with caution! + * + * @method destroy + */ +YAHOO.widget.AutoComplete.prototype.destroy = function() { + var instanceName = this.toString(); + var elInput = this._elTextbox; + var elContainer = this._elContainer; + + // Unhook custom events + this.textboxFocusEvent.unsubscribeAll(); + this.textboxKeyEvent.unsubscribeAll(); + this.dataRequestEvent.unsubscribeAll(); + this.dataReturnEvent.unsubscribeAll(); + this.dataErrorEvent.unsubscribeAll(); + this.containerPopulateEvent.unsubscribeAll(); + this.containerExpandEvent.unsubscribeAll(); + this.typeAheadEvent.unsubscribeAll(); + this.itemMouseOverEvent.unsubscribeAll(); + this.itemMouseOutEvent.unsubscribeAll(); + this.itemArrowToEvent.unsubscribeAll(); + this.itemArrowFromEvent.unsubscribeAll(); + this.itemSelectEvent.unsubscribeAll(); + this.unmatchedItemSelectEvent.unsubscribeAll(); + this.selectionEnforceEvent.unsubscribeAll(); + this.containerCollapseEvent.unsubscribeAll(); + this.textboxBlurEvent.unsubscribeAll(); + this.textboxChangeEvent.unsubscribeAll(); + + // Unhook DOM events + YAHOO.util.Event.purgeElement(elInput, true); + YAHOO.util.Event.purgeElement(elContainer, true); + + // Remove DOM elements + elContainer.innerHTML = ""; + + // Null out objects + for(var key in this) { + if(YAHOO.lang.hasOwnProperty(this, key)) { + this[key] = null; + } + } + +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Public events +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Fired when the input field receives focus. + * + * @event textboxFocusEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxFocusEvent = null; + +/** + * Fired when the input field receives key input. + * + * @event textboxKeyEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param nKeycode {Number} The keycode number. + */ +YAHOO.widget.AutoComplete.prototype.textboxKeyEvent = null; + +/** + * Fired when the AutoComplete instance makes a request to the DataSource. + * + * @event dataRequestEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param oRequest {Object} The request. + */ +YAHOO.widget.AutoComplete.prototype.dataRequestEvent = null; + +/** + * Fired when the AutoComplete instance receives query results from the data + * source. + * + * @event dataReturnEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param aResults {Object[]} Results array. + */ +YAHOO.widget.AutoComplete.prototype.dataReturnEvent = null; + +/** + * Fired when the AutoComplete instance does not receive query results from the + * DataSource due to an error. + * + * @event dataErrorEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param oResponse {Object} The response object, if available. + */ +YAHOO.widget.AutoComplete.prototype.dataErrorEvent = null; + +/** + * Fired when the results container is populated. + * + * @event containerPopulateEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerPopulateEvent = null; + +/** + * Fired when the results container is expanded. + * + * @event containerExpandEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerExpandEvent = null; + +/** + * Fired when the input field has been prefilled by the type-ahead + * feature. + * + * @event typeAheadEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sQuery {String} The query string. + * @param sPrefill {String} The prefill string. + */ +YAHOO.widget.AutoComplete.prototype.typeAheadEvent = null; + +/** + * Fired when result item has been moused over. + * + * @event itemMouseOverEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item moused to. + */ +YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent = null; + +/** + * Fired when result item has been moused out. + * + * @event itemMouseOutEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item moused from. + */ +YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent = null; + +/** + * Fired when result item has been arrowed to. + * + * @event itemArrowToEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item arrowed to. + */ +YAHOO.widget.AutoComplete.prototype.itemArrowToEvent = null; + +/** + * Fired when result item has been arrowed away from. + * + * @event itemArrowFromEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The <li> element item arrowed from. + */ +YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent = null; + +/** + * Fired when an item is selected via mouse click, ENTER key, or TAB key. + * + * @event itemSelectEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param elItem {HTMLElement} The selected <li> element item. + * @param oData {Object} The data returned for the item, either as an object, + * or mapped from the schema into an array. + */ +YAHOO.widget.AutoComplete.prototype.itemSelectEvent = null; + +/** + * Fired when a user selection does not match any of the displayed result items. + * + * @event unmatchedItemSelectEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sSelection {String} The selected string. + */ +YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent = null; + +/** + * Fired if forceSelection is enabled and the user's input has been cleared + * because it did not match one of the returned query results. + * + * @event selectionEnforceEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @param sClearedValue {String} The cleared value (including delimiters if applicable). + */ +YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent = null; + +/** + * Fired when the results container is collapsed. + * + * @event containerCollapseEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.containerCollapseEvent = null; + +/** + * Fired when the input field loses focus. + * + * @event textboxBlurEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxBlurEvent = null; + +/** + * Fired when the input field value has changed when it loses focus. + * + * @event textboxChangeEvent + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + */ +YAHOO.widget.AutoComplete.prototype.textboxChangeEvent = null; + +///////////////////////////////////////////////////////////////////////////// +// +// Private member variables +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Internal class variable to index multiple AutoComplete instances. + * + * @property _nIndex + * @type Number + * @default 0 + * @private + */ +YAHOO.widget.AutoComplete._nIndex = 0; + +/** + * Name of AutoComplete instance. + * + * @property _sName + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sName = null; + +/** + * Text input field DOM element. + * + * @property _elTextbox + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elTextbox = null; + +/** + * Container DOM element. + * + * @property _elContainer + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elContainer = null; + +/** + * Reference to content element within container element. + * + * @property _elContent + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elContent = null; + +/** + * Reference to header element within content element. + * + * @property _elHeader + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elHeader = null; + +/** + * Reference to body element within content element. + * + * @property _elBody + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elBody = null; + +/** + * Reference to footer element within content element. + * + * @property _elFooter + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elFooter = null; + +/** + * Reference to shadow element within container element. + * + * @property _elShadow + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elShadow = null; + +/** + * Reference to iframe element within container element. + * + * @property _elIFrame + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elIFrame = null; + +/** + * Whether or not the widget instance is currently active. If query results come back + * but the user has already moved on, do not proceed with auto complete behavior. + * + * @property _bFocused + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bFocused = false; + +/** + * Animation instance for container expand/collapse. + * + * @property _oAnim + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._oAnim = null; + +/** + * Whether or not the results container is currently open. + * + * @property _bContainerOpen + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bContainerOpen = false; + +/** + * Whether or not the mouse is currently over the results + * container. This is necessary in order to prevent clicks on container items + * from being text input field blur events. + * + * @property _bOverContainer + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bOverContainer = false; + +/** + * Internal reference to <ul> elements that contains query results within the + * results container. + * + * @property _elList + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elList = null; + +/* + * Array of <li> elements references that contain query results within the + * results container. + * + * @property _aListItemEls + * @type HTMLElement[] + * @private + */ +//YAHOO.widget.AutoComplete.prototype._aListItemEls = null; + +/** + * Number of <li> elements currently displayed in results container. + * + * @property _nDisplayedItems + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nDisplayedItems = 0; + +/* + * Internal count of <li> elements displayed and hidden in results container. + * + * @property _maxResultsDisplayed + * @type Number + * @private + */ +//YAHOO.widget.AutoComplete.prototype._maxResultsDisplayed = 0; + +/** + * Current query string + * + * @property _sCurQuery + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sCurQuery = null; + +/** + * Selections from previous queries (for saving delimited queries). + * + * @property _sPastSelections + * @type String + * @default "" + * @private + */ +YAHOO.widget.AutoComplete.prototype._sPastSelections = ""; + +/** + * Stores initial input value used to determine if textboxChangeEvent should be fired. + * + * @property _sInitInputValue + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sInitInputValue = null; + +/** + * Pointer to the currently highlighted <li> element in the container. + * + * @property _elCurListItem + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elCurListItem = null; + +/** + * Pointer to the currently pre-highlighted <li> element in the container. + * + * @property _elCurPrehighlightItem + * @type HTMLElement + * @private + */ +YAHOO.widget.AutoComplete.prototype._elCurPrehighlightItem = null; + +/** + * Whether or not an item has been selected since the container was populated + * with results. Reset to false by _populateList, and set to true when item is + * selected. + * + * @property _bItemSelected + * @type Boolean + * @private + */ +YAHOO.widget.AutoComplete.prototype._bItemSelected = false; + +/** + * Key code of the last key pressed in textbox. + * + * @property _nKeyCode + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nKeyCode = null; + +/** + * Delay timeout ID. + * + * @property _nDelayID + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nDelayID = -1; + +/** + * TypeAhead delay timeout ID. + * + * @property _nTypeAheadDelayID + * @type Number + * @private + */ +YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID = -1; + +/** + * Src to iFrame used when useIFrame = true. Supports implementations over SSL + * as well. + * + * @property _iFrameSrc + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._iFrameSrc = "javascript:false;"; + +/** + * For users typing via certain IMEs, queries must be triggered by intervals, + * since key events yet supported across all browsers for all IMEs. + * + * @property _queryInterval + * @type Object + * @private + */ +YAHOO.widget.AutoComplete.prototype._queryInterval = null; + +/** + * Internal tracker to last known textbox value, used to determine whether or not + * to trigger a query via interval for certain IME users. + * + * @event _sLastTextboxValue + * @type String + * @private + */ +YAHOO.widget.AutoComplete.prototype._sLastTextboxValue = null; + +///////////////////////////////////////////////////////////////////////////// +// +// Private methods +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Updates and validates latest public config properties. + * + * @method __initProps + * @private + */ +YAHOO.widget.AutoComplete.prototype._initProps = function() { + // Correct any invalid values + var minQueryLength = this.minQueryLength; + if(!YAHOO.lang.isNumber(minQueryLength)) { + this.minQueryLength = 1; + } + var maxResultsDisplayed = this.maxResultsDisplayed; + if(!YAHOO.lang.isNumber(maxResultsDisplayed) || (maxResultsDisplayed < 1)) { + this.maxResultsDisplayed = 10; + } + var queryDelay = this.queryDelay; + if(!YAHOO.lang.isNumber(queryDelay) || (queryDelay < 0)) { + this.queryDelay = 0.2; + } + var typeAheadDelay = this.typeAheadDelay; + if(!YAHOO.lang.isNumber(typeAheadDelay) || (typeAheadDelay < 0)) { + this.typeAheadDelay = 0.2; + } + var delimChar = this.delimChar; + if(YAHOO.lang.isString(delimChar) && (delimChar.length > 0)) { + this.delimChar = [delimChar]; + } + else if(!YAHOO.lang.isArray(delimChar)) { + this.delimChar = null; + } + var animSpeed = this.animSpeed; + if((this.animHoriz || this.animVert) && YAHOO.util.Anim) { + if(!YAHOO.lang.isNumber(animSpeed) || (animSpeed < 0)) { + this.animSpeed = 0.3; + } + if(!this._oAnim ) { + this._oAnim = new YAHOO.util.Anim(this._elContent, {}, this.animSpeed); + } + else { + this._oAnim.duration = this.animSpeed; + } + } + if(this.forceSelection && delimChar) { + } +}; + +/** + * Initializes the results container helpers if they are enabled and do + * not exist + * + * @method _initContainerHelperEls + * @private + */ +YAHOO.widget.AutoComplete.prototype._initContainerHelperEls = function() { + if(this.useShadow && !this._elShadow) { + var elShadow = document.createElement("div"); + elShadow.className = "yui-ac-shadow"; + elShadow.style.width = 0; + elShadow.style.height = 0; + this._elShadow = this._elContainer.appendChild(elShadow); + } + if(this.useIFrame && !this._elIFrame) { + var elIFrame = document.createElement("iframe"); + elIFrame.src = this._iFrameSrc; + elIFrame.frameBorder = 0; + elIFrame.scrolling = "no"; + elIFrame.style.position = "absolute"; + elIFrame.style.width = 0; + elIFrame.style.height = 0; + elIFrame.style.padding = 0; + elIFrame.tabIndex = -1; + elIFrame.role = "presentation"; + elIFrame.title = "Presentational iframe shim"; + this._elIFrame = this._elContainer.appendChild(elIFrame); + } +}; + +/** + * Initializes the results container once at object creation + * + * @method _initContainerEl + * @private + */ +YAHOO.widget.AutoComplete.prototype._initContainerEl = function() { + YAHOO.util.Dom.addClass(this._elContainer, "yui-ac-container"); + + if(!this._elContent) { + // The elContent div is assigned DOM listeners and + // helps size the iframe and shadow properly + var elContent = document.createElement("div"); + elContent.className = "yui-ac-content"; + elContent.style.display = "none"; + + this._elContent = this._elContainer.appendChild(elContent); + + var elHeader = document.createElement("div"); + elHeader.className = "yui-ac-hd"; + elHeader.style.display = "none"; + this._elHeader = this._elContent.appendChild(elHeader); + + var elBody = document.createElement("div"); + elBody.className = "yui-ac-bd"; + this._elBody = this._elContent.appendChild(elBody); + + var elFooter = document.createElement("div"); + elFooter.className = "yui-ac-ft"; + elFooter.style.display = "none"; + this._elFooter = this._elContent.appendChild(elFooter); + } + else { + } +}; + +/** + * Clears out contents of container body and creates up to + * YAHOO.widget.AutoComplete#maxResultsDisplayed <li> elements in an + * <ul> element. + * + * @method _initListEl + * @private + */ +YAHOO.widget.AutoComplete.prototype._initListEl = function() { + var nListLength = this.maxResultsDisplayed, + elList = this._elList || document.createElement("ul"), + elListItem; + + while(elList.childNodes.length < nListLength) { + elListItem = document.createElement("li"); + elListItem.style.display = "none"; + elListItem._nItemIndex = elList.childNodes.length; + elList.appendChild(elListItem); + } + if(!this._elList) { + var elBody = this._elBody; + YAHOO.util.Event.purgeElement(elBody, true); + elBody.innerHTML = ""; + this._elList = elBody.appendChild(elList); + } + + this._elBody.style.display = ""; +}; + +/** + * Focuses input field. + * + * @method _focus + * @private + */ +YAHOO.widget.AutoComplete.prototype._focus = function() { + // http://developer.mozilla.org/en/docs/index.php?title=Key-navigable_custom_DHTML_widgets + var oSelf = this; + setTimeout(function() { + try { + oSelf._elTextbox.focus(); + } + catch(e) { + } + },0); +}; + +/** + * Enables interval detection for IME support. + * + * @method _enableIntervalDetection + * @private + */ +YAHOO.widget.AutoComplete.prototype._enableIntervalDetection = function() { + var oSelf = this; + if(!oSelf._queryInterval && oSelf.queryInterval) { + oSelf._queryInterval = setInterval(function() { oSelf._onInterval(); }, oSelf.queryInterval); + } +}; + +/** + * Enables interval detection for a less performant but brute force mechanism to + * detect input values at an interval set by queryInterval and send queries if + * input value has changed. Needed to support right-click+paste or shift+insert + * edge cases. Please note that intervals are cleared at the end of each interaction, + * so enableIntervalDetection must be called for each new interaction. The + * recommended approach is to call it in response to textboxFocusEvent. + * + * @method enableIntervalDetection + */ +YAHOO.widget.AutoComplete.prototype.enableIntervalDetection = + YAHOO.widget.AutoComplete.prototype._enableIntervalDetection; + +/** + * Enables query triggers based on text input detection by intervals (rather + * than by key events). + * + * @method _onInterval + * @private + */ +YAHOO.widget.AutoComplete.prototype._onInterval = function() { + var currValue = this._elTextbox.value; + var lastValue = this._sLastTextboxValue; + if(currValue != lastValue) { + this._sLastTextboxValue = currValue; + this._sendQuery(currValue); + } +}; + +/** + * Cancels text input detection by intervals. + * + * @method _clearInterval + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._clearInterval = function() { + if(this._queryInterval) { + clearInterval(this._queryInterval); + this._queryInterval = null; + } +}; + +/** + * Whether or not key is functional or should be ignored. Note that the right + * arrow key is NOT an ignored key since it triggers queries for certain intl + * charsets. + * + * @method _isIgnoreKey + * @param nKeycode {Number} Code of key pressed. + * @return {Boolean} True if key should be ignored, false otherwise. + * @private + */ +YAHOO.widget.AutoComplete.prototype._isIgnoreKey = function(nKeyCode) { + if((nKeyCode == 9) || (nKeyCode == 13) || // tab, enter + (nKeyCode == 16) || (nKeyCode == 17) || // shift, ctl + (nKeyCode >= 18 && nKeyCode <= 20) || // alt, pause/break,caps lock + (nKeyCode == 27) || // esc + (nKeyCode >= 33 && nKeyCode <= 35) || // page up,page down,end + /*(nKeyCode >= 36 && nKeyCode <= 38) || // home,left,up + (nKeyCode == 40) || // down*/ + (nKeyCode >= 36 && nKeyCode <= 40) || // home,left,up, right, down + (nKeyCode >= 44 && nKeyCode <= 45) || // print screen,insert + (nKeyCode == 229) // Bug 2041973: Korean XP fires 2 keyup events, the key and 229 + ) { + return true; + } + return false; +}; + +/** + * Makes query request to the DataSource. + * + * @method _sendQuery + * @param sQuery {String} Query string. + * @private + */ +YAHOO.widget.AutoComplete.prototype._sendQuery = function(sQuery) { + // Widget has been effectively turned off + if(this.minQueryLength < 0) { + this._toggleContainer(false); + return; + } + // Delimiter has been enabled + if(this.delimChar) { + var extraction = this._extractQuery(sQuery); + // Here is the query itself + sQuery = extraction.query; + // ...and save the rest of the string for later + this._sPastSelections = extraction.previous; + } + + // Don't search queries that are too short + if((sQuery && (sQuery.length < this.minQueryLength)) || (!sQuery && this.minQueryLength > 0)) { + if(this._nDelayID != -1) { + clearTimeout(this._nDelayID); + } + this._toggleContainer(false); + return; + } + + sQuery = encodeURIComponent(sQuery); + this._nDelayID = -1; // Reset timeout ID because request is being made + + // Subset matching + if(this.dataSource.queryMatchSubset || this.queryMatchSubset) { // backward compat + var oResponse = this.getSubsetMatches(sQuery); + if(oResponse) { + this.handleResponse(sQuery, oResponse, {query: sQuery}); + return; + } + } + + if(this.dataSource.responseStripAfter) { + this.dataSource.doBeforeParseData = this.preparseRawResponse; + } + if(this.applyLocalFilter) { + this.dataSource.doBeforeCallback = this.filterResults; + } + + var sRequest = this.generateRequest(sQuery); + this.dataRequestEvent.fire(this, sQuery, sRequest); + + this.dataSource.sendRequest(sRequest, { + success : this.handleResponse, + failure : this.handleResponse, + scope : this, + argument: { + query: sQuery + } + }); +}; + +/** + * Populates the given <li> element with return value from formatResult(). + * + * @method _populateListItem + * @param elListItem {HTMLElement} The LI element. + * @param oResult {Object} The result object. + * @param sCurQuery {String} The query string. + * @private + */ +YAHOO.widget.AutoComplete.prototype._populateListItem = function(elListItem, oResult, sQuery) { + elListItem.innerHTML = this.formatResult(oResult, sQuery, elListItem._sResultMatch); +}; + +/** + * Populates the array of <li> elements in the container with query + * results. + * + * @method _populateList + * @param sQuery {String} Original request. + * @param oResponse {Object} Response object. + * @param oPayload {MIXED} (optional) Additional argument(s) + * @private + */ +YAHOO.widget.AutoComplete.prototype._populateList = function(sQuery, oResponse, oPayload) { + // Clear previous timeout + if(this._nTypeAheadDelayID != -1) { + clearTimeout(this._nTypeAheadDelayID); + } + + sQuery = (oPayload && oPayload.query) ? oPayload.query : sQuery; + + // Pass data through abstract method for any transformations + var ok = this.doBeforeLoadData(sQuery, oResponse, oPayload); + + // Data is ok + if(ok && !oResponse.error) { + this.dataReturnEvent.fire(this, sQuery, oResponse.results); + + // Continue only if instance is still active (i.e., user hasn't already moved on) + if(this._bFocused) { + // Store state for this interaction + var sCurQuery = decodeURIComponent(sQuery); + this._sCurQuery = sCurQuery; + this._bItemSelected = false; + + var allResults = oResponse.results, + nItemsToShow = Math.min(allResults.length,this.maxResultsDisplayed), + sMatchKey = (this.dataSource.responseSchema.fields) ? + (this.dataSource.responseSchema.fields[0].key || this.dataSource.responseSchema.fields[0]) : 0; + + if(nItemsToShow > 0) { + // Make sure container and helpers are ready to go + if(!this._elList || (this._elList.childNodes.length < nItemsToShow)) { + this._initListEl(); + } + this._initContainerHelperEls(); + + var allListItemEls = this._elList.childNodes; + // Fill items with data from the bottom up + for(var i = nItemsToShow-1; i >= 0; i--) { + var elListItem = allListItemEls[i], + oResult = allResults[i]; + + // Backward compatibility + if(this.resultTypeList) { + // Results need to be converted back to an array + var aResult = []; + // Match key is first + aResult[0] = (YAHOO.lang.isString(oResult)) ? oResult : oResult[sMatchKey] || oResult[this.key]; + // Add additional data to the result array + var fields = this.dataSource.responseSchema.fields; + if(YAHOO.lang.isArray(fields) && (fields.length > 1)) { + for(var k=1, len=fields.length; k= nItemsToShow; j--) { + extraListItem = allListItemEls[j]; + extraListItem.style.display = "none"; + } + } + + this._nDisplayedItems = nItemsToShow; + + this.containerPopulateEvent.fire(this, sQuery, allResults); + + // Highlight the first item + if(this.autoHighlight) { + var elFirstListItem = this._elList.firstChild; + this._toggleHighlight(elFirstListItem,"to"); + this.itemArrowToEvent.fire(this, elFirstListItem); + this._typeAhead(elFirstListItem,sQuery); + } + // Unhighlight any previous time + else { + this._toggleHighlight(this._elCurListItem,"from"); + } + + // Pre-expansion stuff + ok = this._doBeforeExpandContainer(this._elTextbox, this._elContainer, sQuery, allResults); + + // Expand the container + this._toggleContainer(ok); + } + else { + this._toggleContainer(false); + } + + return; + } + } + // Error + else { + this.dataErrorEvent.fire(this, sQuery, oResponse); + } + +}; + +/** + * Called before container expands, by default snaps container to the + * bottom-left corner of the input element, then calls public overrideable method. + * + * @method _doBeforeExpandContainer + * @param elTextbox {HTMLElement} The text input box. + * @param elContainer {HTMLElement} The container element. + * @param sQuery {String} The query string. + * @param aResults {Object[]} An array of query results. + * @return {Boolean} Return true to continue expanding container, false to cancel the expand. + * @private + */ +YAHOO.widget.AutoComplete.prototype._doBeforeExpandContainer = function(elTextbox, elContainer, sQuery, aResults) { + if(this.autoSnapContainer) { + this.snapContainer(); + } + + return this.doBeforeExpandContainer(elTextbox, elContainer, sQuery, aResults); +}; + +/** + * When forceSelection is true and the user attempts + * leave the text input box without selecting an item from the query results, + * the user selection is cleared. + * + * @method _clearSelection + * @private + */ +YAHOO.widget.AutoComplete.prototype._clearSelection = function() { + var extraction = (this.delimChar) ? this._extractQuery(this._elTextbox.value) : + {previous:"",query:this._elTextbox.value}; + this._elTextbox.value = extraction.previous; + this.selectionEnforceEvent.fire(this, extraction.query); +}; + +/** + * Whether or not user-typed value in the text input box matches any of the + * query results. + * + * @method _textMatchesOption + * @return {HTMLElement} Matching list item element if user-input text matches + * a result, null otherwise. + * @private + */ +YAHOO.widget.AutoComplete.prototype._textMatchesOption = function() { + var elMatch = null; + + for(var i=0; i= 0; i--) { + nNewIndex = sQuery.lastIndexOf(aDelimChar[i]); + if(nNewIndex > nDelimIndex) { + nDelimIndex = nNewIndex; + } + } + // If we think the last delimiter is a space (" "), make sure it is NOT + // a false positive by also checking the char directly before it + if(aDelimChar[i] == " ") { + for (var j = aDelimChar.length-1; j >= 0; j--) { + if(sQuery[nDelimIndex - 1] == aDelimChar[j]) { + nDelimIndex--; + break; + } + } + } + // A delimiter has been found in the query so extract the latest query from past selections + if(nDelimIndex > -1) { + nQueryStart = nDelimIndex + 1; + // Trim any white space from the beginning... + while(sQuery.charAt(nQueryStart) == " ") { + nQueryStart += 1; + } + // ...and save the rest of the string for later + sPrevious = sQuery.substring(0,nQueryStart); + // Here is the query itself + sQuery = sQuery.substr(nQueryStart); + } + // No delimiter found in the query, so there are no selections from past queries + else { + sPrevious = ""; + } + + return { + previous: sPrevious, + query: sQuery + }; +}; + +/** + * Syncs results container with its helpers. + * + * @method _toggleContainerHelpers + * @param bShow {Boolean} True if container is expanded, false if collapsed + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers = function(bShow) { + var width = this._elContent.offsetWidth + "px"; + var height = this._elContent.offsetHeight + "px"; + + if(this.useIFrame && this._elIFrame) { + var elIFrame = this._elIFrame; + if(bShow) { + elIFrame.style.width = width; + elIFrame.style.height = height; + elIFrame.style.padding = ""; + } + else { + elIFrame.style.width = 0; + elIFrame.style.height = 0; + elIFrame.style.padding = 0; + } + } + if(this.useShadow && this._elShadow) { + var elShadow = this._elShadow; + if(bShow) { + elShadow.style.width = width; + elShadow.style.height = height; + } + else { + elShadow.style.width = 0; + elShadow.style.height = 0; + } + } +}; + +/** + * Animates expansion or collapse of the container. + * + * @method _toggleContainer + * @param bShow {Boolean} True if container should be expanded, false if container should be collapsed + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleContainer = function(bShow) { + + var elContainer = this._elContainer; + + // If implementer has container always open and it's already open, don't mess with it + // Container is initialized with display "none" so it may need to be shown first time through + if(this.alwaysShowContainer && this._bContainerOpen) { + return; + } + + // Reset states + if(!bShow) { + this._toggleHighlight(this._elCurListItem,"from"); + this._nDisplayedItems = 0; + this._sCurQuery = null; + + // Container is already closed, so don't bother with changing the UI + if(this._elContent.style.display == "none") { + return; + } + } + + // If animation is enabled... + var oAnim = this._oAnim; + if(oAnim && oAnim.getEl() && (this.animHoriz || this.animVert)) { + if(oAnim.isAnimated()) { + oAnim.stop(true); + } + + // Clone container to grab current size offscreen + var oClone = this._elContent.cloneNode(true); + elContainer.appendChild(oClone); + oClone.style.top = "-9000px"; + oClone.style.width = ""; + oClone.style.height = ""; + oClone.style.display = ""; + + // Current size of the container is the EXPANDED size + var wExp = oClone.offsetWidth; + var hExp = oClone.offsetHeight; + + // Calculate COLLAPSED sizes based on horiz and vert anim + var wColl = (this.animHoriz) ? 0 : wExp; + var hColl = (this.animVert) ? 0 : hExp; + + // Set animation sizes + oAnim.attributes = (bShow) ? + {width: { to: wExp }, height: { to: hExp }} : + {width: { to: wColl}, height: { to: hColl }}; + + // If opening anew, set to a collapsed size... + if(bShow && !this._bContainerOpen) { + this._elContent.style.width = wColl+"px"; + this._elContent.style.height = hColl+"px"; + } + // Else, set it to its last known size. + else { + this._elContent.style.width = wExp+"px"; + this._elContent.style.height = hExp+"px"; + } + + elContainer.removeChild(oClone); + oClone = null; + + var oSelf = this; + var onAnimComplete = function() { + // Finish the collapse + oAnim.onComplete.unsubscribeAll(); + + if(bShow) { + oSelf._toggleContainerHelpers(true); + oSelf._bContainerOpen = bShow; + oSelf.containerExpandEvent.fire(oSelf); + } + else { + oSelf._elContent.style.display = "none"; + oSelf._bContainerOpen = bShow; + oSelf.containerCollapseEvent.fire(oSelf); + } + }; + + // Display container and animate it + this._toggleContainerHelpers(false); // Bug 1424486: Be early to hide, late to show; + this._elContent.style.display = ""; + oAnim.onComplete.subscribe(onAnimComplete); + oAnim.animate(); + } + // Else don't animate, just show or hide + else { + if(bShow) { + this._elContent.style.display = ""; + this._toggleContainerHelpers(true); + this._bContainerOpen = bShow; + this.containerExpandEvent.fire(this); + } + else { + this._toggleContainerHelpers(false); + this._elContent.style.display = "none"; + this._bContainerOpen = bShow; + this.containerCollapseEvent.fire(this); + } + } + +}; + +/** + * Toggles the highlight on or off for an item in the container, and also cleans + * up highlighting of any previous item. + * + * @method _toggleHighlight + * @param elNewListItem {HTMLElement} The <li> element item to receive highlight behavior. + * @param sType {String} Type "mouseover" will toggle highlight on, and "mouseout" will toggle highlight off. + * @private + */ +YAHOO.widget.AutoComplete.prototype._toggleHighlight = function(elNewListItem, sType) { + if(elNewListItem) { + var sHighlight = this.highlightClassName; + if(this._elCurListItem) { + // Remove highlight from old item + YAHOO.util.Dom.removeClass(this._elCurListItem, sHighlight); + this._elCurListItem = null; + } + + if((sType == "to") && sHighlight) { + // Apply highlight to new item + YAHOO.util.Dom.addClass(elNewListItem, sHighlight); + this._elCurListItem = elNewListItem; + } + } +}; + +/** + * Toggles the pre-highlight on or off for an item in the container, and also cleans + * up pre-highlighting of any previous item. + * + * @method _togglePrehighlight + * @param elNewListItem {HTMLElement} The <li> element item to receive highlight behavior. + * @param sType {String} Type "mouseover" will toggle highlight on, and "mouseout" will toggle highlight off. + * @private + */ +YAHOO.widget.AutoComplete.prototype._togglePrehighlight = function(elNewListItem, sType) { + var sPrehighlight = this.prehighlightClassName; + + if(this._elCurPrehighlightItem) { + YAHOO.util.Dom.removeClass(this._elCurPrehighlightItem, sPrehighlight); + } + if(elNewListItem == this._elCurListItem) { + return; + } + + if((sType == "mouseover") && sPrehighlight) { + // Apply prehighlight to new item + YAHOO.util.Dom.addClass(elNewListItem, sPrehighlight); + this._elCurPrehighlightItem = elNewListItem; + } + else { + // Remove prehighlight from old item + YAHOO.util.Dom.removeClass(elNewListItem, sPrehighlight); + } +}; + +/** + * Updates the text input box value with selected query result. If a delimiter + * has been defined, then the value gets appended with the delimiter. + * + * @method _updateValue + * @param elListItem {HTMLElement} The <li> element item with which to update the value. + * @private + */ +YAHOO.widget.AutoComplete.prototype._updateValue = function(elListItem) { + if(!this.suppressInputUpdate) { + var elTextbox = this._elTextbox; + var sDelimChar = (this.delimChar) ? (this.delimChar[0] || this.delimChar) : null; + var sResultMatch = elListItem._sResultMatch; + + // Calculate the new value + var sNewValue = ""; + if(sDelimChar) { + // Preserve selections from past queries + sNewValue = this._sPastSelections; + // Add new selection plus delimiter + sNewValue += sResultMatch + sDelimChar; + if(sDelimChar != " ") { + sNewValue += " "; + } + } + else { + sNewValue = sResultMatch; + } + + // Update input field + elTextbox.value = sNewValue; + + // Scroll to bottom of textarea if necessary + if(elTextbox.type == "textarea") { + elTextbox.scrollTop = elTextbox.scrollHeight; + } + + // Move cursor to end + var end = elTextbox.value.length; + this._selectText(elTextbox,end,end); + + this._elCurListItem = elListItem; + } +}; + +/** + * Selects a result item from the container + * + * @method _selectItem + * @param elListItem {HTMLElement} The selected <li> element item. + * @private + */ +YAHOO.widget.AutoComplete.prototype._selectItem = function(elListItem) { + this._bItemSelected = true; + this._updateValue(elListItem); + this._sPastSelections = this._elTextbox.value; + this._clearInterval(); + this.itemSelectEvent.fire(this, elListItem, elListItem._oResultData); + this._toggleContainer(false); +}; + +/** + * If an item is highlighted in the container, the right arrow key jumps to the + * end of the textbox and selects the highlighted item, otherwise the container + * is closed. + * + * @method _jumpSelection + * @private + */ +YAHOO.widget.AutoComplete.prototype._jumpSelection = function() { + if(this._elCurListItem) { + this._selectItem(this._elCurListItem); + } + else { + this._toggleContainer(false); + } +}; + +/** + * Triggered by up and down arrow keys, changes the current highlighted + * <li> element item. Scrolls container if necessary. + * + * @method _moveSelection + * @param nKeyCode {Number} Code of key pressed. + * @private + */ +YAHOO.widget.AutoComplete.prototype._moveSelection = function(nKeyCode) { + if(this._bContainerOpen) { + // Determine current item's id number + var elCurListItem = this._elCurListItem, + nCurItemIndex = -1; + + if(elCurListItem) { + nCurItemIndex = elCurListItem._nItemIndex; + } + + var nNewItemIndex = (nKeyCode == 40) ? + (nCurItemIndex + 1) : (nCurItemIndex - 1); + + // Out of bounds + if(nNewItemIndex < -2 || nNewItemIndex >= this._nDisplayedItems) { + return; + } + + if(elCurListItem) { + // Unhighlight current item + this._toggleHighlight(elCurListItem, "from"); + this.itemArrowFromEvent.fire(this, elCurListItem); + } + if(nNewItemIndex == -1) { + // Go back to query (remove type-ahead string) + if(this.delimChar) { + this._elTextbox.value = this._sPastSelections + this._sCurQuery; + } + else { + this._elTextbox.value = this._sCurQuery; + } + return; + } + if(nNewItemIndex == -2) { + // Close container + this._toggleContainer(false); + return; + } + + var elNewListItem = this._elList.childNodes[nNewItemIndex], + + // Scroll the container if necessary + elContent = this._elContent, + sOF = YAHOO.util.Dom.getStyle(elContent,"overflow"), + sOFY = YAHOO.util.Dom.getStyle(elContent,"overflowY"), + scrollOn = ((sOF == "auto") || (sOF == "scroll") || (sOFY == "auto") || (sOFY == "scroll")); + if(scrollOn && (nNewItemIndex > -1) && + (nNewItemIndex < this._nDisplayedItems)) { + // User is keying down + if(nKeyCode == 40) { + // Bottom of selected item is below scroll area... + if((elNewListItem.offsetTop+elNewListItem.offsetHeight) > (elContent.scrollTop + elContent.offsetHeight)) { + // Set bottom of scroll area to bottom of selected item + elContent.scrollTop = (elNewListItem.offsetTop+elNewListItem.offsetHeight) - elContent.offsetHeight; + } + // Bottom of selected item is above scroll area... + else if((elNewListItem.offsetTop+elNewListItem.offsetHeight) < elContent.scrollTop) { + // Set top of selected item to top of scroll area + elContent.scrollTop = elNewListItem.offsetTop; + + } + } + // User is keying up + else { + // Top of selected item is above scroll area + if(elNewListItem.offsetTop < elContent.scrollTop) { + // Set top of scroll area to top of selected item + this._elContent.scrollTop = elNewListItem.offsetTop; + } + // Top of selected item is below scroll area + else if(elNewListItem.offsetTop > (elContent.scrollTop + elContent.offsetHeight)) { + // Set bottom of selected item to bottom of scroll area + this._elContent.scrollTop = (elNewListItem.offsetTop+elNewListItem.offsetHeight) - elContent.offsetHeight; + } + } + } + + this._toggleHighlight(elNewListItem, "to"); + this.itemArrowToEvent.fire(this, elNewListItem); + if(this.typeAhead) { + this._updateValue(elNewListItem); + } + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Private event handlers +// +///////////////////////////////////////////////////////////////////////////// + +/** + * Handles container mouseover events. + * + * @method _onContainerMouseover + * @param v {HTMLEvent} The mouseover event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerMouseover = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + if(oSelf.prehighlightClassName) { + oSelf._togglePrehighlight(elTarget,"mouseover"); + } + else { + oSelf._toggleHighlight(elTarget,"to"); + } + + oSelf.itemMouseOverEvent.fire(oSelf, elTarget); + break; + case "div": + if(YAHOO.util.Dom.hasClass(elTarget,"yui-ac-container")) { + oSelf._bOverContainer = true; + return; + } + break; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + +/** + * Handles container mouseout events. + * + * @method _onContainerMouseout + * @param v {HTMLEvent} The mouseout event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerMouseout = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + if(oSelf.prehighlightClassName) { + oSelf._togglePrehighlight(elTarget,"mouseout"); + } + else { + oSelf._toggleHighlight(elTarget,"from"); + } + + oSelf.itemMouseOutEvent.fire(oSelf, elTarget); + break; + case "ul": + oSelf._toggleHighlight(oSelf._elCurListItem,"to"); + break; + case "div": + if(YAHOO.util.Dom.hasClass(elTarget,"yui-ac-container")) { + oSelf._bOverContainer = false; + return; + } + break; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + +/** + * Handles container click events. + * + * @method _onContainerClick + * @param v {HTMLEvent} The click event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerClick = function(v,oSelf) { + var elTarget = YAHOO.util.Event.getTarget(v); + var elTag = elTarget.nodeName.toLowerCase(); + while(elTarget && (elTag != "table")) { + switch(elTag) { + case "body": + return; + case "li": + // In case item has not been moused over + oSelf._toggleHighlight(elTarget,"to"); + oSelf._selectItem(elTarget); + return; + default: + break; + } + + elTarget = elTarget.parentNode; + if(elTarget) { + elTag = elTarget.nodeName.toLowerCase(); + } + } +}; + + +/** + * Handles container scroll events. + * + * @method _onContainerScroll + * @param v {HTMLEvent} The scroll event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerScroll = function(v,oSelf) { + oSelf._focus(); +}; + +/** + * Handles container resize events. + * + * @method _onContainerResize + * @param v {HTMLEvent} The resize event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onContainerResize = function(v,oSelf) { + oSelf._toggleContainerHelpers(oSelf._bContainerOpen); +}; + + +/** + * Handles textbox keydown events of functional keys, mainly for UI behavior. + * + * @method _onTextboxKeyDown + * @param v {HTMLEvent} The keydown event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown = function(v,oSelf) { + var nKeyCode = v.keyCode; + + // Clear timeout + if(oSelf._nTypeAheadDelayID != -1) { + clearTimeout(oSelf._nTypeAheadDelayID); + } + + switch (nKeyCode) { + case 9: // tab + if(!YAHOO.env.ua.opera && (navigator.userAgent.toLowerCase().indexOf("mac") == -1) || (YAHOO.env.ua.webkit>420)) { + // select an item or clear out + if(oSelf._elCurListItem) { + if(oSelf.delimChar && (oSelf._nKeyCode != nKeyCode)) { + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + } + } + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 13: // enter + if(!YAHOO.env.ua.opera && (navigator.userAgent.toLowerCase().indexOf("mac") == -1) || (YAHOO.env.ua.webkit>420)) { + if(oSelf._elCurListItem) { + if(oSelf._nKeyCode != nKeyCode) { + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + } + } + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 27: // esc + oSelf._toggleContainer(false); + return; + case 39: // right + oSelf._jumpSelection(); + break; + case 38: // up + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + oSelf._moveSelection(nKeyCode); + } + break; + case 40: // down + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + oSelf._moveSelection(nKeyCode); + } + break; + default: + oSelf._bItemSelected = false; + oSelf._toggleHighlight(oSelf._elCurListItem, "from"); + + oSelf.textboxKeyEvent.fire(oSelf, nKeyCode); + break; + } + + if(nKeyCode === 18){ + oSelf._enableIntervalDetection(); + } + oSelf._nKeyCode = nKeyCode; +}; + +/** + * Handles textbox keypress events. + * @method _onTextboxKeyPress + * @param v {HTMLEvent} The keypress event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress = function(v,oSelf) { + var nKeyCode = v.keyCode; + + // Expose only to non SF3 (bug 1978549) Mac browsers (bug 790337) and Opera browsers (bug 583531), + // where stopEvent is ineffective on keydown events + if(YAHOO.env.ua.opera || (navigator.userAgent.toLowerCase().indexOf("mac") != -1) && (YAHOO.env.ua.webkit < 420)) { + switch (nKeyCode) { + case 9: // tab + // select an item or clear out + if(oSelf._bContainerOpen) { + if(oSelf.delimChar) { + YAHOO.util.Event.stopEvent(v); + } + if(oSelf._elCurListItem) { + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + case 13: // enter + if(oSelf._bContainerOpen) { + YAHOO.util.Event.stopEvent(v); + if(oSelf._elCurListItem) { + oSelf._selectItem(oSelf._elCurListItem); + } + else { + oSelf._toggleContainer(false); + } + } + break; + default: + break; + } + } + + //TODO: (?) limit only to non-IE, non-Mac-FF for Korean IME support (bug 811948) + // Korean IME detected + else if(nKeyCode == 229) { + oSelf._enableIntervalDetection(); + } +}; + +/** + * Handles textbox keyup events to trigger queries. + * + * @method _onTextboxKeyUp + * @param v {HTMLEvent} The keyup event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp = function(v,oSelf) { + var sText = this.value; //string in textbox + + // Check to see if any of the public properties have been updated + oSelf._initProps(); + + // Filter out chars that don't trigger queries + var nKeyCode = v.keyCode; + if(oSelf._isIgnoreKey(nKeyCode)) { + return; + } + + // Clear previous timeout + if(oSelf._nDelayID != -1) { + clearTimeout(oSelf._nDelayID); + } + + // Set new timeout + oSelf._nDelayID = setTimeout(function(){ + oSelf._sendQuery(sText); + },(oSelf.queryDelay * 1000)); +}; + +/** + * Handles text input box receiving focus. + * + * @method _onTextboxFocus + * @param v {HTMLEvent} The focus event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxFocus = function (v,oSelf) { + // Start of a new interaction + if(!oSelf._bFocused) { + oSelf._elTextbox.setAttribute("autocomplete","off"); + oSelf._bFocused = true; + oSelf._sInitInputValue = oSelf._elTextbox.value; + oSelf.textboxFocusEvent.fire(oSelf); + } +}; + +/** + * Handles text input box losing focus. + * + * @method _onTextboxBlur + * @param v {HTMLEvent} The focus event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onTextboxBlur = function (v,oSelf) { + // Is a true blur + if(!oSelf._bOverContainer || (oSelf._nKeyCode == 9)) { + // Current query needs to be validated as a selection + if(!oSelf._bItemSelected) { + var elMatchListItem = oSelf._textMatchesOption(); + // Container is closed or current query doesn't match any result + if(!oSelf._bContainerOpen || (oSelf._bContainerOpen && (elMatchListItem === null))) { + // Force selection is enabled so clear the current query + if(oSelf.forceSelection) { + oSelf._clearSelection(); + } + // Treat current query as a valid selection + else { + oSelf.unmatchedItemSelectEvent.fire(oSelf, oSelf._sCurQuery); + } + } + // Container is open and current query matches a result + else { + // Force a selection when textbox is blurred with a match + if(oSelf.forceSelection) { + oSelf._selectItem(elMatchListItem); + } + } + } + + oSelf._clearInterval(); + oSelf._bFocused = false; + if(oSelf._sInitInputValue !== oSelf._elTextbox.value) { + oSelf.textboxChangeEvent.fire(oSelf); + } + oSelf.textboxBlurEvent.fire(oSelf); + + oSelf._toggleContainer(false); + } + // Not a true blur if it was a selection via mouse click + else { + oSelf._focus(); + } +}; + +/** + * Handles window unload event. + * + * @method _onWindowUnload + * @param v {HTMLEvent} The unload event. + * @param oSelf {YAHOO.widget.AutoComplete} The AutoComplete instance. + * @private + */ +YAHOO.widget.AutoComplete.prototype._onWindowUnload = function(v,oSelf) { + if(oSelf && oSelf._elTextbox && oSelf.allowBrowserAutocomplete) { + oSelf._elTextbox.setAttribute("autocomplete","on"); + } +}; + +///////////////////////////////////////////////////////////////////////////// +// +// Deprecated for Backwards Compatibility +// +///////////////////////////////////////////////////////////////////////////// +/** + * @method doBeforeSendQuery + * @deprecated Use generateRequest. + */ +YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery = function(sQuery) { + return this.generateRequest(sQuery); +}; + +/** + * @method getListItems + * @deprecated Use getListEl().childNodes. + */ +YAHOO.widget.AutoComplete.prototype.getListItems = function() { + var allListItemEls = [], + els = this._elList.childNodes; + for(var i=els.length-1; i>=0; i--) { + allListItemEls[i] = els[i]; + } + return allListItemEls; +}; + +///////////////////////////////////////////////////////////////////////// +// +// Private static methods +// +///////////////////////////////////////////////////////////////////////// + +/** + * Clones object literal or array of object literals. + * + * @method AutoComplete._cloneObject + * @param o {Object} Object. + * @private + * @static + */ +YAHOO.widget.AutoComplete._cloneObject = function(o) { + if(!YAHOO.lang.isValue(o)) { + return o; + } + + var copy = {}; + + if(YAHOO.lang.isFunction(o)) { + copy = o; + } + else if(YAHOO.lang.isArray(o)) { + var array = []; + for(var i=0,len=o.length;iC#5QQ<|d}62BjvZR2H60wE-$(3-AeXt*@{D|Np;u@pDC#5QQ<|d}62BjvZR2H60wE-$(3-AeX1=9cj|6h7@{#_u8sU*lR z_&>wb?FL>zp1h}vV@SoVq=W_rH;IGN~-|K;%i-0c73 z@c-iO|KRQa-|hd~QeFE1003M`L_t(|+U&?l5`sVg1i`WZK}Epr|6dhmytLs92=mel z9uoULP6;mwyM%qhIpHzkHQ|(SNO(*5TD8?y@wq9xG<+26t_AN^`$=39HtEMPCOjwP e%l`;(0R{kdKn;SADLBOd00006$Gh9E#3p9{H-P6S}q~camLV^=3&tj%#_Xa_x2_Xl57U&w-9pX85Q9;Im dv4Me^VIeE)+1pK9I)PdkJYD@<);T3K0RYcxInw|D diff --git a/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow-focus.png b/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow-focus.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_Tx)0S05bpo|DSu#^)isf zToU9L{Qp10^;5h+0~ypkT^vIyZY3ooII;39W@>hC5M-JVa^Poyu7TYlo?{mkWE>b9 b7?>Frva+7N-L$0>sD;7P)z4*}Q$iB}D9ShR diff --git a/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow-hover.png b/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_Tx)0S05bpo|DSu#^)isf zToU9L{Qp10^;5h+0~ypkT^vIyZY3ooII;39W@>hC5M-JVa^Poyu7TYlo?{mkWE>b9 b7?>Frva+7N-L$0>sD;7P)z4*}Q$iB}D9ShR diff --git a/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow.png b/pylons_app/public/js/yui/button/assets/skins/sam/split-button-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b33a93ff2dc2039bd24e4ea3b75ecf4bb3295f84 GIT binary patch literal 185 zc%17D@N?(olHy`uVBq!ia0vp^0zhoU!3-pmJXhxdDVB6cUq=RpYd5a=M;HP5k|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5XI0Jk_TpJo1fXx5@|JyBHuocK+ zE(!7r{{Nrh`YB$Zfeh-NE{-7;w~`VPoLG4lGc~(62r^9wIqgTe~DWM4f1sXSq diff --git a/pylons_app/public/js/yui/button/button-debug.js b/pylons_app/public/js/yui/button/button-debug.js new file mode 100644 --- /dev/null +++ b/pylons_app/public/js/yui/button/button-debug.js @@ -0,0 +1,4694 @@ +/* +Copyright (c) 2009, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt +version: 2.8.0r4 +*/ +/** +* @module button +* @description

    The Button Control enables the creation of rich, graphical +* buttons that function like traditional HTML form buttons. Unlike +* traditional HTML form buttons, buttons created with the Button Control can have +* a label that is different from its value. With the inclusion of the optional +* Menu Control, the Button Control can also be +* used to create menu buttons and split buttons, controls that are not +* available natively in HTML. The Button Control can also be thought of as a +* way to create more visually engaging implementations of the browser's +* default radio-button and check-box controls.

    +*

    The Button Control supports the following types:

    +*
    +*
    push
    +*
    Basic push button that can execute a user-specified command when +* pressed.
    +*
    link
    +*
    Navigates to a specified url when pressed.
    +*
    submit
    +*
    Submits the parent form when pressed.
    +*
    reset
    +*
    Resets the parent form when pressed.
    +*
    checkbox
    +*
    Maintains a "checked" state that can be toggled on and off.
    +*
    radio
    +*
    Maintains a "checked" state that can be toggled on and off. Use with +* the ButtonGroup class to create a set of controls that are mutually +* exclusive; checking one button in the set will uncheck all others in +* the group.
    +*
    menu
    +*
    When pressed will show/hide a menu.
    +*
    split
    +*
    Can execute a user-specified command or display a menu when pressed.
    +*
    +* @title Button +* @namespace YAHOO.widget +* @requires yahoo, dom, element, event +* @optional container, menu +*/ + + +(function () { + + + /** + * The Button class creates a rich, graphical button. + * @param {String} p_oElement String specifying the id attribute of the + * <input>, <button>, + * <a>, or <span> element to + * be used to create the button. + * @param {HTMLInputElement| + * HTMLButtonElement|HTMLElement} p_oElement Object reference for the + * <input>, <button>, + * <a>, or <span> element to be + * used to create the button. + * @param {Object} p_oElement Object literal specifying a set of + * configuration attributes used to create the button. + * @param {Object} p_oAttributes Optional. Object literal specifying a set + * of configuration attributes used to create the button. + * @namespace YAHOO.widget + * @class Button + * @constructor + * @extends YAHOO.util.Element + */ + + + + // Shorthard for utilities + + var Dom = YAHOO.util.Dom, + Event = YAHOO.util.Event, + Lang = YAHOO.lang, + UA = YAHOO.env.ua, + Overlay = YAHOO.widget.Overlay, + Menu = YAHOO.widget.Menu, + + + // Private member variables + + m_oButtons = {}, // Collection of all Button instances + m_oOverlayManager = null, // YAHOO.widget.OverlayManager instance + m_oSubmitTrigger = null, // The button that submitted the form + m_oFocusedButton = null; // The button that has focus + + + + // Private methods + + + + /** + * @method createInputElement + * @description Creates an <input> element of the + * specified type. + * @private + * @param {String} p_sType String specifying the type of + * <input> element to create. + * @param {String} p_sName String specifying the name of + * <input> element to create. + * @param {String} p_sValue String specifying the value of + * <input> element to create. + * @param {String} p_bChecked Boolean specifying if the + * <input> element is to be checked. + * @return {HTMLInputElement} + */ + function createInputElement(p_sType, p_sName, p_sValue, p_bChecked) { + + var oInput, + sInput; + + if (Lang.isString(p_sType) && Lang.isString(p_sName)) { + + if (UA.ie) { + + /* + For IE it is necessary to create the element with the + "type," "name," "value," and "checked" properties set all + at once. + */ + + sInput = "<input> or <a>) that + * map to Button configuration attributes and sets them into a collection + * that is passed to the Button constructor. + * @private + * @param {HTMLInputElement|HTMLAnchorElement} p_oElement Object reference to the HTML + * element (either <input> or <span> + * ) used to create the button. + * @param {Object} p_oAttributes Object reference for the collection of + * configuration attributes used to create the button. + */ + function setAttributesFromSrcElement(p_oElement, p_oAttributes) { + + var sSrcElementNodeName = p_oElement.nodeName.toUpperCase(), + sClass = (this.CLASS_NAME_PREFIX + this.CSS_CLASS_NAME), + me = this, + oAttribute, + oRootNode, + sText; + + + /** + * @method setAttributeFromDOMAttribute + * @description Gets the value of the specified DOM attribute and sets it + * into the collection of configuration attributes used to configure + * the button. + * @private + * @param {String} p_sAttribute String representing the name of the + * attribute to retrieve from the DOM element. + */ + function setAttributeFromDOMAttribute(p_sAttribute) { + + if (!(p_sAttribute in p_oAttributes)) { + + /* + Need to use "getAttributeNode" instead of "getAttribute" + because using "getAttribute," IE will return the innerText + of a <button> for the value attribute + rather than the value of the "value" attribute. + */ + + oAttribute = p_oElement.getAttributeNode(p_sAttribute); + + + if (oAttribute && ("value" in oAttribute)) { + + YAHOO.log("Setting attribute \"" + p_sAttribute + + "\" using source element's attribute value of \"" + + oAttribute.value + "\"", "info", me.toString()); + + p_oAttributes[p_sAttribute] = oAttribute.value; + + } + + } + + } + + + /** + * @method setFormElementProperties + * @description Gets the value of the attributes from the form element + * and sets them into the collection of configuration attributes used to + * configure the button. + * @private + */ + function setFormElementProperties() { + + setAttributeFromDOMAttribute("type"); + + if (p_oAttributes.type == "button") { + + p_oAttributes.type = "push"; + + } + + if (!("disabled" in p_oAttributes)) { + + p_oAttributes.disabled = p_oElement.disabled; + + } + + setAttributeFromDOMAttribute("name"); + setAttributeFromDOMAttribute("value"); + setAttributeFromDOMAttribute("title"); + + } + + + switch (sSrcElementNodeName) { + + case "A": + + p_oAttributes.type = "link"; + + setAttributeFromDOMAttribute("href"); + setAttributeFromDOMAttribute("target"); + + break; + + case "INPUT": + + setFormElementProperties(); + + if (!("checked" in p_oAttributes)) { + + p_oAttributes.checked = p_oElement.checked; + + } + + break; + + case "BUTTON": + + setFormElementProperties(); + + oRootNode = p_oElement.parentNode.parentNode; + + if (Dom.hasClass(oRootNode, sClass + "-checked")) { + + p_oAttributes.checked = true; + + } + + if (Dom.hasClass(oRootNode, sClass + "-disabled")) { + + p_oAttributes.disabled = true; + + } + + p_oElement.removeAttribute("value"); + + p_oElement.setAttribute("type", "button"); + + break; + + } + + p_oElement.removeAttribute("id"); + p_oElement.removeAttribute("name"); + + if (!("tabindex" in p_oAttributes)) { + + p_oAttributes.tabindex = p_oElement.tabIndex; + + } + + if (!("label" in p_oAttributes)) { + + // Set the "label" property + + sText = sSrcElementNodeName == "INPUT" ? + p_oElement.value : p_oElement.innerHTML; + + + if (sText && sText.length > 0) { + + p_oAttributes.label = sText; + + } + + } + + } + + + /** + * @method initConfig + * @description Initializes the set of configuration attributes that are + * used to instantiate the button. + * @private + * @param {Object} Object representing the button's set of + * configuration attributes. + */ + function initConfig(p_oConfig) { + + var oAttributes = p_oConfig.attributes, + oSrcElement = oAttributes.srcelement, + sSrcElementNodeName = oSrcElement.nodeName.toUpperCase(), + me = this; + + + if (sSrcElementNodeName == this.NODE_NAME) { + + p_oConfig.element = oSrcElement; + p_oConfig.id = oSrcElement.id; + + Dom.getElementsBy(function (p_oElement) { + + switch (p_oElement.nodeName.toUpperCase()) { + + case "BUTTON": + case "A": + case "INPUT": + + setAttributesFromSrcElement.call(me, p_oElement, + oAttributes); + + break; + + } + + }, "*", oSrcElement); + + } + else { + + switch (sSrcElementNodeName) { + + case "BUTTON": + case "A": + case "INPUT": + + setAttributesFromSrcElement.call(this, oSrcElement, + oAttributes); + + break; + + } + + } + + } + + + + // Constructor + + YAHOO.widget.Button = function (p_oElement, p_oAttributes) { + + if (!Overlay && YAHOO.widget.Overlay) { + + Overlay = YAHOO.widget.Overlay; + + } + + + if (!Menu && YAHOO.widget.Menu) { + + Menu = YAHOO.widget.Menu; + + } + + + var fnSuperClass = YAHOO.widget.Button.superclass.constructor, + oConfig, + oElement; + + + if (arguments.length == 1 && !Lang.isString(p_oElement) && !p_oElement.nodeName) { + + if (!p_oElement.id) { + + p_oElement.id = Dom.generateId(); + + YAHOO.log("No value specified for the button's \"id\" " + + "attribute. Setting button id to \"" + p_oElement.id + + "\".", "info", this.toString()); + + } + + YAHOO.log("No source HTML element. Building the button " + + "using the set of configuration attributes.", "info", this.toString()); + + fnSuperClass.call(this, (this.createButtonElement(p_oElement.type)), p_oElement); + + } + else { + + oConfig = { element: null, attributes: (p_oAttributes || {}) }; + + + if (Lang.isString(p_oElement)) { + + oElement = Dom.get(p_oElement); + + if (oElement) { + + if (!oConfig.attributes.id) { + + oConfig.attributes.id = p_oElement; + + } + + YAHOO.log("Building the button using an existing " + + "HTML element as a source element.", "info", this.toString()); + + + oConfig.attributes.srcelement = oElement; + + initConfig.call(this, oConfig); + + + if (!oConfig.element) { + + YAHOO.log("Source element could not be used " + + "as is. Creating a new HTML element for " + + "the button.", "info", this.toString()); + + oConfig.element = this.createButtonElement(oConfig.attributes.type); + + } + + fnSuperClass.call(this, oConfig.element, oConfig.attributes); + + } + + } + else if (p_oElement.nodeName) { + + if (!oConfig.attributes.id) { + + if (p_oElement.id) { + + oConfig.attributes.id = p_oElement.id; + + } + else { + + oConfig.attributes.id = Dom.generateId(); + + YAHOO.log("No value specified for the button's " + + "\"id\" attribute. Setting button id to \"" + + oConfig.attributes.id + "\".", "info", this.toString()); + + } + + } + + YAHOO.log("Building the button using an existing HTML " + + "element as a source element.", "info", this.toString()); + + + oConfig.attributes.srcelement = p_oElement; + + initConfig.call(this, oConfig); + + + if (!oConfig.element) { + + YAHOO.log("Source element could not be used as is." + + " Creating a new HTML element for the button.", + "info", this.toString()); + + oConfig.element = this.createButtonElement(oConfig.attributes.type); + + } + + fnSuperClass.call(this, oConfig.element, oConfig.attributes); + + } + + } + + }; + + + + YAHOO.extend(YAHOO.widget.Button, YAHOO.util.Element, { + + + // Protected properties + + + /** + * @property _button + * @description Object reference to the button's internal + * <a> or <button> element. + * @default null + * @protected + * @type HTMLAnchorElement|HTMLButtonElement + */ + _button: null, + + + /** + * @property _menu + * @description Object reference to the button's menu. + * @default null + * @protected + * @type {YAHOO.widget.Overlay| + * YAHOO.widget.Menu} + */ + _menu: null, + + + /** + * @property _hiddenFields + * @description Object reference to the <input> + * element, or array of HTML form elements used to represent the button + * when its parent form is submitted. + * @default null + * @protected + * @type HTMLInputElement|Array + */ + _hiddenFields: null, + + + /** + * @property _onclickAttributeValue + * @description Object reference to the button's current value for the + * "onclick" configuration attribute. + * @default null + * @protected + * @type Object + */ + _onclickAttributeValue: null, + + + /** + * @property _activationKeyPressed + * @description Boolean indicating if the key(s) that toggle the button's + * "active" state have been pressed. + * @default false + * @protected + * @type Boolean + */ + _activationKeyPressed: false, + + + /** + * @property _activationButtonPressed + * @description Boolean indicating if the mouse button that toggles + * the button's "active" state has been pressed. + * @default false + * @protected + * @type Boolean + */ + _activationButtonPressed: false, + + + /** + * @property _hasKeyEventHandlers + * @description Boolean indicating if the button's "blur", "keydown" and + * "keyup" event handlers are assigned + * @default false + * @protected + * @type Boolean + */ + _hasKeyEventHandlers: false, + + + /** + * @property _hasMouseEventHandlers + * @description Boolean indicating if the button's "mouseout," + * "mousedown," and "mouseup" event handlers are assigned + * @default false + * @protected + * @type Boolean + */ + _hasMouseEventHandlers: false, + + + /** + * @property _nOptionRegionX + * @description Number representing the X coordinate of the leftmost edge of the Button's + * option region. Applies only to Buttons of type "split". + * @default 0 + * @protected + * @type Number + */ + _nOptionRegionX: 0, + + + + // Constants + + /** + * @property CLASS_NAME_PREFIX + * @description Prefix used for all class names applied to a Button. + * @default "yui-" + * @final + * @type String + */ + CLASS_NAME_PREFIX: "yui-", + + + /** + * @property NODE_NAME + * @description The name of the node to be used for the button's + * root element. + * @default "SPAN" + * @final + * @type String + */ + NODE_NAME: "SPAN", + + + /** + * @property CHECK_ACTIVATION_KEYS + * @description Array of numbers representing keys that (when pressed) + * toggle the button's "checked" attribute. + * @default [32] + * @final + * @type Array + */ + CHECK_ACTIVATION_KEYS: [32], + + + /** + * @property ACTIVATION_KEYS + * @description Array of numbers representing keys that (when presed) + * toggle the button's "active" state. + * @default [13, 32] + * @final + * @type Array + */ + ACTIVATION_KEYS: [13, 32], + + + /** + * @property OPTION_AREA_WIDTH + * @description Width (in pixels) of the area of a split button that + * when pressed will display a menu. + * @default 20 + * @final + * @type Number + */ + OPTION_AREA_WIDTH: 20, + + + /** + * @property CSS_CLASS_NAME + * @description String representing the CSS class(es) to be applied to + * the button's root element. + * @default "button" + * @final + * @type String + */ + CSS_CLASS_NAME: "button", + + + + // Protected attribute setter methods + + + /** + * @method _setType + * @description Sets the value of the button's "type" attribute. + * @protected + * @param {String} p_sType String indicating the value for the button's + * "type" attribute. + */ + _setType: function (p_sType) { + + if (p_sType == "split") { + + this.on("option", this._onOption); + + } + + }, + + + /** + * @method _setLabel + * @description Sets the value of the button's "label" attribute. + * @protected + * @param {String} p_sLabel String indicating the value for the button's + * "label" attribute. + */ + _setLabel: function (p_sLabel) { + + this._button.innerHTML = p_sLabel; + + + /* + Remove and add the default class name from the root element + for Gecko to ensure that the button shrinkwraps to the label. + Without this the button will not be rendered at the correct + width when the label changes. The most likely cause for this + bug is button's use of the Gecko-specific CSS display type of + "-moz-inline-box" to simulate "inline-block" supported by IE, + Safari and Opera. + */ + + var sClass, + nGeckoVersion = UA.gecko; + + + if (nGeckoVersion && nGeckoVersion < 1.9 && Dom.inDocument(this.get("element"))) { + + sClass = (this.CLASS_NAME_PREFIX + this.CSS_CLASS_NAME); + + this.removeClass(sClass); + + Lang.later(0, this, this.addClass, sClass); + + } + + }, + + + /** + * @method _setTabIndex + * @description Sets the value of the button's "tabindex" attribute. + * @protected + * @param {Number} p_nTabIndex Number indicating the value for the + * button's "tabindex" attribute. + */ + _setTabIndex: function (p_nTabIndex) { + + this._button.tabIndex = p_nTabIndex; + + }, + + + /** + * @method _setTitle + * @description Sets the value of the button's "title" attribute. + * @protected + * @param {String} p_nTabIndex Number indicating the value for + * the button's "title" attribute. + */ + _setTitle: function (p_sTitle) { + + if (this.get("type") != "link") { + + this._button.title = p_sTitle; + + } + + }, + + + /** + * @method _setDisabled + * @description Sets the value of the button's "disabled" attribute. + * @protected + * @param {Boolean} p_bDisabled Boolean indicating the value for + * the button's "disabled" attribute. + */ + _setDisabled: function (p_bDisabled) { + + if (this.get("type") != "link") { + + if (p_bDisabled) { + + if (this._menu) { + + this._menu.hide(); + + } + + if (this.hasFocus()) { + + this.blur(); + + } + + this._button.setAttribute("disabled", "disabled"); + + this.addStateCSSClasses("disabled"); + + this.removeStateCSSClasses("hover"); + this.removeStateCSSClasses("active"); + this.removeStateCSSClasses("focus"); + + } + else { + + this._button.removeAttribute("disabled"); + + this.removeStateCSSClasses("disabled"); + + } + + } + + }, + + + /** + * @method _setHref + * @description Sets the value of the button's "href" attribute. + * @protected + * @param {String} p_sHref String indicating the value for the button's + * "href" attribute. + */ + _setHref: function (p_sHref) { + + if (this.get("type") == "link") { + + this._button.href = p_sHref; + + } + + }, + + + /** + * @method _setTarget + * @description Sets the value of the button's "target" attribute. + * @protected + * @param {String} p_sTarget String indicating the value for the button's + * "target" attribute. + */ + _setTarget: function (p_sTarget) { + + if (this.get("type") == "link") { + + this._button.setAttribute("target", p_sTarget); + + } + + }, + + + /** + * @method _setChecked + * @description Sets the value of the button's "target" attribute. + * @protected + * @param {Boolean} p_bChecked Boolean indicating the value for + * the button's "checked" attribute. + */ + _setChecked: function (p_bChecked) { + + var sType = this.get("type"); + + if (sType == "checkbox" || sType == "radio") { + + if (p_bChecked) { + this.addStateCSSClasses("checked"); + } + else { + this.removeStateCSSClasses("checked"); + } + + } + + }, + + + /** + * @method _setMenu + * @description Sets the value of the button's "menu" attribute. + * @protected + * @param {Object} p_oMenu Object indicating the value for the button's + * "menu" attribute. + */ + _setMenu: function (p_oMenu) { + + var bLazyLoad = this.get("lazyloadmenu"), + oButtonElement = this.get("element"), + sMenuCSSClassName, + + /* + Boolean indicating if the value of p_oMenu is an instance + of YAHOO.widget.Menu or YAHOO.widget.Overlay. + */ + + bInstance = false, + oMenu, + oMenuElement, + oSrcElement; + + + function onAppendTo() { + + oMenu.render(oButtonElement.parentNode); + + this.removeListener("appendTo", onAppendTo); + + } + + + function setMenuContainer() { + + oMenu.cfg.queueProperty("container", oButtonElement.parentNode); + + this.removeListener("appendTo", setMenuContainer); + + } + + + function initMenu() { + + var oContainer; + + if (oMenu) { + + Dom.addClass(oMenu.element, this.get("menuclassname")); + Dom.addClass(oMenu.element, this.CLASS_NAME_PREFIX + this.get("type") + "-button-menu"); + + oMenu.showEvent.subscribe(this._onMenuShow, null, this); + oMenu.hideEvent.subscribe(this._onMenuHide, null, this); + oMenu.renderEvent.subscribe(this._onMenuRender, null, this); + + + if (Menu && oMenu instanceof Menu) { + + if (bLazyLoad) { + + oContainer = this.get("container"); + + if (oContainer) { + + oMenu.cfg.queueProperty("container", oContainer); + + } + else { + + this.on("appendTo", setMenuContainer); + + } + + } + + oMenu.cfg.queueProperty("clicktohide", false); + + oMenu.keyDownEvent.subscribe(this._onMenuKeyDown, this, true); + oMenu.subscribe("click", this._onMenuClick, this, true); + + this.on("selectedMenuItemChange", this._onSelectedMenuItemChange); + + oSrcElement = oMenu.srcElement; + + if (oSrcElement && oSrcElement.nodeName.toUpperCase() == "SELECT") { + + oSrcElement.style.display = "none"; + oSrcElement.parentNode.removeChild(oSrcElement); + + } + + } + else if (Overlay && oMenu instanceof Overlay) { + + if (!m_oOverlayManager) { + + m_oOverlayManager = new YAHOO.widget.OverlayManager(); + + } + + m_oOverlayManager.register(oMenu); + + } + + + this._menu = oMenu; + + + if (!bInstance && !bLazyLoad) { + + if (Dom.inDocument(oButtonElement)) { + + oMenu.render(oButtonElement.parentNode); + + } + else { + + this.on("appendTo", onAppendTo); + + } + + } + + } + + } + + + if (Overlay) { + + if (Menu) { + + sMenuCSSClassName = Menu.prototype.CSS_CLASS_NAME; + + } + + if (p_oMenu && Menu && (p_oMenu instanceof Menu)) { + + oMenu = p_oMenu; + bInstance = true; + + initMenu.call(this); + + } + else if (Overlay && p_oMenu && (p_oMenu instanceof Overlay)) { + + oMenu = p_oMenu; + bInstance = true; + + oMenu.cfg.queueProperty("visible", false); + + initMenu.call(this); + + } + else if (Menu && Lang.isArray(p_oMenu)) { + + oMenu = new Menu(Dom.generateId(), { lazyload: bLazyLoad, itemdata: p_oMenu }); + + this._menu = oMenu; + + this.on("appendTo", initMenu); + + } + else if (Lang.isString(p_oMenu)) { + + oMenuElement = Dom.get(p_oMenu); + + if (oMenuElement) { + + if (Menu && Dom.hasClass(oMenuElement, sMenuCSSClassName) || + oMenuElement.nodeName.toUpperCase() == "SELECT") { + + oMenu = new Menu(p_oMenu, { lazyload: bLazyLoad }); + + initMenu.call(this); + + } + else if (Overlay) { + + oMenu = new Overlay(p_oMenu, { visible: false }); + + initMenu.call(this); + + } + + } + + } + else if (p_oMenu && p_oMenu.nodeName) { + + if (Menu && Dom.hasClass(p_oMenu, sMenuCSSClassName) || + p_oMenu.nodeName.toUpperCase() == "SELECT") { + + oMenu = new Menu(p_oMenu, { lazyload: bLazyLoad }); + + initMenu.call(this); + + } + else if (Overlay) { + + if (!p_oMenu.id) { + + Dom.generateId(p_oMenu); + + } + + oMenu = new Overlay(p_oMenu, { visible: false }); + + initMenu.call(this); + + } + + } + + } + + }, + + + /** + * @method _setOnClick + * @description Sets the value of the button's "onclick" attribute. + * @protected + * @param {Object} p_oObject Object indicating the value for the button's + * "onclick" attribute. + */ + _setOnClick: function (p_oObject) { + + /* + Remove any existing listeners if a "click" event handler + has already been specified. + */ + + if (this._onclickAttributeValue && + (this._onclickAttributeValue != p_oObject)) { + + this.removeListener("click", this._onclickAttributeValue.fn); + + this._onclickAttributeValue = null; + + } + + + if (!this._onclickAttributeValue && + Lang.isObject(p_oObject) && + Lang.isFunction(p_oObject.fn)) { + + this.on("click", p_oObject.fn, p_oObject.obj, p_oObject.scope); + + this._onclickAttributeValue = p_oObject; + + } + + }, + + + + // Protected methods + + + + /** + * @method _isActivationKey + * @description Determines if the specified keycode is one that toggles + * the button's "active" state. + * @protected + * @param {Number} p_nKeyCode Number representing the keycode to + * be evaluated. + * @return {Boolean} + */ + _isActivationKey: function (p_nKeyCode) { + + var sType = this.get("type"), + aKeyCodes = (sType == "checkbox" || sType == "radio") ? + this.CHECK_ACTIVATION_KEYS : this.ACTIVATION_KEYS, + + nKeyCodes = aKeyCodes.length, + bReturnVal = false, + i; + + + if (nKeyCodes > 0) { + + i = nKeyCodes - 1; + + do { + + if (p_nKeyCode == aKeyCodes[i]) { + + bReturnVal = true; + break; + + } + + } + while (i--); + + } + + return bReturnVal; + + }, + + + /** + * @method _isSplitButtonOptionKey + * @description Determines if the specified keycode is one that toggles + * the display of the split button's menu. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + * @return {Boolean} + */ + _isSplitButtonOptionKey: function (p_oEvent) { + + var bShowMenu = (Event.getCharCode(p_oEvent) == 40); + + + var onKeyPress = function (p_oEvent) { + + Event.preventDefault(p_oEvent); + + this.removeListener("keypress", onKeyPress); + + }; + + + // Prevent the browser from scrolling the window + if (bShowMenu) { + + if (UA.opera) { + + this.on("keypress", onKeyPress); + + } + + Event.preventDefault(p_oEvent); + } + + return bShowMenu; + + }, + + + /** + * @method _addListenersToForm + * @description Adds event handlers to the button's form. + * @protected + */ + _addListenersToForm: function () { + + var oForm = this.getForm(), + onFormKeyPress = YAHOO.widget.Button.onFormKeyPress, + bHasKeyPressListener, + oSrcElement, + aListeners, + nListeners, + i; + + + if (oForm) { + + Event.on(oForm, "reset", this._onFormReset, null, this); + Event.on(oForm, "submit", this._onFormSubmit, null, this); + + oSrcElement = this.get("srcelement"); + + + if (this.get("type") == "submit" || + (oSrcElement && oSrcElement.type == "submit")) + { + + aListeners = Event.getListeners(oForm, "keypress"); + bHasKeyPressListener = false; + + if (aListeners) { + + nListeners = aListeners.length; + + if (nListeners > 0) { + + i = nListeners - 1; + + do { + + if (aListeners[i].fn == onFormKeyPress) { + + bHasKeyPressListener = true; + break; + + } + + } + while (i--); + + } + + } + + + if (!bHasKeyPressListener) { + + Event.on(oForm, "keypress", onFormKeyPress); + + } + + } + + } + + }, + + + + /** + * @method _showMenu + * @description Shows the button's menu. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event) that triggered + * the display of the menu. + */ + _showMenu: function (p_oEvent) { + + if (YAHOO.widget.MenuManager) { + YAHOO.widget.MenuManager.hideVisible(); + } + + + if (m_oOverlayManager) { + m_oOverlayManager.hideAll(); + } + + + var oMenu = this._menu, + aMenuAlignment = this.get("menualignment"), + bFocusMenu = this.get("focusmenu"), + fnFocusMethod; + + + if (this._renderedMenu) { + + oMenu.cfg.setProperty("context", + [this.get("element"), aMenuAlignment[0], aMenuAlignment[1]]); + + oMenu.cfg.setProperty("preventcontextoverlap", true); + oMenu.cfg.setProperty("constraintoviewport", true); + + } + else { + + oMenu.cfg.queueProperty("context", + [this.get("element"), aMenuAlignment[0], aMenuAlignment[1]]); + + oMenu.cfg.queueProperty("preventcontextoverlap", true); + oMenu.cfg.queueProperty("constraintoviewport", true); + + } + + + /* + Refocus the Button before showing its Menu in case the call to + YAHOO.widget.MenuManager.hideVisible() resulted in another element in the + DOM being focused after another Menu was hidden. + */ + + this.focus(); + + + if (Menu && oMenu && (oMenu instanceof Menu)) { + + // Since Menus automatically focus themselves when made visible, temporarily + // replace the Menu focus method so that the value of the Button's "focusmenu" + // attribute determines if the Menu should be focus when made visible. + + fnFocusMethod = oMenu.focus; + + oMenu.focus = function () {}; + + if (this._renderedMenu) { + + oMenu.cfg.setProperty("minscrollheight", this.get("menuminscrollheight")); + oMenu.cfg.setProperty("maxheight", this.get("menumaxheight")); + + } + else { + + oMenu.cfg.queueProperty("minscrollheight", this.get("menuminscrollheight")); + oMenu.cfg.queueProperty("maxheight", this.get("menumaxheight")); + + } + + + oMenu.show(); + + oMenu.focus = fnFocusMethod; + + oMenu.align(); + + + /* + Stop the propagation of the event so that the MenuManager + doesn't blur the menu after it gets focus. + */ + + if (p_oEvent.type == "mousedown") { + Event.stopPropagation(p_oEvent); + } + + + if (bFocusMenu) { + oMenu.focus(); + } + + } + else if (Overlay && oMenu && (oMenu instanceof Overlay)) { + + if (!this._renderedMenu) { + oMenu.render(this.get("element").parentNode); + } + + oMenu.show(); + oMenu.align(); + + } + + }, + + + /** + * @method _hideMenu + * @description Hides the button's menu. + * @protected + */ + _hideMenu: function () { + + var oMenu = this._menu; + + if (oMenu) { + + oMenu.hide(); + + } + + }, + + + + + // Protected event handlers + + + /** + * @method _onMouseOver + * @description "mouseover" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onMouseOver: function (p_oEvent) { + + var sType = this.get("type"), + oElement, + nOptionRegionX; + + + if (sType === "split") { + + oElement = this.get("element"); + nOptionRegionX = + (Dom.getX(oElement) + (oElement.offsetWidth - this.OPTION_AREA_WIDTH)); + + this._nOptionRegionX = nOptionRegionX; + + } + + + if (!this._hasMouseEventHandlers) { + + if (sType === "split") { + + this.on("mousemove", this._onMouseMove); + + } + + this.on("mouseout", this._onMouseOut); + + this._hasMouseEventHandlers = true; + + } + + + this.addStateCSSClasses("hover"); + + + if (sType === "split" && (Event.getPageX(p_oEvent) > nOptionRegionX)) { + + this.addStateCSSClasses("hoveroption"); + + } + + + if (this._activationButtonPressed) { + + this.addStateCSSClasses("active"); + + } + + + if (this._bOptionPressed) { + + this.addStateCSSClasses("activeoption"); + + } + + + if (this._activationButtonPressed || this._bOptionPressed) { + + Event.removeListener(document, "mouseup", this._onDocumentMouseUp); + + } + + }, + + + /** + * @method _onMouseMove + * @description "mousemove" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onMouseMove: function (p_oEvent) { + + var nOptionRegionX = this._nOptionRegionX; + + if (nOptionRegionX) { + + if (Event.getPageX(p_oEvent) > nOptionRegionX) { + + this.addStateCSSClasses("hoveroption"); + + } + else { + + this.removeStateCSSClasses("hoveroption"); + + } + + } + + }, + + /** + * @method _onMouseOut + * @description "mouseout" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onMouseOut: function (p_oEvent) { + + var sType = this.get("type"); + + this.removeStateCSSClasses("hover"); + + + if (sType != "menu") { + + this.removeStateCSSClasses("active"); + + } + + + if (this._activationButtonPressed || this._bOptionPressed) { + + Event.on(document, "mouseup", this._onDocumentMouseUp, null, this); + + } + + + if (sType === "split" && (Event.getPageX(p_oEvent) > this._nOptionRegionX)) { + + this.removeStateCSSClasses("hoveroption"); + + } + + }, + + + /** + * @method _onDocumentMouseUp + * @description "mouseup" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onDocumentMouseUp: function (p_oEvent) { + + this._activationButtonPressed = false; + this._bOptionPressed = false; + + var sType = this.get("type"), + oTarget, + oMenuElement; + + if (sType == "menu" || sType == "split") { + + oTarget = Event.getTarget(p_oEvent); + oMenuElement = this._menu.element; + + if (oTarget != oMenuElement && + !Dom.isAncestor(oMenuElement, oTarget)) { + + this.removeStateCSSClasses((sType == "menu" ? + "active" : "activeoption")); + + this._hideMenu(); + + } + + } + + Event.removeListener(document, "mouseup", this._onDocumentMouseUp); + + }, + + + /** + * @method _onMouseDown + * @description "mousedown" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onMouseDown: function (p_oEvent) { + + var sType, + bReturnVal = true; + + + function onMouseUp() { + + this._hideMenu(); + this.removeListener("mouseup", onMouseUp); + + } + + + if ((p_oEvent.which || p_oEvent.button) == 1) { + + + if (!this.hasFocus()) { + + this.focus(); + + } + + + sType = this.get("type"); + + + if (sType == "split") { + + if (Event.getPageX(p_oEvent) > this._nOptionRegionX) { + + this.fireEvent("option", p_oEvent); + bReturnVal = false; + + } + else { + + this.addStateCSSClasses("active"); + + this._activationButtonPressed = true; + + } + + } + else if (sType == "menu") { + + if (this.isActive()) { + + this._hideMenu(); + + this._activationButtonPressed = false; + + } + else { + + this._showMenu(p_oEvent); + + this._activationButtonPressed = true; + + } + + } + else { + + this.addStateCSSClasses("active"); + + this._activationButtonPressed = true; + + } + + + + if (sType == "split" || sType == "menu") { + + this._hideMenuTimer = Lang.later(250, this, this.on, ["mouseup", onMouseUp]); + + } + + } + + return bReturnVal; + + }, + + + /** + * @method _onMouseUp + * @description "mouseup" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onMouseUp: function (p_oEvent) { + + var sType = this.get("type"), + oHideMenuTimer = this._hideMenuTimer, + bReturnVal = true; + + + if (oHideMenuTimer) { + + oHideMenuTimer.cancel(); + + } + + + if (sType == "checkbox" || sType == "radio") { + + this.set("checked", !(this.get("checked"))); + + } + + + this._activationButtonPressed = false; + + + if (sType != "menu") { + + this.removeStateCSSClasses("active"); + + } + + + if (sType == "split" && Event.getPageX(p_oEvent) > this._nOptionRegionX) { + + bReturnVal = false; + + } + + return bReturnVal; + + }, + + + /** + * @method _onFocus + * @description "focus" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onFocus: function (p_oEvent) { + + var oElement; + + this.addStateCSSClasses("focus"); + + if (this._activationKeyPressed) { + + this.addStateCSSClasses("active"); + + } + + m_oFocusedButton = this; + + + if (!this._hasKeyEventHandlers) { + + oElement = this._button; + + Event.on(oElement, "blur", this._onBlur, null, this); + Event.on(oElement, "keydown", this._onKeyDown, null, this); + Event.on(oElement, "keyup", this._onKeyUp, null, this); + + this._hasKeyEventHandlers = true; + + } + + + this.fireEvent("focus", p_oEvent); + + }, + + + /** + * @method _onBlur + * @description "blur" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onBlur: function (p_oEvent) { + + this.removeStateCSSClasses("focus"); + + if (this.get("type") != "menu") { + + this.removeStateCSSClasses("active"); + + } + + if (this._activationKeyPressed) { + + Event.on(document, "keyup", this._onDocumentKeyUp, null, this); + + } + + + m_oFocusedButton = null; + + this.fireEvent("blur", p_oEvent); + + }, + + + /** + * @method _onDocumentKeyUp + * @description "keyup" event handler for the document. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onDocumentKeyUp: function (p_oEvent) { + + if (this._isActivationKey(Event.getCharCode(p_oEvent))) { + + this._activationKeyPressed = false; + + Event.removeListener(document, "keyup", this._onDocumentKeyUp); + + } + + }, + + + /** + * @method _onKeyDown + * @description "keydown" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onKeyDown: function (p_oEvent) { + + var oMenu = this._menu; + + + if (this.get("type") == "split" && + this._isSplitButtonOptionKey(p_oEvent)) { + + this.fireEvent("option", p_oEvent); + + } + else if (this._isActivationKey(Event.getCharCode(p_oEvent))) { + + if (this.get("type") == "menu") { + + this._showMenu(p_oEvent); + + } + else { + + this._activationKeyPressed = true; + + this.addStateCSSClasses("active"); + + } + + } + + + if (oMenu && oMenu.cfg.getProperty("visible") && + Event.getCharCode(p_oEvent) == 27) { + + oMenu.hide(); + this.focus(); + + } + + }, + + + /** + * @method _onKeyUp + * @description "keyup" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onKeyUp: function (p_oEvent) { + + var sType; + + if (this._isActivationKey(Event.getCharCode(p_oEvent))) { + + sType = this.get("type"); + + if (sType == "checkbox" || sType == "radio") { + + this.set("checked", !(this.get("checked"))); + + } + + this._activationKeyPressed = false; + + if (this.get("type") != "menu") { + + this.removeStateCSSClasses("active"); + + } + + } + + }, + + + /** + * @method _onClick + * @description "click" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onClick: function (p_oEvent) { + + var sType = this.get("type"), + oForm, + oSrcElement, + bReturnVal; + + + switch (sType) { + + case "submit": + + if (p_oEvent.returnValue !== false) { + + this.submitForm(); + + } + + break; + + case "reset": + + oForm = this.getForm(); + + if (oForm) { + + oForm.reset(); + + } + + break; + + + case "split": + + if (this._nOptionRegionX > 0 && + (Event.getPageX(p_oEvent) > this._nOptionRegionX)) { + + bReturnVal = false; + + } + else { + + this._hideMenu(); + + oSrcElement = this.get("srcelement"); + + if (oSrcElement && oSrcElement.type == "submit" && + p_oEvent.returnValue !== false) { + + this.submitForm(); + + } + + } + + break; + + } + + return bReturnVal; + + }, + + + /** + * @method _onDblClick + * @description "dblclick" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onDblClick: function (p_oEvent) { + + var bReturnVal = true; + + if (this.get("type") == "split" && Event.getPageX(p_oEvent) > this._nOptionRegionX) { + + bReturnVal = false; + + } + + return bReturnVal; + + }, + + + /** + * @method _onAppendTo + * @description "appendTo" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onAppendTo: function (p_oEvent) { + + /* + It is necessary to call "_addListenersToForm" using + "setTimeout" to make sure that the button's "form" property + returns a node reference. Sometimes, if you try to get the + reference immediately after appending the field, it is null. + */ + + Lang.later(0, this, this._addListenersToForm); + + }, + + + /** + * @method _onFormReset + * @description "reset" event handler for the button's form. + * @protected + * @param {Event} p_oEvent Object representing the DOM event + * object passed back by the event utility (YAHOO.util.Event). + */ + _onFormReset: function (p_oEvent) { + + var sType = this.get("type"), + oMenu = this._menu; + + if (sType == "checkbox" || sType == "radio") { + + this.resetValue("checked"); + + } + + + if (Menu && oMenu && (oMenu instanceof Menu)) { + + this.resetValue("selectedMenuItem"); + + } + + }, + + + /** + * @method _onFormSubmit + * @description "submit" event handler for the button's form. + * @protected + * @param {Event} p_oEvent Object representing the DOM event + * object passed back by the event utility (YAHOO.util.Event). + */ + _onFormSubmit: function (p_oEvent) { + + this.createHiddenFields(); + + }, + + + /** + * @method _onDocumentMouseDown + * @description "mousedown" event handler for the document. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onDocumentMouseDown: function (p_oEvent) { + + var oTarget = Event.getTarget(p_oEvent), + oButtonElement = this.get("element"), + oMenuElement = this._menu.element; + + + if (oTarget != oButtonElement && + !Dom.isAncestor(oButtonElement, oTarget) && + oTarget != oMenuElement && + !Dom.isAncestor(oMenuElement, oTarget)) { + + this._hideMenu(); + + // In IE when the user mouses down on a focusable element + // that element will be focused and become the "activeElement". + // (http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx) + // However, there is a bug in IE where if there is a + // positioned element with a focused descendant that is + // hidden in response to the mousedown event, the target of + // the mousedown event will appear to have focus, but will + // not be set as the activeElement. This will result + // in the element not firing key events, even though it + // appears to have focus. The following call to "setActive" + // fixes this bug. + + if (UA.ie && oTarget.focus) { + oTarget.setActive(); + } + + Event.removeListener(document, "mousedown", + this._onDocumentMouseDown); + + } + + }, + + + /** + * @method _onOption + * @description "option" event handler for the button. + * @protected + * @param {Event} p_oEvent Object representing the DOM event object + * passed back by the event utility (YAHOO.util.Event). + */ + _onOption: function (p_oEvent) { + + if (this.hasClass(this.CLASS_NAME_PREFIX + "split-button-activeoption")) { + + this._hideMenu(); + + this._bOptionPressed = false; + + } + else { + + this._showMenu(p_oEvent); + + this._bOptionPressed = true; + + } + + }, + + + /** + * @method _onMenuShow + * @description "show" event handler for the button's menu. + * @private + * @param {String} p_sType String representing the name of the event + * that was fired. + */ + _onMenuShow: function (p_sType) { + + Event.on(document, "mousedown", this._onDocumentMouseDown, + null, this); + + var sState = (this.get("type") == "split") ? "activeoption" : "active"; + + this.addStateCSSClasses(sState); + + }, + + + /** + * @method _onMenuHide + * @description "hide" event handler for the button's menu. + * @private + * @param {String} p_sType String representing the name of the event + * that was fired. + */ + _onMenuHide: function (p_sType) { + + var sState = (this.get("type") == "split") ? "activeoption" : "active"; + + this.removeStateCSSClasses(sState); + + + if (this.get("type") == "split") { + + this._bOptionPressed = false; + + } + + }, + + + /** + * @method _onMenuKeyDown + * @description "keydown" event handler for the button's menu. + * @private + * @param {String} p_sType String representing the name of the event + * that was fired. + * @param {Array} p_aArgs Array of arguments sent when the event + * was fired. + */ + _onMenuKeyDown: function (p_sType, p_aArgs) { + + var oEvent = p_aArgs[0]; + + if (Event.getCharCode(oEvent) == 27) { + + this.focus(); + + if (this.get("type") == "split") { + + this._bOptionPressed = false; + + } + + } + + }, + + + /** + * @method _onMenuRender + * @description "render" event handler for the button's menu. + * @private + * @param {String} p_sType String representing the name of the + * event thatwas fired. + */ + _onMenuRender: function (p_sType) { + + var oButtonElement = this.get("element"), + oButtonParent = oButtonElement.parentNode, + oMenu = this._menu, + oMenuElement = oMenu.element, + oSrcElement = oMenu.srcElement, + oItem; + + + if (oButtonParent != oMenuElement.parentNode) { + + oButtonParent.appendChild(oMenuElement); + + } + + this._renderedMenu = true; + + // If the user has designated an