Revision 253f0c82 api/handlers.py

b/api/handlers.py
5 5

  
6 6
from piston.handler import BaseHandler, AnonymousBaseHandler
7 7
from synnefo.api.faults import fault, noContent, accepted, created
8
from synnefo.api.helpers import instance_to_server
9
from synnefo.util.rapi import GanetiRapiClient
10
from django.conf import settings
11

  
12
rapi = GanetiRapiClient(*settings.GANETI_CLUSTER_INFO)
8 13

  
9 14
VERSIONS = [
10 15
    {
......
38 43
    def read(self, request, id=None):
39 44
        if id is None:
40 45
            return self.read_all(request)
41
        elif id is "detail":
46
        elif id == "detail":
42 47
            return self.read_all(request, detail=True)
43 48
        else:
44 49
            return self.read_one(request, id)
45 50

  
46 51
    def read_one(self, request, id):
47
        print ("server info %s" % id)
48
        return {}
52
        instance = rapi.GetInstance(id)
53
        return { "server": instance_to_server(instance) }
49 54

  
50 55
    def read_all(self, request, detail=False):
51 56
        if not detail:
52
            print "server info all"
57
            instances = rapi.GetInstances(bulk=False)
58
            servers = [ { "id": id, "name": id } for id in instances ]
53 59
        else:
54
            print "server info all detail"
55
        return {}
60
            instances = rapi.GetInstances(bulk=True)
61
            servers = []
62
            for instance in instances:
63
                servers.append(instance_to_server(instance))
64
        return { "servers": servers }
56 65

  
57 66
    def create(self, request):
58 67
        return accepted

Also available in: Unified diff