fcd2145b4fb83768cd557551187219e76b4bd919
[plstackapi.git] / planetstack / core / api / deployment_networks.py
1 from types import StringTypes
2 from core.models import DeploymentNetwork
3 from django.contrib.auth import authenticate
4
5 def _get_deployment_networks(filter):
6     if isinstance(filter, StringTypes) and filter.isdigit():
7         filter = int(filter)
8     if isinstance(filter, int):
9         deployment_networks = DeploymentNetwork.objects.filter(id=filter)
10     elif isinstance(filter, StringTypes):
11         deployment_networks = DeploymentNetwork.objects.filter(name=filter)
12     elif isinstance(filter, dict):
13         deployment_networks = DeploymentNetwork.objects.filter(**filter)
14     else:
15         deployment_networks = []
16     return deployment_networks 
17
18 def add_deployment_network(auth, name):
19     user = authenticate(username=auth.get('username'),
20                         password=auth.get('password'))
21     deployment = DeploymentNetwork(name=name)
22     deployment.save()
23     return deployment
24
25 def delete_deployment_network(auth, filter={}):
26     user = authenticate(username=auth.get('username'),
27                         password=auth.get('password'))
28     deployments = _get_deployment_networks(filter)
29     for deployment in deployments:
30         deployment.delete()
31     return 1
32
33 def get_deployment_networks(auth, filter={}):
34     user = authenticate(username=auth.get('username'),
35                         password=auth.get('password'))
36     deployments = _get_deployment_networks(filter)
37     return deployments             
38         
39
40