• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.spit_json函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python browse_page.BrowsePage类代码示例发布时间:2022-05-26
下一篇:
Python utils.check_body函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap