本文整理汇总了Python中pybossa.cache.categories.reset函数的典型用法代码示例。如果您正苦于以下问题:Python reset函数的具体用法?Python reset怎么用?Python reset使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了reset函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: del_category
def del_category(id):
"""Deletes a category"""
try:
category = db.session.query(model.Category).get(id)
if category:
if len(cached_cat.get_all()) > 1:
require.category.delete(category)
if request.method == 'GET':
return render_template('admin/del_category.html',
title=gettext('Delete Category'),
category=category)
if request.method == 'POST':
db.session.delete(category)
db.session.commit()
msg = gettext("Category deleted")
flash(msg, 'success')
cached_cat.reset()
return redirect(url_for(".categories"))
else:
msg = gettext('Sorry, it is not possible to delete the only \
available category. You can modify it, click the \
edit button')
flash(msg, 'warning')
return redirect(url_for('.categories'))
else:
return abort(404)
except HTTPException:
return abort(403)
except Exception as e:
current_app.logger.error(e)
return abort(500)
示例2: categories
def categories():
"""List Categories"""
try:
if request.method == 'GET':
require.category.read()
form = CategoryForm()
if request.method == 'POST':
require.category.create()
form = CategoryForm(request.form)
if form.validate():
slug = form.name.data.lower().replace(" ", "")
category = model.category.Category(name=form.name.data,
short_name=slug,
description=form.description.data)
db.session.add(category)
db.session.commit()
cached_cat.reset()
msg = gettext("Category added")
flash(msg, 'success')
else:
flash(gettext('Please correct the errors'), 'error')
categories = cached_cat.get_all()
n_apps_per_category = dict()
for c in categories:
n_apps_per_category[c.short_name] = cached_apps.n_count(c.short_name)
return render_template('admin/categories.html',
title=gettext('Categories'),
categories=categories,
n_apps_per_category=n_apps_per_category,
form=form)
except Exception as e: # pragma: no cover
current_app.logger.error(e)
return abort(500)
示例3: del_category
def del_category(id):
"""Delete a category."""
try:
category = project_repo.get_category(id)
if category:
if len(cached_cat.get_all()) > 1:
ensure_authorized_to('delete', category)
if request.method == 'GET':
return render_template('admin/del_category.html',
title=gettext('Delete Category'),
category=category)
if request.method == 'POST':
project_repo.delete_category(category)
msg = gettext("Category deleted")
flash(msg, 'success')
cached_cat.reset()
return redirect(url_for(".categories"))
else:
msg = gettext('Sorry, it is not possible to delete the only'
' available category. You can modify it, '
' click the edit button')
flash(msg, 'warning')
return redirect(url_for('.categories'))
else:
abort(404)
except HTTPException:
raise
except Exception as e: # pragma: no cover
current_app.logger.error(e)
return abort(500)
示例4: categories
def categories():
"""List Categories."""
try:
if request.method == 'GET':
ensure_authorized_to('read', Category)
form = CategoryForm()
if request.method == 'POST':
ensure_authorized_to('create', Category)
form = CategoryForm(request.form)
del form.id
if form.validate():
slug = form.name.data.lower().replace(" ", "")
category = Category(name=form.name.data,
short_name=slug,
description=form.description.data)
project_repo.save_category(category)
cached_cat.reset()
msg = gettext("Category added")
flash(msg, 'success')
else:
flash(gettext('Please correct the errors'), 'error')
categories = cached_cat.get_all()
n_projects_per_category = dict()
for c in categories:
n_projects_per_category[c.short_name] = \
cached_projects.n_count(c.short_name)
return render_template('admin/categories.html',
title=gettext('Categories'),
categories=categories,
n_projects_per_category=n_projects_per_category,
form=form)
except Exception as e: # pragma: no cover
current_app.logger.error(e)
return abort(500)
示例5: handle_valid_form
def handle_valid_form(form):
hidden = int(form.hidden.data)
new_info = {}
# Add the info items
app, n_tasks, n_task_runs, overall_progress, last_activity = app_by_shortname(short_name)
if form.thumbnail.data:
new_info['thumbnail'] = form.thumbnail.data
#if form.sched.data:
# new_info['sched'] = form.sched.data
# Merge info object
info = dict(app.info.items() + new_info.items())
new_application = model.App(
id=form.id.data,
name=form.name.data,
short_name=form.short_name.data,
description=form.description.data,
long_description=form.long_description.data,
hidden=hidden,
info=info,
owner_id=app.owner_id,
allow_anonymous_contributors=form.allow_anonymous_contributors.data,
category_id=form.category_id.data)
app, n_tasks, n_task_runs, overall_progress, last_activity = app_by_shortname(short_name)
db.session.merge(new_application)
db.session.commit()
cached_apps.reset()
cached_cat.reset()
flash(gettext('Application updated!'), 'success')
return redirect(url_for('.details',
short_name=new_application.short_name))
示例6: update_category
def update_category(id):
"""Updates a category"""
try:
category = db.session.query(model.category.Category).get(id)
if category:
require.category.update(category)
form = CategoryForm(obj=category)
form.populate_obj(category)
if request.method == 'GET':
return render_template('admin/update_category.html',
title=gettext('Update Category'),
category=category,
form=form)
if request.method == 'POST':
form = CategoryForm(request.form)
if form.validate():
slug = form.name.data.lower().replace(" ", "")
new_category = model.category.Category(id=form.id.data,
name=form.name.data,
short_name=slug)
# print new_category.id
db.session.merge(new_category)
db.session.commit()
cached_cat.reset()
msg = gettext("Category updated")
flash(msg, 'success')
return redirect(url_for(".categories"))
else:
msg = gettext("Please correct the errors")
flash(msg, 'success')
return render_template('admin/update_category.html',
title=gettext('Update Category'),
category=category,
form=form)
else:
abort(404)
except HTTPException:
raise
except Exception as e: # pragma: no cover
current_app.logger.error(e)
return abort(500)
示例7: update_category
def update_category(id):
"""Update a category."""
try:
category = project_repo.get_category(id)
if category:
ensure_authorized_to('update', category)
form = CategoryForm(obj=category)
form.populate_obj(category)
if request.method == 'GET':
response = dict(template='admin/update_category.html',
title=gettext('Update Category'),
category=category,
form=form)
return handle_content_type(response)
if request.method == 'POST':
form = CategoryForm(request.body)
if form.validate():
slug = form.name.data.lower().replace(" ", "")
new_category = Category(id=form.id.data,
name=form.name.data,
short_name=slug)
project_repo.update_category(new_category)
cached_cat.reset()
msg = gettext("Category updated")
flash(msg, 'success')
return redirect_content_type(url_for(".categories"))
else:
msg = gettext("Please correct the errors")
flash(msg, 'success')
response = dict(template='admin/update_category.html',
title=gettext('Update Category'),
category=category,
form=form)
return handle_content_type(response)
else:
abort(404)
except HTTPException:
raise
except Exception as e: # pragma: no cover
current_app.logger.error(e)
return abort(500)
示例8: import_repo
def import_repo(short_name):
"""Import a project from a GitHub repo."""
project = project_repo.get_by_shortname(short_name)
if not project: # pragma: no cover
abort(404)
ensure_authorized_to('update', project)
github_url = request.args.get('github_url')
try:
gh_repo = GitHubRepo(github_url)
except GitHubURLError as e:
flash(str(e), 'error')
return redirect(url_for('.sync', short_name=project.short_name))
gh_repo.load_contents()
try:
gh_repo.validate()
except InvalidPybossaProjectError as e:
flash(str(e), 'error')
return redirect(url_for('.sync', short_name=project.short_name))
form = GitHubProjectForm(request.form)
project_json = gh_repo.get_project_json()
_populate_form(form, gh_repo.contents, project_json)
categories = project_repo.get_all_categories()
if request.method == 'POST' and form.validate():
info = json.loads(form.additional_properties.data)
original_short_name = project_json['short_name']
if form.tutorial.data:
resp = github.get(form.tutorial.data)
info['tutorial'] = resp.content.replace(original_short_name,
project.short_name)
if form.task_presenter.data:
resp = github.get(form.task_presenter.data)
info['task_presenter'] = resp.content.replace(original_short_name,
project.short_name)
if form.results.data:
resp = github.get(form.results.data)
info['results'] = resp.content.replace(original_short_name,
project.short_name)
long_description = None
if form.long_description.data:
resp = github.get(form.long_description.data)
long_description = resp.content
old_project = Project(**project.dictize())
project.description = form.description.data
project.long_description = long_description
project.category_id = form.category_id.data
project.webhook = form.webhook.data
project.info = info
if form.thumbnail.data:
data = github.get(form.thumbnail.data).content
prefix = time.time()
filename = "project_%s_thumbnail_%i.png" % (project.id, prefix)
container = "user_%s" % current_user.id
_download(filename, container, data)
if project.info.get("thumbnail"):
uploader.delete_file(project.info["thumbnail"], container)
project.info['container'] = container
project.info['thumbnail'] = filename
try:
project_repo.update(project)
except sqlalchemy.exc.DataError as e: # pragma: no cover
flash('''DataError: {0} <br><br>Please check the files being
imported from GitHub'''.format(e.orig), 'danger')
return redirect(url_for('.sync', short_name=project.short_name))
auditlogger.add_log_entry(old_project, project, current_user)
cached_cat.reset()
cached_projects.get_project(project.short_name)
flash(gettext('Project updated!'), 'success')
return redirect(url_for('project.tasks',
short_name=project.short_name))
elif request.method == 'POST': # pragma: no cover
flash(gettext('Please correct the errors'), 'error')
else:
form.process()
form.description.data = project_json.get('description', '')
form.webhook.data = project_json.get('webhook', '')
reserved_keys = ['name', 'short_name', 'description', 'webhook',
'category_id']
for k in reserved_keys:
project_json.pop(k, None)
form.additional_properties.data = json.dumps(project_json)
return render_template('projects/github/import.html', form=form,
github_url=github_url, project=project)