From: Tony Mack Date: Fri, 12 Apr 2013 01:24:17 +0000 (-0400) Subject: fix pk lookups X-Git-Tag: 1.0~122 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=sidebyside;h=5df6c559661cb9a080b60519550084a516ab98db;p=plstackapi.git fix pk lookups --- diff --git a/plstackapi/core/api/deployment_networks.py b/plstackapi/core/api/deployment_networks.py index 80b4ff3..00ee2e8 100644 --- a/plstackapi/core/api/deployment_networks.py +++ b/plstackapi/core/api/deployment_networks.py @@ -1,14 +1,17 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check from plstackapi.core.models import DeploymentNetwork def _get_deployment_networks(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): deployment_networks = DeploymentNetwork.objects.filter(id=filter) elif isinstance(filter, StringTypes): deployment_networks = DeploymentNetwork.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): deployment_networks = DeploymentNetwork.objects.filter(**filter) else: deployment_networks = [] diff --git a/plstackapi/core/api/flavors.py b/plstackapi/core/api/flavors.py index ee55f73..94c38eb 100644 --- a/plstackapi/core/api/flavors.py +++ b/plstackapi/core/api/flavors.py @@ -1,14 +1,17 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check from plstackapi.core.models import Flavor def _get_flavors(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): flavors = Flavor.objects.filter(id=filter) elif isinstance(filter, StringTypes): flavors = Flavor.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): flavors = Flavor.objects.filter(**filter) else: flavors = [] diff --git a/plstackapi/core/api/images.py b/plstackapi/core/api/images.py index 0b14043..ef197a6 100644 --- a/plstackapi/core/api/images.py +++ b/plstackapi/core/api/images.py @@ -1,14 +1,17 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check 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(filer, dict): + elif isinstance(filter, dict): images = image.objects.filter(**filter) else: images = [] diff --git a/plstackapi/core/api/keys.py b/plstackapi/core/api/keys.py index 2c90140..42ffe46 100644 --- a/plstackapi/core/api/keys.py +++ b/plstackapi/core/api/keys.py @@ -1,3 +1,4 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -6,11 +7,13 @@ from plstackapi.core.api.users import _get_users def _get_keys(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): keys = Key.objects.filter(id=filter) elif isinstance(filter, StringTypes): keys = Key.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): keys = Key.objects.filter(**filter) else: keys = [] diff --git a/plstackapi/core/api/nodes.py b/plstackapi/core/api/nodes.py index 47934ba..9b6a65c 100644 --- a/plstackapi/core/api/nodes.py +++ b/plstackapi/core/api/nodes.py @@ -1,14 +1,17 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check from plstackapi.core.models import Node def _get_nodes(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): nodes = Node.objects.filter(id=filter) elif isinstance(filter, StringTypes): nodes = Node.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): nodes = Node.objects.filter(**filter) else: nodes = [] diff --git a/plstackapi/core/api/roles.py b/plstackapi/core/api/roles.py index 6c61e25..b243d78 100644 --- a/plstackapi/core/api/roles.py +++ b/plstackapi/core/api/roles.py @@ -6,6 +6,8 @@ from plstackapi.core.models import Role def _get_roles(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): roles = Role.objects.filter(id=filter) elif isinstance(filter, StringTypes): diff --git a/plstackapi/core/api/site_privileges.py b/plstackapi/core/api/site_privileges.py index 4c4158e..73280c6 100644 --- a/plstackapi/core/api/site_privileges.py +++ b/plstackapi/core/api/site_privileges.py @@ -1,3 +1,4 @@ +from types import StringTypes import re from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver @@ -9,11 +10,13 @@ from plstackapi.core.api.roles import _get_roles def _get_site_privileges(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): site_privileges = SitePrivilege.objects.filter(id=filter) elif isinstance(filter, StringTypes): site_privileges = SitePrivilege.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): site_privileges = SitePrivilege.objects.filter(**filter) else: site_privileges = [] diff --git a/plstackapi/core/api/sites.py b/plstackapi/core/api/sites.py index 540f815..daf8fa1 100644 --- a/plstackapi/core/api/sites.py +++ b/plstackapi/core/api/sites.py @@ -1,3 +1,4 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -5,11 +6,13 @@ from plstackapi.core.models import Site def _get_sites(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): sites = Site.objects.filter(id=filter) elif isinstance(filter, StringTypes): sites = Site.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): sites = Site.objects.filter(**filter) else: sites = [] diff --git a/plstackapi/core/api/slice_memberships.py b/plstackapi/core/api/slice_memberships.py index 9193632..54a1cba 100644 --- a/plstackapi/core/api/slice_memberships.py +++ b/plstackapi/core/api/slice_memberships.py @@ -1,4 +1,4 @@ -import re +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -8,11 +8,13 @@ from plstackapi.core.api.slices import _get_slices from plstackapi.core.api.roles import _get_roles def _get_slice_memberships(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): slice_memberships = SitePrivilege.objects.filter(id=filter) elif isinstance(filter, StringTypes): slice_memberships = SitePrivilege.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): slice_memberships = SitePrivilege.objects.filter(**filter) else: slice_memberships = [] diff --git a/plstackapi/core/api/slices.py b/plstackapi/core/api/slices.py index 731fa75..bfbc4d9 100644 --- a/plstackapi/core/api/slices.py +++ b/plstackapi/core/api/slices.py @@ -1,4 +1,4 @@ -import re +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -7,11 +7,13 @@ from plstackapi.core.api.sites import _get_sites def _get_slices(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): slices = Slice.objects.filter(id=filter) elif isinstance(filter, StringTypes): slices = Slice.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): slices = Slice.objects.filter(**filter) else: slices = [] diff --git a/plstackapi/core/api/slivers.py b/plstackapi/core/api/slivers.py index 0bdaa5d..f3807ab 100644 --- a/plstackapi/core/api/slivers.py +++ b/plstackapi/core/api/slivers.py @@ -1,4 +1,4 @@ -import re +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -12,11 +12,13 @@ from plstackapi.core.api.nodes import _get_nodes def _get_slivers(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): slivers = Sliver.objects.filter(id=filter) elif isinstance(filter, StringTypes): slivers = Sliver.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): slivers = Sliver.objects.filter(**filter) else: slivers = [] diff --git a/plstackapi/core/api/subnets.py b/plstackapi/core/api/subnets.py index ad53da0..33a0269 100644 --- a/plstackapi/core/api/subnets.py +++ b/plstackapi/core/api/subnets.py @@ -1,4 +1,4 @@ -import re +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -6,11 +6,13 @@ from plstackapi.core.models import Subnet from plstackapi.core.api.slices import _get_slices def _get_subnets(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): subnets = Subnet.objects.filter(id=filter) elif isinstance(filter, StringTypes): subnets = Subnet.objects.filter(name=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): subnets = Subnet.objects.filter(**filter) else: subnets = [] diff --git a/plstackapi/core/api/users.py b/plstackapi/core/api/users.py index d543782..b2ba681 100644 --- a/plstackapi/core/api/users.py +++ b/plstackapi/core/api/users.py @@ -1,3 +1,4 @@ +from types import StringTypes from plstackapi.openstack.client import OpenStackClient from plstackapi.openstack.driver import OpenStackDriver from plstackapi.core.api.auth import auth_check @@ -5,11 +6,13 @@ from plstackapi.core.models import User, Site from plstackapi.core.api.sites import _get_sites def _get_users(filter): + if isinstance(filter, StringTypes) and filter.isdigit(): + filter = int(filter) if isinstance(filter, int): users = User.objects.filter(id=filter) elif isinstance(filter, StringTypes): users = User.objects.filter(role_type=filter) - elif isinstance(filer, dict): + elif isinstance(filter, dict): users = User.objects.filter(**filter) else: users = []