changeset 6553:e9ac5698281d

tg: minimize future diff by some mocking and replacing some pylons imports with tg No actual tg dependency yet, just a temporary hack faking tg as an alias for pylons. Based on work by Alessandro Molina.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 24 Dec 2016 01:27:47 +0100
parents 15a12f2a47b4
children 2c3d30095d5e
files kallithea/__init__.py kallithea/config/routing.py kallithea/controllers/admin/admin.py kallithea/controllers/admin/auth_settings.py kallithea/controllers/admin/defaults.py kallithea/controllers/admin/gists.py kallithea/controllers/admin/my_account.py kallithea/controllers/admin/notifications.py kallithea/controllers/admin/permissions.py kallithea/controllers/admin/repo_groups.py kallithea/controllers/admin/repos.py kallithea/controllers/admin/settings.py kallithea/controllers/admin/user_groups.py kallithea/controllers/admin/users.py kallithea/controllers/api/__init__.py kallithea/controllers/api/api.py kallithea/controllers/changelog.py kallithea/controllers/changeset.py kallithea/controllers/compare.py kallithea/controllers/error.py kallithea/controllers/feed.py kallithea/controllers/files.py kallithea/controllers/followers.py kallithea/controllers/forks.py kallithea/controllers/home.py kallithea/controllers/journal.py kallithea/controllers/login.py kallithea/controllers/pullrequests.py kallithea/controllers/search.py kallithea/controllers/summary.py kallithea/lib/auth.py kallithea/lib/base.py kallithea/lib/celerylib/__init__.py kallithea/lib/celerylib/tasks.py kallithea/lib/celerypylons/__init__.py kallithea/lib/celerypylons/loader.py kallithea/lib/diffs.py kallithea/lib/helpers.py kallithea/lib/paster_commands/celeryd.py kallithea/lib/paster_commands/common.py kallithea/lib/paster_commands/make_index.py kallithea/lib/paster_commands/make_rcextensions.py kallithea/lib/utils2.py kallithea/model/comment.py kallithea/model/db.py kallithea/model/forms.py kallithea/model/notification.py kallithea/model/pull_request.py kallithea/model/repo.py kallithea/model/scm.py kallithea/model/user.py kallithea/model/validators.py kallithea/tests/base.py
diffstat 53 files changed, 96 insertions(+), 91 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/__init__.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/__init__.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,6 +30,10 @@
 import sys
 import platform
 
