Revision 1a49199e api/handlers.py
b/api/handlers.py | ||
---|---|---|
6 | 6 |
from django.conf import settings |
7 | 7 |
from django.http import HttpResponse |
8 | 8 |
from piston.handler import BaseHandler, AnonymousBaseHandler |
9 |
from synnefo.api.faults import fault, noContent, accepted, created |
|
9 |
from synnefo.api.faults import fault, noContent, accepted, created, notModified
|
|
10 | 10 |
from synnefo.api.helpers import instance_to_server, paginator |
11 | 11 |
from synnefo.util.rapi import GanetiRapiClient, GanetiApiError, CertificateError |
12 | 12 |
from synnefo.db.models import * |
... | ... | |
14 | 14 |
import random |
15 | 15 |
import string |
16 | 16 |
import logging |
17 |
from datetime import datetime |
|
17 | 18 |
|
18 | 19 |
log = logging.getLogger('synnefo.api.handlers') |
19 | 20 |
|
... | ... | |
109 | 110 |
'id': server.id, |
110 | 111 |
'imageRef': server.sourceimage.id, |
111 | 112 |
'created': server.created, |
112 |
'updated': server.updated,
|
|
113 |
'updated': server.updated, |
|
113 | 114 |
'hostId': server.hostid, |
114 | 115 |
'progress': server.rsapi_state == 'ACTIVE' and 100 or 0, |
115 | 116 |
#'metadata': {'Server_Label': server.description }, |
... | ... | |
129 | 130 |
@paginator |
130 | 131 |
def read_all(self, request, detail=False): |
131 | 132 |
try: |
132 |
changes_since = request.GET.get("changes-since", "")
|
|
133 |
changes_since = request.GET.get("changes_since", 0)
|
|
133 | 134 |
if changes_since: |
134 |
changes_since = datetime.datetime.now() - datetime.timedelta(hours=1) #TODO:remove |
|
135 |
virtual_servers = VirtualMachine.objects.filter(updated__gte=changes_since) |
|
135 |
last_update = datetime.fromtimestamp(int(changes_since)) |
|
136 |
virtual_servers = VirtualMachine.objects.filter(updated__gte=last_update) |
|
137 |
if not len(virtual_servers): |
|
138 |
return notModified |
|
136 | 139 |
else: |
137 | 140 |
virtual_servers = VirtualMachine.objects.filter(deleted=False) |
138 | 141 |
#get all VM's for now, FIX it to take the user's VMs only yet. also don't get deleted VM's |
... | ... | |
146 | 149 |
'id': server.id, |
147 | 150 |
'description': server.description, |
148 | 151 |
'created': server.created, |
149 |
'updated': server.updated, |
|
152 |
'updated': server.updated, |
|
153 |
'deleted': server.deleted, |
|
150 | 154 |
'imageRef': server.sourceimage.id, |
151 | 155 |
'hostId': server.hostid, |
152 | 156 |
'progress': server.rsapi_state == 'ACTIVE' and 100 or 0, |
Also available in: Unified diff