本文整理汇总了Python中crashstats.crashstats.models.CurrentProducts类的典型用法代码示例。如果您正苦于以下问题:Python CurrentProducts类的具体用法?Python CurrentProducts怎么用?Python CurrentProducts使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CurrentProducts类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update_featured_versions
def update_featured_versions(request):
products_api = CurrentProducts()
products = products_api.get()['products']
data = {}
for product in request.POST:
if product in products:
data[product] = request.POST.getlist(product)
featured_api = ReleasesFeatured()
success = featured_api.put(**data)
if success:
messages.success(
request,
'Featured versions successfully updated. '
'Cache might take some time to update.'
)
log(request.user, 'featured_versions.update', {
'data': data,
'success': success
})
url = reverse('manage:featured_versions')
return redirect(url)
示例2: featured_versions
def featured_versions(request, default_context=None):
context = default_context or {}
products_api = CurrentProducts()
products_api.cache_seconds = 0
products = products_api.get()
context['products'] = products['products'] # yuck!
context['releases'] = {}
now = datetime.date.today()
for product_name in context['products']:
context['releases'][product_name] = []
for release in products['hits'][product_name]:
start_date = datetime.datetime.strptime(
release['start_date'],
'%Y-%m-%d'
).date()
if start_date > now:
continue
end_date = datetime.datetime.strptime(
release['end_date'],
'%Y-%m-%d'
).date()
if end_date < now:
continue
context['releases'][product_name].append(release)
return render(request, 'manage/featured_versions.html', context)
示例3: products
def products(request):
context = {}
api = CurrentProducts()
if request.method == 'POST':
form = forms.ProductForm(
request.POST,
existing_products=api.get()['products']
)
if form.is_valid():
api = CurrentProducts()
api.post(
product=form.cleaned_data['product'],
version=form.cleaned_data['initial_version']
)
messages.success(
request,
'Product %s (%s) added.' % (
form.cleaned_data['product'],
form.cleaned_data['initial_version']
)
)
return redirect('manage:products')
else:
form = forms.ProductForm(initial={
'initial_version': '1.0'
})
context['form'] = form
context['page_title'] = "Products"
return render(request, 'manage/products.html', context)
示例4: update_featured_versions
def update_featured_versions(request):
products_api = CurrentProducts()
products = products_api.get()["products"]
data = {}
for product in request.POST:
if product in products:
data[product] = request.POST.getlist(product)
featured_api = ReleasesFeatured()
success = featured_api.put(**data)
if success:
messages.success(request, "Featured versions successfully updated. " "Cache might take some time to update.")
log(request.user, "featured_versions.update", {"data": data, "success": success})
url = reverse("manage:featured_versions")
return redirect(url)
示例5: setUp
def setUp(self, rget):
super(TestViews, self).setUp()
# we do this here so that the current/versions thing
# is cached since that's going to be called later
# in every view more or less
def mocked_get(url, **options):
if '/products' in url:
return Response("""
{
"hits": [
{
"is_featured": true,
"throttle": 1.0,
"end_date": "string",
"start_date": "integer",
"build_type": "string",
"product": "WaterWolf",
"version": "19.0",
"has_builds": true
}],
"total": "1"
}
""")
raise NotImplementedError(url)
rget.side_effect = mocked_get
from crashstats.crashstats.models import (
CurrentProducts, CurrentVersions
)
versions = '+'.join([
'%s:%s' % (ver['product'], ver['version'])
for ver in CurrentVersions().get()
if ver['product'] == settings.DEFAULT_PRODUCT
])
api = CurrentProducts()
# because WaterWolf is the default product and because
# BaseTestViews.setUp calls CurrentVersions already, we need to
# prepare this call so that each call to the home page can use the
# cache
api.get(versions=versions)
示例6: products
def products(request):
context = {}
api = CurrentProducts()
if request.method == "POST":
form = forms.ProductForm(request.POST, existing_products=api.get()["products"])
if form.is_valid():
api = CurrentProducts()
api.post(product=form.cleaned_data["product"], version=form.cleaned_data["initial_version"])
log(request.user, "product.add", form.cleaned_data)
messages.success(
request, "Product %s (%s) added." % (form.cleaned_data["product"], form.cleaned_data["initial_version"])
)
return redirect("manage:products")
else:
product = request.GET.get("product")
if product is not None:
messages.error(request, "Product %s not found. Submit the form below to add it." % (product))
form = forms.ProductForm(initial={"product": product, "initial_version": "1.0"})
context["form"] = form
context["page_title"] = "Products"
return render(request, "manage/products.html", context)
示例7: products
def products(request):
context = {}
api = CurrentProducts()
if request.method == 'POST':
form = forms.ProductForm(
request.POST,
existing_products=api.get()['products']
)
if form.is_valid():
api = CurrentProducts()
api.post(
product=form.cleaned_data['product'],
version=form.cleaned_data['initial_version']
)
log(request.user, 'product.add', form.cleaned_data)
messages.success(
request,
'Product %s (%s) added.' % (
form.cleaned_data['product'],
form.cleaned_data['initial_version']
)
)
return redirect('manage:products')
else:
product = request.GET.get('product')
if product is not None:
messages.error(
request,
'Product %s not found. Submit the form below to add it.' % (
product
)
)
form = forms.ProductForm(initial={
'product': product,
'initial_version': '1.0'
})
context['form'] = form
context['page_title'] = "Products"
return render(request, 'manage/products.html', context)
示例8: featured_versions
def featured_versions(request, default_context=None):
context = default_context or {}
products_api = CurrentProducts()
products_api.cache_seconds = 0
products = products_api.get()
context["products"] = products["products"] # yuck!
context["releases"] = {}
now = datetime.date.today()
for product_name in context["products"]:
context["releases"][product_name] = []
for release in products["hits"][product_name]:
start_date = datetime.datetime.strptime(release["start_date"], "%Y-%m-%d").date()
if start_date > now:
continue
end_date = datetime.datetime.strptime(release["end_date"], "%Y-%m-%d").date()
if end_date < now:
continue
context["releases"][product_name].append(release)
return render(request, "manage/featured_versions.html", context)