update restapi to use OpenStackManager instead of OpenStackDriver
[plstackapi.git] / plstackapi / core / api / images.py
index b773b0b..ec18c11 100644 (file)
@@ -1,8 +1,19 @@
-from plstackapi.openstack.client import OpenStackClient
-from plstackapi.openstack.driver import OpenStackDriver
-from plstackapi.core.api.auth import auth_check
+from types import StringTypes
+from django.contrib.auth import authenticate
 from plstackapi.core.models import Image
  
+def _get_images(filter):
+    if isinstance(filter, StringTypes) and filter.isdigit():
+        filter = int(filter)
+    if isinstance(filter, int):
+        images = Image.objects.filter(id=filter)
+    elif isinstance(filter, StringTypes):
+        images = Image.objects.filter(name=filter)
+    elif isinstance(filter, dict):
+        images = Image.objects.filter(**filter)
+    else:
+        images = []
+    return images
 
 def add_image(auth, fields={}):
     """not implemented"""
@@ -13,8 +24,9 @@ def delete_image(auth, filter={}):
     return 1
 
 def get_images(auth, filter={}):
-    auth_check(auth)   
-    images = Image.objects.filter(**filter)
+    user = authenticate(username=auth.get('username'),
+                        password=auth.get('password'))
+    images = _get_images(filter)
     return images