+# temporary aliasing to allow early introduction of imports like 'from tg import request'
+import pylons
+sys.modules['tg'] = pylons
+
 VERSION = (0, 3, 99)
 BACKENDS = {
     'hg': 'Mercurial repository',
--- a/kallithea/config/routing.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/config/routing.py	Sat Dec 24 01:27:47 2016 +0100
@@ -19,7 +19,7 @@
 refer to the routes manual at http://routes.groovie.org/docs/
 """
 
-from pylons import request
+from tg import request
 from routes import Mapper
 
 # prefix for non repository related links needs to be prefixed with `/`
--- a/kallithea/controllers/admin/admin.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/admin.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,7 +28,7 @@
 
 import logging
 
-from pylons import request, tmpl_context as c
+from tg import request, tmpl_context as c
 from sqlalchemy.orm import joinedload
 from whoosh.qparser.default import QueryParser
 from whoosh.qparser.dateparse import DateParserPlugin
--- a/kallithea/controllers/admin/auth_settings.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/auth_settings.py	Sat Dec 24 01:27:47 2016 +0100
@@ -27,8 +27,8 @@
 import formencode.htmlfill
 import traceback
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/defaults.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/defaults.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import formencode
 from formencode import htmlfill
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/gists.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/gists.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import traceback
 import formencode.htmlfill
 
-from pylons import request, response, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, response, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound, HTTPNotFound, HTTPForbidden
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/my_account.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/my_account.py	Sat Dec 24 01:27:47 2016 +0100
@@ -31,8 +31,8 @@
 
 from sqlalchemy import func
 from formencode import htmlfill
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/notifications.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/notifications.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,8 +28,8 @@
 import logging
 import traceback
 
-from pylons import request
-from pylons import tmpl_context as c
+from tg import request
+from tg import tmpl_context as c
 from webob.exc import HTTPBadRequest, HTTPForbidden
 
 from kallithea.model.db import Notification
--- a/kallithea/controllers/admin/permissions.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/permissions.py	Sat Dec 24 01:27:47 2016 +0100
@@ -31,8 +31,8 @@
 import formencode
 from formencode import htmlfill
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/repo_groups.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/repo_groups.py	Sat Dec 24 01:27:47 2016 +0100
@@ -32,8 +32,8 @@
 
 from formencode import htmlfill
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _, ungettext
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _, ungettext
 from webob.exc import HTTPFound, HTTPForbidden, HTTPNotFound, HTTPInternalServerError
 
 import kallithea
--- a/kallithea/controllers/admin/repos.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/repos.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import traceback
 import formencode
 from formencode import htmlfill
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from sqlalchemy.sql.expression import func
 from webob.exc import HTTPFound, HTTPInternalServerError, HTTPForbidden, HTTPNotFound
 
--- a/kallithea/controllers/admin/settings.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/settings.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import formencode
 
 from formencode import htmlfill
-from pylons import request, tmpl_context as c, config
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c, config
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/admin/user_groups.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/user_groups.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import formencode
 
 from formencode import htmlfill
-from pylons import request, tmpl_context as c, config
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c, config
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from sqlalchemy.orm import joinedload
--- a/kallithea/controllers/admin/users.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/admin/users.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import formencode
 
 from formencode import htmlfill
-from pylons import request, tmpl_context as c, config
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c, config
+from tg.i18n import ugettext as _
 from sqlalchemy.sql.expression import func
 from webob.exc import HTTPFound, HTTPNotFound
 
--- a/kallithea/controllers/api/__init__.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/api/__init__.py	Sat Dec 24 01:27:47 2016 +0100
@@ -35,7 +35,7 @@
 from paste.response import replace_header
 from pylons.controllers import WSGIController
 from pylons.controllers.util import Response
-from pylons import request
+from tg import request
 
 from webob.exc import HTTPError
 
--- a/kallithea/controllers/api/api.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/api/api.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,7 +30,7 @@
 import logging
 from sqlalchemy import or_
 
-from pylons import request
+from tg import request
 
 from kallithea.controllers.api import JSONRPCController, JSONRPCError
 from kallithea.lib.auth import (
--- a/kallithea/controllers/changelog.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/changelog.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,8 +28,8 @@
 import logging
 import traceback
 
-from pylons import request, session, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, session, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound, HTTPNotFound, HTTPBadRequest
 
 import kallithea.lib.helpers as h
--- a/kallithea/controllers/changeset.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/changeset.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import traceback
 from collections import defaultdict
 
-from pylons import tmpl_context as c, request, response
-from pylons.i18n.translation import _
+from tg import tmpl_context as c, request, response
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound, HTTPForbidden, HTTPBadRequest, HTTPNotFound
 
 from kallithea.lib.vcs.exceptions import RepositoryError, \
--- a/kallithea/controllers/compare.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/compare.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import logging
 import re
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound, HTTPBadRequest, HTTPNotFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/error.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/error.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import cgi
 import logging
 
-from pylons import tmpl_context as c, request, config
-from pylons.i18n.translation import _
+from tg import tmpl_context as c, request, config
+from tg.i18n import ugettext as _
 from pylons.middleware import media_path
 
 from kallithea.lib.base import BaseController, render
--- a/kallithea/controllers/feed.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/feed.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,8 +28,8 @@
 
 import logging
 
-from pylons import response, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import response, tmpl_context as c
+from tg.i18n import ugettext as _
 
 from beaker.cache import cache_region, region_invalidate
 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
--- a/kallithea/controllers/files.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/files.py	Sat Dec 24 01:27:47 2016 +0100
@@ -32,8 +32,8 @@
 import tempfile
 import shutil
 
-from pylons import request, response, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, response, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/followers.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/followers.py	Sat Dec 24 01:27:47 2016 +0100
@@ -27,7 +27,7 @@
 
 import logging
 
-from pylons import tmpl_context as c, request
+from tg import tmpl_context as c, request
 
 from kallithea.lib.auth import LoginRequired, HasRepoPermissionLevelDecorator
 from kallithea.lib.base import BaseRepoController, render
--- a/kallithea/controllers/forks.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/forks.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,8 +30,8 @@
 import traceback
 from formencode import htmlfill
 
-from pylons import tmpl_context as c, request
-from pylons.i18n.translation import _
+from tg import tmpl_context as c, request
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound
 
 import kallithea.lib.helpers as h
--- a/kallithea/controllers/home.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/home.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,8 +28,8 @@
 
 import logging
 
-from pylons import tmpl_context as c, request
-from pylons.i18n.translation import _
+from tg import tmpl_context as c, request
+from tg.i18n import ugettext as _
 from webob.exc import HTTPBadRequest
 from sqlalchemy.sql.expression import func
 
--- a/kallithea/controllers/journal.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/journal.py	Sat Dec 24 01:27:47 2016 +0100
@@ -37,8 +37,8 @@
 from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
 
 from webob.exc import HTTPBadRequest
-from pylons import request, tmpl_context as c, response
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c, response
+from tg.i18n import ugettext as _
 
 from kallithea.config.routing import url
 from kallithea.controllers.admin.admin import _journal_filter
--- a/kallithea/controllers/login.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/login.py	Sat Dec 24 01:27:47 2016 +0100
@@ -31,8 +31,8 @@
 import formencode
 
 from formencode import htmlfill
-from pylons.i18n.translation import _
-from pylons import request, session, tmpl_context as c
+from tg.i18n import ugettext as _
+from tg import request, session, tmpl_context as c
 from webob.exc import HTTPFound, HTTPBadRequest
 
 import kallithea.lib.helpers as h
--- a/kallithea/controllers/pullrequests.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/pullrequests.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import traceback
 import formencode
 
-from pylons import request, tmpl_context as c
-from pylons.i18n.translation import _
+from tg import request, tmpl_context as c
+from tg.i18n import ugettext as _
 from webob.exc import HTTPFound, HTTPNotFound, HTTPForbidden, HTTPBadRequest
 
 from kallithea.config.routing import url
--- a/kallithea/controllers/search.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/search.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,8 +28,8 @@
 import logging
 import traceback
 import urllib
-from pylons.i18n.translation import _
-from pylons import request, config, tmpl_context as c
+from tg.i18n import ugettext as _
+from tg import request, config, tmpl_context as c
 
 from whoosh.index import open_dir, EmptyIndexError
 from whoosh.qparser import QueryParser, QueryParserError
--- a/kallithea/controllers/summary.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/controllers/summary.py	Sat Dec 24 01:27:47 2016 +0100
@@ -32,8 +32,8 @@
 from time import mktime
 from datetime import timedelta, date
 
-from pylons import tmpl_context as c, request
-from pylons.i18n.translation import _
+from tg import tmpl_context as c, request
+from tg.i18n import ugettext as _
 from webob.exc import HTTPBadRequest
 
 from beaker.cache import cache_region, region_invalidate
--- a/kallithea/lib/auth.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/auth.py	Sat Dec 24 01:27:47 2016 +0100
@@ -33,8 +33,8 @@
 
 from decorator import decorator
 
-from pylons import request, session
-from pylons.i18n.translation import _
+from tg import request, session
+from tg.i18n import ugettext as _
 from webhelpers.pylonslib import secure_form
 from sqlalchemy.orm.exc import ObjectDeletedError
 from sqlalchemy.orm import joinedload
--- a/kallithea/lib/base.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/base.py	Sat Dec 24 01:27:47 2016 +0100
@@ -41,10 +41,10 @@
 import paste.httpheaders
 from webhelpers.pylonslib import secure_form
 
-from pylons import config, tmpl_context as c, request, response, session
+from tg import config, tmpl_context as c, request, response, session
 from pylons.controllers import WSGIController
 from pylons.templating import render_mako as render  # don't remove this import
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 
 from kallithea import __version__, BACKENDS
 
--- a/kallithea/lib/celerylib/__init__.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/celerylib/__init__.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,7 +29,7 @@
 import os
 import logging
 
-from pylons import config
+from tg import config
 
 from hashlib import md5
 from decorator import decorator
--- a/kallithea/lib/celerylib/tasks.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/celerylib/tasks.py	Sat Dec 24 01:27:47 2016 +0100
@@ -35,7 +35,7 @@
 from operator import itemgetter
 from string import lower
 
-from pylons import config
+from tg import config
 
 from kallithea import CELERY_ON
 from kallithea.lib import celerylib
--- a/kallithea/lib/celerypylons/__init__.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/celerypylons/__init__.py	Sat Dec 24 01:27:47 2016 +0100
@@ -20,7 +20,7 @@
 import warnings
 
 # Verify Pylons configuration has been loaded
-from pylons import config
+from tg import config
 assert config['celery.imports'] == 'kallithea.lib.celerylib.tasks', 'Kallithea Celery configuration has not been loaded'
 
 # Prepare environment to point at Kallithea Pylons loader
--- a/kallithea/lib/celerypylons/loader.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/celerypylons/loader.py	Sat Dec 24 01:27:47 2016 +0100
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
 from celery.loaders.base import BaseLoader
-from pylons import config
+from tg import config
 
 # TODO: drop this mangling and just use a separate celery config section
 to_pylons = lambda x: x.replace('_', '.').lower()
--- a/kallithea/lib/diffs.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/diffs.py	Sat Dec 24 01:27:47 2016 +0100
@@ -31,7 +31,7 @@
 
 from itertools import tee, imap
 
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 
 from kallithea.lib.vcs.exceptions import VCSError
 from kallithea.lib.vcs.nodes import FileNode, SubModuleNode
--- a/kallithea/lib/helpers.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/helpers.py	Sat Dec 24 01:27:47 2016 +0100
@@ -28,7 +28,7 @@
 from beaker.cache import cache_region
 from pygments.formatters.html import HtmlFormatter
 from pygments import highlight as code_highlight
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 
 from webhelpers.html import literal, HTML, escape
 from webhelpers.html.tags import checkbox, end_form, hidden, link_to, \
@@ -425,7 +425,7 @@
 
         The return value is a list of ``Message`` objects.
         """
-        from pylons import session
+        from tg import session
         messages = session.pop(self.session_key, [])
         session.save()
         return [_Message(*m) for m in messages]
@@ -835,7 +835,7 @@
     and '_' changed to '-' and be used as attributes on the div. The default
     class is 'gravatar'.
     """
-    from pylons import tmpl_context as c
+    from tg import tmpl_context as c
     if not c.visual.use_gravatar:
         return ''
     if 'div_class' not in div_attributes:
@@ -856,7 +856,7 @@
     empty then we fallback to using an icon.
 
     """
-    from pylons import tmpl_context as c
+    from tg import tmpl_context as c
     if not c.visual.use_gravatar:
         return ''
 
@@ -879,7 +879,7 @@
     # doh, we need to re-import those to mock it later
     from kallithea.config.routing import url
     from kallithea.model.db import User
-    from pylons import tmpl_context as c
+    from tg import tmpl_context as c
     if not c.visual.use_gravatar:
         return ""
 
--- a/kallithea/lib/paster_commands/celeryd.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/paster_commands/celeryd.py	Sat Dec 24 01:27:47 2016 +0100
@@ -30,7 +30,7 @@
 
     def command(self):
         from kallithea.lib import celerypylons
-        from pylons import config
+        from tg import config
         try:
             CELERY_ON = str2bool(config['app_conf'].get('use_celery'))
         except KeyError:
--- a/kallithea/lib/paster_commands/common.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/paster_commands/common.py	Sat Dec 24 01:27:47 2016 +0100
@@ -87,7 +87,7 @@
         """
         Loads the app configuration.
         """
-        from pylons import config as pylonsconfig
+        from tg import config as pylonsconfig
 
         self.path_to_ini_file = os.path.realpath(conf)
         conf = paste.deploy.appconfig('config:' + self.path_to_ini_file)
@@ -99,7 +99,7 @@
         """
         logging.config.fileConfig(self.path_to_ini_file)
 
-        from pylons import config
+        from tg import config
         from kallithea.model.base import init_model
         from kallithea.lib.utils2 import engine_from_config
         setup_cache_regions(config)
--- a/kallithea/lib/paster_commands/make_index.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/paster_commands/make_index.py	Sat Dec 24 01:27:47 2016 +0100
@@ -50,7 +50,7 @@
     def command(self):
         #get SqlAlchemy session
         self._init_session()
-        from pylons import config
+        from tg import config
         index_location = config['index_dir']
         load_rcextensions(config['here'])
 
--- a/kallithea/lib/paster_commands/make_rcextensions.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/paster_commands/make_rcextensions.py	Sat Dec 24 01:27:47 2016 +0100
@@ -50,7 +50,7 @@
         '''
 
     def command(self):
-        from pylons import config
+        from tg import config
 
         here = config['here']
         content = pkg_resources.resource_string(
--- a/kallithea/lib/utils2.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/lib/utils2.py	Sat Dec 24 01:27:47 2016 +0100
@@ -38,7 +38,7 @@
 import webob
 import urlobject
 
-from pylons.i18n.translation import _, ungettext
+from tg.i18n import ugettext as _, ungettext
 from kallithea.lib.vcs.utils.lazy import LazyProperty
 from kallithea.lib.compat import json
 
@@ -623,7 +623,7 @@
     Gets kallithea user from threadlocal tmpl_context variable if it's
     defined, else returns None.
     """
-    from pylons import tmpl_context
+    from tg import tmpl_context
     if hasattr(tmpl_context, 'authuser'):
         return tmpl_context.authuser
 
--- a/kallithea/model/comment.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/comment.py	Sat Dec 24 01:27:47 2016 +0100
@@ -27,7 +27,7 @@
 
 import logging
 
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 from collections import defaultdict
 
 from kallithea.lib.utils2 import extract_mentioned_users, safe_unicode
--- a/kallithea/model/db.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/db.py	Sat Dec 24 01:27:47 2016 +0100
@@ -41,7 +41,7 @@
 from beaker.cache import cache_region, region_invalidate
 from webob.exc import HTTPNotFound
 
-from pylons.i18n.translation import lazy_ugettext as _
+from tg.i18n import lazy_ugettext as _
 
 from kallithea.lib.exceptions import DefaultUserException
 from kallithea.lib.vcs import get_backend
@@ -1327,7 +1327,7 @@
         if not uri_tmpl:
             uri_tmpl = self.DEFAULT_CLONE_URI
             try:
-                from pylons import tmpl_context as c
+                from tg import tmpl_context as c
                 uri_tmpl = c.clone_uri_tmpl
             except AttributeError:
                 # in any case if we call this outside of request context,
--- a/kallithea/model/forms.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/forms.py	Sat Dec 24 01:27:47 2016 +0100
@@ -38,7 +38,7 @@
 import formencode
 from formencode import All
 
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 
 from kallithea import BACKENDS
 from kallithea.model import validators as v
--- a/kallithea/model/notification.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/notification.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import logging
 import traceback
 
-from pylons import tmpl_context as c
-from pylons.i18n.translation import _
+from tg import tmpl_context as c
+from tg.i18n import ugettext as _
 from sqlalchemy.orm import joinedload, subqueryload
 
 import kallithea
--- a/kallithea/model/pull_request.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/pull_request.py	Sat Dec 24 01:27:47 2016 +0100
@@ -29,8 +29,8 @@
 import datetime
 import re
 
-from pylons import request
-from pylons.i18n.translation import _
+from tg import request
+from tg.i18n import ugettext as _
 
 from sqlalchemy.orm import joinedload
 
--- a/kallithea/model/repo.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/repo.py	Sat Dec 24 01:27:47 2016 +0100
@@ -153,8 +153,8 @@
     @classmethod
     def _render_datatable(cls, tmpl, *args, **kwargs):
         import kallithea
-        from pylons import tmpl_context as c, request
-        from pylons.i18n.translation import _
+        from tg import tmpl_context as c, request
+        from tg.i18n import ugettext as _
 
         _tmpl_lookup = kallithea.CONFIG['pylons.app_globals'].mako_lookup
         template = _tmpl_lookup.get_template('data_table/_dt_elements.html')
@@ -166,7 +166,7 @@
     def get_repos_as_dict(self, repos_list=None, admin=False, perm_check=True,
                           super_user_actions=False, short_name=False):
         _render = self._render_datatable
-        from pylons import tmpl_context as c
+        from tg import tmpl_context as c
 
         def repo_lnk(name, rtype, rstate, private, fork_of):
             return _render('repo_name', name, rtype, rstate, private, fork_of,
--- a/kallithea/model/scm.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/scm.py	Sat Dec 24 01:27:47 2016 +0100
@@ -36,7 +36,7 @@
 import pkg_resources
 
 from sqlalchemy import func
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 
 import kallithea
 from kallithea.lib.vcs import get_backend
@@ -333,7 +333,7 @@
         from kallithea import CONFIG
         from kallithea.lib.base import _get_ip_addr
         try:
-            from pylons import request
+            from tg import request
             environ = request.environ
         except TypeError:
             # we might use this outside of request context, let's fake the
--- a/kallithea/model/user.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/user.py	Sat Dec 24 01:27:47 2016 +0100
@@ -32,8 +32,8 @@
 import time
 import traceback
 
-from pylons import config
-from pylons.i18n.translation import _
+from tg import config
+from tg.i18n import ugettext as _
 
 from sqlalchemy.exc import DatabaseError
 
--- a/kallithea/model/validators.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/model/validators.py	Sat Dec 24 01:27:47 2016 +0100
@@ -20,7 +20,7 @@
 import formencode
 import logging
 from collections import defaultdict
-from pylons.i18n.translation import _
+from tg.i18n import ugettext as _
 from webhelpers.pylonslib.secure_form import authentication_token
 import sqlalchemy
 
--- a/kallithea/tests/base.py	Fri Mar 24 20:15:07 2017 +0100
+++ b/kallithea/tests/base.py	Sat Dec 24 01:27:47 2016 +0100
@@ -20,8 +20,9 @@
 import tempfile
 import time
 
+from tg import config
 import pylons
-from pylons import config, url
+from pylons import url
 from pylons.i18n.translation import _get_translator
 from pylons.util import ContextObj
 from routes.util import URLGenerator