apps: base app fixes for python3
This commit is contained in:
parent
bed5b744d4
commit
1627525cb1
2 changed files with 57 additions and 26 deletions
|
|
@ -25,9 +25,10 @@ import operator
|
|||
from pyramid.httpexceptions import HTTPFound, HTTPForbidden, HTTPBadRequest
|
||||
|
||||
from rhodecode.lib import helpers as h, diffs, rc_cache
|
||||
from rhodecode.lib.str_utils import safe_str
|
||||
from rhodecode.lib.utils import repo_name_slug
|
||||
from rhodecode.lib.utils2 import (
|
||||
StrictAttributeDict, str2bool, safe_int, datetime_to_time, safe_unicode)
|
||||
StrictAttributeDict, str2bool, safe_int, datetime_to_time)
|
||||
from rhodecode.lib.markup_renderer import MarkupRenderer, relative_links
|
||||
from rhodecode.lib.vcs.backends.base import EmptyCommit
|
||||
from rhodecode.lib.vcs.exceptions import RepositoryRequirementError
|
||||
|
|
@ -73,7 +74,7 @@ def add_route_requirements(route_path, requirements=None):
|
|||
add_route_requirements('{repo_name}/settings')
|
||||
"""
|
||||
requirements = requirements or URL_NAME_REQUIREMENTS
|
||||
for key, regex in requirements.items():
|
||||
for key, regex in list(requirements.items()):
|
||||
route_path = route_path.replace('{%s}' % key, '{%s:%s}' % (key, regex))
|
||||
return route_path
|
||||
|
||||
|
|
@ -240,7 +241,7 @@ class RepoAppView(BaseAppView):
|
|||
def _handle_missing_requirements(self, error):
|
||||
log.error(
|
||||
'Requirements are missing for repository %s: %s',
|
||||
self.db_repo_name, safe_unicode(error))
|
||||
self.db_repo_name, safe_str(error))
|
||||
|
||||
def _prepare_and_set_clone_url(self, c):
|
||||
username = ''
|
||||
|
|
@ -352,8 +353,8 @@ class RepoAppView(BaseAppView):
|
|||
return None, None
|
||||
landing_commit_id = landing_commit.raw_id
|
||||
|
||||
cache_namespace_uid = 'cache_repo.{}'.format(db_repo.repo_id)
|
||||
region = rc_cache.get_or_create_region('cache_repo', cache_namespace_uid)
|
||||
cache_namespace_uid = 'repo.{}'.format(db_repo.repo_id)
|
||||
region = rc_cache.get_or_create_region('cache_repo', cache_namespace_uid, use_async_runner=True)
|
||||
start = time.time()
|
||||
|
||||
@region.conditional_cache_on_arguments(namespace=cache_namespace_uid)
|
||||
|
|
@ -377,7 +378,7 @@ class RepoAppView(BaseAppView):
|
|||
}
|
||||
|
||||
readme_data = self._render_readme_or_none(commit, readme_node, relative_urls)
|
||||
readme_filename = readme_node.unicode_path
|
||||
readme_filename = readme_node.str_path
|
||||
|
||||
return readme_data, readme_filename
|
||||
|
||||
|
|
@ -394,13 +395,12 @@ class RepoAppView(BaseAppView):
|
|||
renderer = MarkupRenderer()
|
||||
try:
|
||||
html_source = renderer.render(
|
||||
readme_node.content, filename=readme_node.path)
|
||||
readme_node.str_content, filename=readme_node.path)
|
||||
if relative_urls:
|
||||
return relative_links(html_source, relative_urls)
|
||||
return html_source
|
||||
except Exception:
|
||||
log.exception(
|
||||
"Exception while trying to render the README")
|
||||
log.exception("Exception while trying to render the README")
|
||||
|
||||
def get_recache_flag(self):
|
||||
for flag_name in ['force_recache', 'force-recache', 'no-cache']:
|
||||
|
|
@ -455,6 +455,7 @@ class PathFilter(object):
|
|||
return patchset, False
|
||||
|
||||
def render_patchset_filtered(self, diffset, patchset, source_ref=None, target_ref=None):
|
||||
|
||||
filtered_patchset, has_hidden_changes = self.filter_patchset(patchset)
|
||||
result = diffset.render_patchset(
|
||||
filtered_patchset, source_ref=source_ref, target_ref=target_ref)
|
||||
|
|
@ -488,12 +489,9 @@ class RepoGroupAppView(BaseAppView):
|
|||
return c
|
||||
|
||||
def _revoke_perms_on_yourself(self, form_result):
|
||||
_updates = filter(lambda u: self._rhodecode_user.user_id == int(u[0]),
|
||||
form_result['perm_updates'])
|
||||
_additions = filter(lambda u: self._rhodecode_user.user_id == int(u[0]),
|
||||
form_result['perm_additions'])
|
||||
_deletions = filter(lambda u: self._rhodecode_user.user_id == int(u[0]),
|
||||
form_result['perm_deletions'])
|
||||
_updates = [u for u in form_result['perm_updates'] if self._rhodecode_user.user_id == int(u[0])]
|
||||
_additions = [u for u in form_result['perm_additions'] if self._rhodecode_user.user_id == int(u[0])]
|
||||
_deletions = [u for u in form_result['perm_deletions'] if self._rhodecode_user.user_id == int(u[0])]
|
||||
admin_perm = 'group.admin'
|
||||
if _updates and _updates[0][1] != admin_perm or \
|
||||
_additions and _additions[0][1] != admin_perm or \
|
||||
|
|
@ -627,7 +625,7 @@ class RepoRoutePredicate(object):
|
|||
self.val = val
|
||||
|
||||
def text(self):
|
||||
return 'repo_route = %s' % self.val
|
||||
return f'repo_route = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -639,7 +637,7 @@ class RepoRoutePredicate(object):
|
|||
repo_name = info['match']['repo_name']
|
||||
|
||||
repo_name_parts = repo_name.split('/')
|
||||
repo_slugs = [x for x in map(lambda x: repo_name_slug(x), repo_name_parts)]
|
||||
repo_slugs = [x for x in (repo_name_slug(x) for x in repo_name_parts)]
|
||||
|
||||
if repo_name_parts != repo_slugs:
|
||||
# short-skip if the repo-name doesn't follow slug rule
|
||||
|
|
@ -666,12 +664,15 @@ class RepoRoutePredicate(object):
|
|||
if by_name_match:
|
||||
# register this as request object we can re-use later
|
||||
request.db_repo = by_name_match
|
||||
request.db_repo_name = request.db_repo.repo_name
|
||||
|
||||
redirect_if_creating(info, by_name_match)
|
||||
return True
|
||||
|
||||
by_id_match = repo_model.get_repo_by_id(repo_name)
|
||||
if by_id_match:
|
||||
request.db_repo = by_id_match
|
||||
request.db_repo_name = request.db_repo.repo_name
|
||||
redirect_if_creating(info, by_id_match)
|
||||
return True
|
||||
|
||||
|
|
@ -683,7 +684,7 @@ class RepoForbidArchivedRoutePredicate(object):
|
|||
self.val = val
|
||||
|
||||
def text(self):
|
||||
return 'repo_forbid_archived = %s' % self.val
|
||||
return f'repo_forbid_archived = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -713,7 +714,7 @@ class RepoTypeRoutePredicate(object):
|
|||
self.val = val or ['hg', 'git', 'svn']
|
||||
|
||||
def text(self):
|
||||
return 'repo_accepted_type = %s' % self.val
|
||||
return f'repo_accepted_type = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -741,7 +742,7 @@ class RepoGroupRoutePredicate(object):
|
|||
self.val = val
|
||||
|
||||
def text(self):
|
||||
return 'repo_group_route = %s' % self.val
|
||||
return f'repo_group_route = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -753,7 +754,7 @@ class RepoGroupRoutePredicate(object):
|
|||
repo_group_name = info['match']['repo_group_name']
|
||||
|
||||
repo_group_name_parts = repo_group_name.split('/')
|
||||
repo_group_slugs = [x for x in map(lambda x: repo_name_slug(x), repo_group_name_parts)]
|
||||
repo_group_slugs = [x for x in [repo_name_slug(x) for x in repo_group_name_parts]]
|
||||
if repo_group_name_parts != repo_group_slugs:
|
||||
# short-skip if the repo-name doesn't follow slug rule
|
||||
log.warning('repo_group_name: %s is different than slug %s', repo_group_name_parts, repo_group_slugs)
|
||||
|
|
@ -765,6 +766,7 @@ class RepoGroupRoutePredicate(object):
|
|||
if by_name_match:
|
||||
# register this as request object we can re-use later
|
||||
request.db_repo_group = by_name_match
|
||||
request.db_repo_group_name = request.db_repo_group.group_name
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
@ -775,7 +777,7 @@ class UserGroupRoutePredicate(object):
|
|||
self.val = val
|
||||
|
||||
def text(self):
|
||||
return 'user_group_route = %s' % self.val
|
||||
return f'user_group_route = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -827,7 +829,7 @@ class UserRoutePredicate(UserRoutePredicateBase):
|
|||
supports_default = False
|
||||
|
||||
def text(self):
|
||||
return 'user_route = %s' % self.val
|
||||
return f'user_route = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
@ -836,7 +838,7 @@ class UserRouteWithDefaultPredicate(UserRoutePredicateBase):
|
|||
supports_default = True
|
||||
|
||||
def text(self):
|
||||
return 'user_with_default_route = %s' % self.val
|
||||
return f'user_with_default_route = {self.val}'
|
||||
|
||||
phash = text
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue