def new_paste(self, language=None): """The 'create a new paste' view.""" language = local.request.args.get('language', language) if language is None: language = local.request.session.get('language', 'text') code = error = '' show_captcha = private = False parent = None req = local.request getform = req.form.get if local.request.method == 'POST': code = getform('code', u'') language = getform('language') parent_id = getform('parent') if parent_id is not None: parent = Paste.get(parent_id) spam = getform('webpage') or antispam.is_spam(code) if spam: error = _('your paste contains spam') captcha = getform('captcha') if captcha: if check_hashed_solution(captcha): error = None else: error = _('your paste contains spam and the ' 'CAPTCHA solution was incorrect') show_captcha = True if code and language and not error: paste = Paste(code, language, parent, req.user_hash, 'private' in req.form) db.session.add(paste) db.session.commit() local.request.session['language'] = language return redirect(paste.url) else: if local.request.args.get('private', '0') != '0': private = True parent_id = req.values.get('reply_to') if parent_id is not None: parent = Paste.get(parent_id) if parent is not None: code = parent.code language = parent.language private = parent.private return render_to_response('new_paste.html', languages=list_languages(), parent=parent, code=code, language=language, error=error, show_captcha=show_captcha, private=private )
def show_tree(self, identifier): """Display the tree of some related pastes.""" paste = Paste.resolve_root(identifier) if paste is None: raise NotFound() return render_to_response('paste_tree.html', paste=paste, current=identifier)
def new_paste(self, language=None): """The 'create a new paste' view.""" language = local.request.args.get('language', language) if language is None: language = local.request.session.get('language', 'text') code = error = '' show_captcha = private = False parent = None req = local.request getform = req.form.get if local.request.method == 'POST': code = getform('code', u'') language = getform('language') parent_id = getform('parent') if parent_id is not None: parent = Paste.get(parent_id) spam = getform('webpage') or antispam.is_spam(code) if spam: error = _('your paste contains spam') captcha = getform('captcha') if captcha: if check_hashed_solution(captcha): error = None else: error = _('your paste contains spam and the ' 'CAPTCHA solution was incorrect') show_captcha = True if code and language and not error: paste = Paste(code, language, parent, req.user_hash, 'private' in req.form) db.session.add(paste) db.session.commit() local.request.session['language'] = language return redirect(paste.url) else: if local.request.args.get('private', '0') != '0': private = True parent_id = req.values.get('reply_to') if parent_id is not None: parent = Paste.get(parent_id) if parent is not None: code = parent.code language = parent.language private = parent.private return render_to_response('new_paste.html', languages=list_languages(), parent=parent, code=code, language=language, error=error, show_captcha=show_captcha, private=private)
def show_tree(self, identifier): """Display the tree of some related pastes.""" paste = Paste.resolve_root(identifier) if paste is None: raise NotFound() return render_to_response('paste_tree.html', paste=paste, current=identifier )
def help(self, topic=None): if topic is None: tmpl_name = 'help/index.html' elif topic in known_help_pages: tmpl_name = 'help/%s.html' % topic else: raise NotFound() return render_to_response(tmpl_name, help_topics=HELP_PAGES, current_topic=topic, pastebin_url=local.request.host_url, formatters=LANGUAGES, xmlrpc_methods=get_public_methods())
def help(self, topic=None): if topic is None: tmpl_name = 'help/index.html' elif topic in known_help_pages: tmpl_name = 'help/%s.html' % topic else: raise NotFound() return render_to_response( tmpl_name, help_topics=HELP_PAGES, current_topic=topic, pastebin_url=local.request.host_url, formatters=LANGUAGES, xmlrpc_methods=get_public_methods() )
def show_paste(self, identifier, raw=False): """Show an existing paste.""" linenos = local.request.args.get('linenos') != 'no' paste = Paste.get(identifier) if paste is None: raise NotFound() if raw: return Response(paste.code, mimetype='text/plain; charset=utf-8') style, css = get_style(local.request) return render_to_response('show_paste.html', paste=paste, style=style, css=css, styles=STYLES, linenos=linenos, )
def show_paste(self, identifier, raw=False): """Show an existing paste.""" linenos = local.request.args.get('linenos') != 'no' paste = Paste.get(identifier) if paste is None: raise NotFound() if raw: return Response(paste.code, mimetype='text/plain; charset=utf-8') style, css = get_style(local.request) return render_to_response( 'show_paste.html', paste=paste, style=style, css=css, styles=STYLES, linenos=linenos, )
def compare_paste(self, new_id=None, old_id=None): """Render a diff view for two pastes.""" getform = local.request.form.get # redirect for the compare form box if old_id is None: old_id = getform('old', '-1').lstrip('#') new_id = getform('new', '-1').lstrip('#') return redirect('/compare/%s/%s' % (old_id, new_id)) old = Paste.get(old_id) new = Paste.get(new_id) if old is None or new is None: raise NotFound() return render_to_response('compare_paste.html', old=old, new=new, diff=old.compare_to(new, template=True))
def compare_paste(self, new_id=None, old_id=None): """Render a diff view for two pastes.""" getform = local.request.form.get # redirect for the compare form box if old_id is None: old_id = getform('old', '-1').lstrip('#') new_id = getform('new', '-1').lstrip('#') return redirect('/compare/%s/%s' % (old_id, new_id)) old = Paste.get(old_id) new = Paste.get(new_id) if old is None or new is None: raise NotFound() return render_to_response('compare_paste.html', old=old, new=new, diff=old.compare_to(new, template=True) )
def show_all(self, page=1): """Paginated list of pages.""" def link(page): if page == 1: return '/all/' return '/all/%d' % page form_args = local.request.args query = Paste.find_all() pastes = query.limit(10).offset(10 * (page - 1)).all() if not pastes and page != 1: raise NotFound() return render_to_response('show_all.html', pastes=pastes, pagination=generate_pagination( page, 10, query.count(), link), css=get_style(local.request)[1], show_personal='show_personal' in form_args)
def show_all(self, page=1): """Paginated list of pages.""" def link(page): if page == 1: return '/all/' return '/all/%d' % page form_args = local.request.args query = Paste.find_all() pastes = query.limit(10).offset(10 * (page - 1)).all() if not pastes and page != 1: raise NotFound() return render_to_response('show_all.html', pastes=pastes, pagination=generate_pagination(page, 10, query.count(), link), css=get_style(local.request)[1], show_personal='show_personal' in form_args )
def rss(self): query = Paste.find_all() items = query.all() return render_to_response('rss.html', items=items, mimetype='application/rss+xml')
def not_found(self): return render_to_response('not_found.html')
def about(self): return render_to_response('about.html', lodgeit_version=lodgeit_version)
def about(self): return render_to_response('about.html')
def handle_request(self): if local.request.method == "POST": return xmlrpc.handle_request() return render_to_response("xmlrpc.html")
def handle_request(self): if local.request.args.get('method'): return json.handle_request() return render_to_response('json.html')
def handle_request(self): if local.request.method == 'POST': return xmlrpc.handle_request() return render_to_response('xmlrpc.html')