def explore(self, username, path, **data): user = models.User.get_by(username=username) if not user: cherrypy.response.status = 404 return template.render_html('user/not_found.html', {'username': username}) repo = models.GitRepository.get_by(owner=user, name=reponame) if not repo: cherrypy.response.status = 404 return template.render_html('repository/not_found.html', {'reponame': reponame}) d = repo.list_dir() return json_response(d)
def index(self, **kw): title = u'Ma Cherie' content = 'Picture navigator' images = File.all() if 'search' in kw.keys(): images = [i for i in images if kw['search'].lower() in i.name.lower()] return render_html('index.html', dict(title=title, content=content, images=images))
def repository_page(self, username, path, **data): path = path.split("/") reponame = path.pop(0) files = [] user = models.User.get_by(username=username) repository = models.GitRepository.get_by(name=reponame, owner=user) if not repository: return template.render_html('repository/not_found.html', {'reponame': reponame}) code = style = "" if len(path) == 2 and len(path[-1]) == 40: ohash = path[-1] if path[0] == 'tree': files = repository.list_dir(ohash) elif path[0] == 'blob': raw = repository.get_blob(ohash) try: lexer = lexers.guess_lexer(raw) except ValueError: lexer = lexers.TextLexer() formatter = pygments.formatters.HtmlFormatter(style='colorful') code = pygments.highlight(raw, lexer, formatter) style = formatter.get_style_defs() else: files = repository.list_dir() localhost = cherrypy.config['server.socket_host'] return template.render_html('repository/page.html', {'repository': repository, 'files': files, 'code': code, 'style': style, 'os_user': os.getenv('USER'), 'local_address': localhost})
def test_render_html(): got = template.render_html('test1.html', dict(title='foo', header='bar'), template_path=templates) assert '<title>My title: foo</title>' in got assert '<h1>My header: bar</h1>' in got
def dashboard(self, user): return template.render_html('dashboard.html', {'user': user})
def manage_account(self, user, **data): return template.render_html('user/account.html', {'user': user})
return ajax_error('missing repository name') @route('/login') def login(self, **data): context = {} email = data.get('email') password = data.get('password') redirect_to = data.get('redirect', '/') context['not_registered'] = False context['wrong_password'] = False context['email'] = email or '' if email and password: try: user = models.User.authenticate(email, password) cherrypy.session['user_id'] = user.id raise cherrypy.HTTPRedirect(redirect_to) except models.User.NotFound, e: context['not_registered'] = unicode(email) except models.User.WrongPassword, e: context['wrong_password'] = unicode(e) return template.render_html('user/login.html', context) @authenticated_route('/dashboard') def dashboard(self, user): return template.render_html('dashboard.html', {'user': user})
def test_render_html(): got = template.render_html('test1.html', dict(title='foo', header='bar'), template_path=templates) assert '<title>My title: foo</title>' in got assert '<h1>My header: bar</h1>' in got