本文整理汇总了Python中uwsgi_it_api.utils.spit_json函数的典型用法代码示例。如果您正苦于以下问题:Python spit_json函数的具体用法?Python spit_json怎么用?Python spit_json使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了spit_json函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: tags
def tags(request):
customer = request.user.customer
allowed_keys = ('name', 'note')
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
tag = Tag(customer=customer)
for key in allowed_keys:
if key in j:
setattr(tag, key, j[key])
try:
tag.save()
j = {'id': tag.pk, 'name': tag.name, 'note': tag.note}
response = spit_json(request, j)
response.status_code = 201
response.reason_phrase = 'Created'
except:
response = HttpResponse(json.dumps({'error': 'Conflict'}), content_type="application/json")
response.status_code = 409
return response
elif request.method == 'GET':
j = [{'id': t.pk, 'name': t.name} for t in Tag.objects.filter(customer=customer)]
return spit_json(request, j)
response = HttpResponse(json.dumps({'error': 'Method not allowed'}), content_type="application/json")
response.status_code = 405
return response
开发者ID:taifu,项目名称:uwsgi.it,代码行数:29,代码来源:views.py
示例2: tag
def tag(request, id):
customer = request.user.customer
try:
t = Tag.objects.get(customer=customer, pk=id)
except:
return HttpResponseNotFound(json.dumps({"error": "Not found"}), content_type="application/json")
allowed_keys = ("name", "note")
if request.method == "POST":
response = check_body(request)
if response:
return response
j = json.loads(request.read())
for key in allowed_keys:
if key in j:
setattr(t, key, j[key])
try:
t.save()
j = {"id": t.pk, "name": t.name, "note": t.note}
return spit_json(request, j)
except:
response = HttpResponse(json.dumps({"error": "Conflict"}), content_type="application/json")
response.status_code = 409
return response
elif request.method == "GET":
j = {"id": t.pk, "name": t.name, "note": t.note}
return spit_json(request, j)
elif request.method == "DELETE":
t.delete()
return HttpResponse(json.dumps({"message": "Ok"}), content_type="application/json")
allowed_keys = ("name", "note")
response = HttpResponse(json.dumps({"error": "Method not allowed"}), content_type="application/json")
response.status_code = 405
return response
开发者ID:unbit,项目名称:uwsgi.it,代码行数:34,代码来源:views.py
示例3: custom_distros
def custom_distros(request, id=None):
customer = request.user.customer
if not id:
j = [{'id': d.pk, 'name': d.name, 'container': d.container.uid} for d in CustomDistro.objects.filter(container__customer=customer)]
return spit_json(request, j)
try:
container = customer.container_set.get(pk=(int(id) - UWSGI_IT_BASE_UID))
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
if request.method == 'POST':
if not container.custom_distros_storage:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
response = check_body(request)
if response:
return response
j = json.loads(request.read())
distro = CustomDistro(container=container)
allowed_fields = ('name', 'path', 'note')
for field in allowed_fields:
if field in j:
setattr(distro, field, j[field])
try:
distro.full_clean()
distro.save()
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
response = HttpResponse(json.dumps({'message': 'Created'}), content_type="application/json")
response.status_code = 201
return response
j = [{'id': d.pk, 'name': d.name} for d in CustomDistro.objects.filter(container__server=container.server,container__customer=customer).exclude(container=container)]
return spit_json(request, j)
开发者ID:Mikrobit,项目名称:uwsgi.it,代码行数:31,代码来源:views.py
示例4: domain
def domain(request, id):
customer = request.user.customer
try:
domain = customer.domain_set.get(pk=id)
except:
return HttpResponseNotFound(json.dumps({"error": "Not found"}), content_type="application/json")
allowed_keys = ("note",)
if request.method == "POST":
response = check_body(request)
if response:
return response
j = json.loads(request.read())
for key in allowed_keys:
if key in j:
setattr(domain, key, j[key])
if "tags" in j:
new_tags = []
for tag in j["tags"]:
try:
new_tags.append(Tag.objects.get(customer=customer, name=tag))
except:
pass
domain.tags = new_tags
try:
domain.save()
j = {
"id": domain.pk,
"name": domain.name,
"uuid": domain.uuid,
"tags": [t.name for t in domain.tags.all()],
"note": domain.note,
}
return spit_json(request, j)
except:
response = HttpResponse(json.dumps({"error": "Conflict"}), content_type="application/json")
response.status_code = 409
return response
elif request.method == "DELETE":
domain.delete()
return HttpResponse(json.dumps({"message": "Ok"}), content_type="application/json")
elif request.method == "GET":
j = {
"id": domain.pk,
"name": domain.name,
"uuid": domain.uuid,
"tags": [t.name for t in domain.tags.all()],
"note": domain.note,
}
return spit_json(request, j)
response = HttpResponse(json.dumps({"error": "Method not allowed"}), content_type="application/json")
response.status_code = 405
return response
开发者ID:unbit,项目名称:uwsgi.it,代码行数:54,代码来源:views.py
示例5: domain
def domain(request, id):
customer = request.user.customer
try:
domain = customer.domain_set.get(pk=id)
except:
return HttpResponseNotFound(json.dumps({'error': 'Not found'}),
content_type="application/json")
allowed_keys = ('note',)
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
for key in allowed_keys:
if key in j:
setattr(domain, key, j[key])
if 'tags' in j:
new_tags = []
for tag in j['tags']:
try:
new_tags.append(
Tag.objects.get(customer=customer, name=tag))
except:
pass
domain.tags = new_tags
try:
domain.save()
j = {'id': domain.pk, 'name': domain.name, 'uuid': domain.uuid,
'tags': [t.name for t in domain.tags.all()],
'note': domain.note}
return spit_json(request, j)
except:
response = HttpResponse(json.dumps({'error': 'Conflict'}),
content_type="application/json")
response.status_code = 409
return response
elif request.method == 'DELETE':
domain.delete()
return HttpResponse(json.dumps({'message': 'Ok'}),
content_type="application/json")
elif request.method == 'GET':
j = {'id': domain.pk, 'name': domain.name, 'uuid': domain.uuid,
'tags': [t.name for t in domain.tags.all()],
'note': domain.note}
return spit_json(request, j)
response = HttpResponse(json.dumps({'error': 'Method not allowed'}),
content_type="application/json")
response.status_code = 405
return response
开发者ID:pauloxnet,项目名称:uwsgi.it,代码行数:51,代码来源:views.py
示例6: loopbox
def loopbox(request, id):
customer = request.user.customer
try:
loopbox = Loopbox.objects.get(pk=id, container__in=customer.container_set.all())
except:
return HttpResponseForbidden(json.dumps({"error": "Forbidden"}), content_type="application/json")
if request.method == "POST":
response = check_body(request)
if response:
return response
j = json.loads(request.read())
if not j:
return HttpResponseForbidden(json.dumps({"error": "Forbidden"}), content_type="application/json")
if "tags" in j:
new_tags = []
for tag in j["tags"]:
try:
new_tags.append(Tag.objects.get(customer=customer, name=tag))
except:
pass
loopbox.tags = new_tags
loopbox.save()
elif request.method == "DELETE":
loopbox.delete()
return HttpResponse(json.dumps({"message": "Ok"}), content_type="application/json")
l = {
"id": loopbox.pk,
"container": loopbox.container.uid,
"filename": loopbox.filename,
"mountpoint": loopbox.mountpoint,
"ro": loopbox.ro,
"tags": [t.name for t in loopbox.tags.all()],
}
return spit_json(request, l)
开发者ID:unbit,项目名称:uwsgi.it,代码行数:34,代码来源:views.py
示例7: me
def me(request):
customer = request.user.customer
if request.method == "POST":
response = check_body(request)
if response:
return response
allowed_keys = ("vat", "company")
j = json.loads(request.read())
for key in j:
if key in allowed_keys:
setattr(customer, key, j[key])
if "password" in j:
customer.user.set_password(j["password"])
customer.user.save()
if "email" in j:
customer.user.email = j["email"]
customer.user.save()
customer.save()
c = {
"email": customer.user.email,
"vat": customer.vat,
"company": customer.company,
"uuid": customer.uuid,
"containers": [cc.uid for cc in customer.container_set.all()],
"servers": [s.address for s in customer.server_set.all()],
}
return spit_json(request, c)
开发者ID:unbit,项目名称:uwsgi.it,代码行数:27,代码来源:views.py
示例8: custom_distro
def custom_distro(request, id):
customer = request.user.customer
try:
distro = CustomDistro.objects.get(pk=id, container__customer=customer)
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}),
content_type="application/json")
if request.method == 'DELETE':
distro.delete()
return HttpResponse(json.dumps({'message': 'Ok'}),
content_type="application/json")
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
allowd_fields = ('name', 'path', 'note')
for field in allowed_fields:
if field in j:
setattr(distro, field, j[field])
distro.full_clean()
distro.save()
d = {
'id': distro.pk,
'container': distro.container.uid,
'name': distro.name,
'path': distro.path,
'note': distro.note,
'uuid': distro.uuid,
}
return spit_json(request, d)
开发者ID:pauloxnet,项目名称:uwsgi.it,代码行数:31,代码来源:views.py
示例9: alarm
def alarm(request, id):
customer = request.user.customer
try:
alarm = Alarm.objects.get(pk=id,
container__in=customer.container_set.all())
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}),
content_type="application/json")
if request.method == 'DELETE':
alarm.delete()
return HttpResponse(json.dumps({'message': 'Ok'}),
content_type="application/json")
a = {
'id': alarm.pk,
'container': alarm.container.uid,
'level': alarm.level,
'color': alarm.color,
'class': alarm._class,
'line': alarm.line,
'filename': alarm.filename,
'func': alarm.func,
'vassal': alarm.vassal,
'unix': int(alarm.unix.strftime('%s')),
'msg': alarm.msg
}
return spit_json(request, a)
开发者ID:pauloxnet,项目名称:uwsgi.it,代码行数:26,代码来源:views.py
示例10: domains_in_container
def domains_in_container(request, id):
if request.method == 'GET':
customer = request.user.customer
try:
container_obj = customer.container_set.get(pk=(int(id) - UWSGI_IT_BASE_UID))
except:
return HttpResponseNotFound(json.dumps({'error': 'Not found'}),
content_type="application/json")
today = datetime.datetime.today()
domain_list = [{'id': d.pk, 'uuid': d.uuid, 'name': d.name} for d in Domain.objects.filter(
pk__in=HitsDomainMetric.objects.values_list(
'domain', flat=True).filter(
container=container_obj,
year=today.year,
month=today.month,
day=today.day
).order_by('-year', '-month', '-day')
)]
return spit_json(request, domain_list)
response = HttpResponse(json.dumps({'error': 'Method not allowed'}),
content_type="application/json")
response.status_code = 405
return response
开发者ID:unbit,项目名称:uwsgi.it,代码行数:26,代码来源:views.py
示例11: containers_per_domain
def containers_per_domain(request, id):
if request.method == 'GET':
customer = request.user.customer
try:
domain = customer.domain_set.get(pk=id)
except:
return HttpResponseNotFound(json.dumps({'error': 'Not found'}),
content_type="application/json")
today = datetime.datetime.today()
container_list = [{'id': c.pk, 'uuid': c.uuid, 'name': c.name, 'uid': c.uid} for c in Container.objects.filter(
pk__in=HitsDomainMetric.objects.values_list(
'container', flat=True).filter(
domain=domain,
year=today.year,
month=today.month,
day=today.day
).order_by('-year', '-month', '-day')
)]
return spit_json(request, container_list)
response = HttpResponse(json.dumps({'error': 'Method not allowed'}),
content_type="application/json")
response.status_code = 405
return response
开发者ID:unbit,项目名称:uwsgi.it,代码行数:25,代码来源:views.py
示例12: custom_distro
def custom_distro(request, id):
customer = request.user.customer
try:
distro = CustomDistro.objects.get(pk=id, container__customer=customer)
except:
return HttpResponseForbidden(json.dumps({"error": "Forbidden"}), content_type="application/json")
if request.method == "DELETE":
distro.delete()
return HttpResponse(json.dumps({"message": "Ok"}), content_type="application/json")
if request.method == "POST":
response = check_body(request)
if response:
return response
j = json.loads(request.read())
allowd_fields = ("name", "path", "note")
for field in allowed_fields:
if field in j:
setattr(distro, field, j[field])
distro.full_clean()
distro.save()
d = {
"id": distro.pk,
"container": distro.container.uid,
"name": distro.name,
"path": distro.path,
"note": distro.note,
"uuid": distro.uuid,
}
return spit_json(request, d)
开发者ID:unbit,项目名称:uwsgi.it,代码行数:29,代码来源:views.py
示例13: metrics_container_do
def metrics_container_do(request, container, qs, prefix):
"""
you can ask metrics for a single day of the year (288 metrics is the worst/general case)
if the day is today, the response is cached for 5 minutes, otherwise it is cached indefinitely
"""
today = datetime.datetime.today()
year = today.year
month = today.month
day = today.day
if 'year' in request.GET:year = int(request.GET['year'])
if 'month' in request.GET: month = int(request.GET['month'])
if 'day' in request.GET: day = int(request.GET['day'])
expires = 86400
if day != today.day or month != today.month or year != today.year: expires = 300
try:
# this will trigger the db query
if not UWSGI_IT_METRICS_CACHE: raise
cache = get_cache(UWSGI_IT_METRICS_CACHE)
j = cache.get("%s_%d_%d_%d_%d" % (prefix, container.uid, year, month, day))
if not j:
j = qs.get(year=year,month=month,day=day).json
cache.set("%s_%d_%d_%d_%d" % (prefix, container.uid, year, month, day ), j, expires)
except:
import sys
print sys.exc_info()
try:
j = qs.get(year=year,month=month,day=day).json
except:
j = "[]"
return spit_json(request, j, expires, True)
开发者ID:Jiloc,项目名称:uwsgi.it,代码行数:30,代码来源:views_metrics.py
示例14: loopbox
def loopbox(request, id):
customer = request.user.customer
try:
loopbox = Loopbox.objects.get(pk=id, container__in=customer.container_set.all())
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
if not j:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
if 'tags' in j:
new_tags = []
for tag in j['tags']:
try:
new_tags.append(Tag.objects.get(customer=customer, name=tag))
except:
pass
loopbox.tags = new_tags
loopbox.save()
elif request.method == 'DELETE':
loopbox.delete()
return HttpResponse(json.dumps({'message': 'Ok'}), content_type="application/json")
l = {
'id': loopbox.pk,
'container': loopbox.container.uid,
'filename': loopbox.filename,
'mountpoint': loopbox.mountpoint,
'ro': loopbox.ro,
'tags': [t.name for t in loopbox.tags.all()]
}
return spit_json(request, l)
开发者ID:taifu,项目名称:uwsgi.it,代码行数:34,代码来源:views.py
示例15: private_containers
def private_containers(request):
try:
server = Server.objects.get(address=request.META['REMOTE_ADDR'])
j = [{'uid':container.uid, 'mtime': container.munix, 'ssh_keys_mtime': container.ssh_keys_munix } for container in server.container_set.exclude(distro__isnull=True).exclude(ssh_keys_raw__exact='').exclude(ssh_keys_raw__isnull=True)]
return spit_json(request, j)
except:
return HttpResponseForbidden('Forbidden\n')
开发者ID:xcash,项目名称:uwsgi.it,代码行数:7,代码来源:views_private.py
示例16: private_loopboxes
def private_loopboxes(request):
try:
server = Server.objects.get(address=request.META['REMOTE_ADDR'])
j = [{'id': loopbox.pk, 'uid':loopbox.container.uid, 'filename': loopbox.filename, 'mountpoint': loopbox.mountpoint, 'ro': loopbox.ro } for loopbox in Loopbox.objects.filter(container__server=server)]
return spit_json(request, j)
except:
return HttpResponseForbidden('Forbidden\n')
开发者ID:xcash,项目名称:uwsgi.it,代码行数:7,代码来源:views_private.py
示例17: private_privileged_secret_uuids
def private_privileged_secret_uuids(request):
try:
privileged_client = PrivilegedClient.objects.get(address=request.META['REMOTE_ADDR'])
j = [{'uid':container.uid, 'mtime': container.munix, 'secret_uuid': container.secret_uuid, 'address': container.server.address } for container in Container.objects.all().exclude(distro__isnull=True).exclude(ssh_keys_raw__exact='').exclude(ssh_keys_raw__isnull=True)]
return spit_json(request, j)
except:
return HttpResponseForbidden('Forbidden\n')
开发者ID:20tab,项目名称:uwsgi.it,代码行数:7,代码来源:views_private.py
示例18: private_custom_services
def private_custom_services(request):
try:
server = Server.objects.get(address=request.META['REMOTE_ADDR'])
j = [{'customer':service.customer.pk, 'config': service.config, 'mtime': service.munix, 'id': service.pk } for service in server.customservice_set.all()]
return spit_json(request, j)
except:
return HttpResponseForbidden('Forbidden\n')
开发者ID:xcash,项目名称:uwsgi.it,代码行数:7,代码来源:views_private.py
示例19: domains
def domains(request):
customer = request.user.customer
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
if Domain.objects.filter(name=j['name']):
response = HttpResponse(json.dumps({'error': 'Conflict'}),
content_type="application/json")
response.status_code = 409
return response
if dns_check(j['name'], customer.uuid):
try:
customer.domain_set.create(name=j['name'])
response = HttpResponse(json.dumps({'message': 'Created'}),
content_type="application/json")
response.status_code = 201
except:
response = HttpResponse(json.dumps({'error': 'Conflict'}),
content_type="application/json")
response.status_code = 409
return response
else:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}),
content_type="application/json")
elif request.method == 'DELETE':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
try:
customer.domain_set.get(name=j['name']).delete()
except Domain.DoesNotExist:
return HttpResponseNotFound(json.dumps({'error': 'Not found'}),
content_type="application/json")
return HttpResponse(json.dumps({'message': 'Ok'}),
content_type="application/json")
elif request.method == 'GET':
if 'tags' in request.GET:
j = [{'id': d.pk, 'name': d.name, 'uuid': d.uuid,
'tags': [t.name for t in d.tags.all()]} for d in
customer.domain_set.filter(
tags__name__in=request.GET['tags'].split(','))]
else:
j = [{'id': d.pk, 'name': d.name, 'uuid': d.uuid,
'tags': [t.name for t in d.tags.all()]} for d in
customer.domain_set.all()]
return spit_json(request, j)
response = HttpResponse(json.dumps({'error': 'Method not allowed'}),
content_type="application/json")
response.status_code = 405
return response
开发者ID:pauloxnet,项目名称:uwsgi.it,代码行数:57,代码来源:views.py
示例20: containers
def containers(request):
if request.method == 'POST':
response = check_body(request)
if response:
return response
j = json.loads(request.read())
needed_keys = ('server', 'name', 'memory', 'storage')
for k in needed_keys:
if not k in j.keys():
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
try:
server = Server.objects.get(address=j['server'])
if server.owner != request.user.customer:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
except:
return HttpResponseForbidden(json.dumps({'error': 'Forbidden'}), content_type="application/json")
try:
container = Container(customer=request.user.customer, server=server)
container.name = j['name']
container.memory = int(j['memory'])
container.storage = int(j['storage'])
container.save()
response = HttpResponse(json.dumps({'message': 'Created'}), content_type="application/json")
response.status_code = 201
return response
except:
response = HttpResponse(json.dumps({'error': 'Conflict'}), content_type="application/json")
response.status_code = 409
return response
elif (request.method == 'GET' and
'tags' in request.GET):
containers = request.user.customer.container_set.filter(tags__name__in=request.GET['tags'].split(','))
else:
containers = request.user.customer.container_set.all()
c = []
for container in containers:
cc = {
'uid': container.uid,
'name': container.name,
'hostname': container.hostname,
'ip': str(container.ip),
'memory': container.memory,
'storage': container.storage,
'uuid': container.uuid,
'distro': None,
'distro_name': None,
'server': container.server.name,
'server_address': container.server.address,
'tags': [t.name for t in container.tags.all()]
}
if container.distro:
cc['distro'] = container.distro.pk
cc['distro_name'] = container.distro.name
c.append(cc)
return spit_json(request, c)
开发者ID:taifu,项目名称:uwsgi.it,代码行数:57,代码来源:views.py
注:本文中的uwsgi_it_api.utils.spit_json函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论