Skip to content

Commit 001e9d6

Browse files
committed
Re #11 -- more docstring progress
1 parent 3797daf commit 001e9d6

3 files changed

Lines changed: 43 additions & 53 deletions

File tree

api/models.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ def import_tasks(provider_type):
4444

4545

4646
class AuditedModel(models.Model):
47-
"""Add created and updated fields to a model.
48-
"""
47+
"""Add created and updated fields to a model."""
4948

5049
created = models.DateTimeField(auto_now_add=True)
5150
updated = models.DateTimeField(auto_now=True)
@@ -56,8 +55,7 @@ class Meta:
5655

5756

5857
class UuidAuditedModel(AuditedModel):
59-
"""Add a UUID primary key to an audited model.
60-
"""
58+
"""Add a UUID primary key to an :class:`AuditedModel`."""
6159

6260
uuid = fields.UuidField('UUID', primary_key=True)
6361

@@ -122,11 +120,10 @@ class Meta:
122120

123121
@python_2_unicode_compatible
124122
class FlavorManager(models.Manager):
125-
126-
"""Manages database interactions for :class:`Flavor`."""
123+
"""Manage database interactions for :class:`Flavor`."""
127124

128125
def load_cloud_config_base(self):
129-
"""Read the base configuration file and return the YAML data it contains."""
126+
"""Read the base configuration file and return YAML data."""
130127
# load cloud-config-base yaml_
131128
_cloud_config_path = os.path.abspath(
132129
os.path.join(__file__, '..', 'files', 'cloud-config-base.yml'))
@@ -198,6 +195,7 @@ class ScalingError(Exception):
198195

199196
@python_2_unicode_compatible
200197
class FormationManager(models.Manager):
198+
"""Manage database interactions for :class:`Formation`."""
201199

202200
def publish(self, **kwargs):
203201
# build data bag
@@ -259,6 +257,7 @@ class Meta:
259257
unique_together = (('owner', 'id'),)
260258

261259
def scale_layers(self, **kwargs):
260+
"""Scale layers up or down to match requested."""
262261
layers = self.layers.copy()
263262
funcs = []
264263
for layer_id, requested in layers.items():
@@ -293,6 +292,7 @@ def scale_layers(self, **kwargs):
293292
return databag
294293

295294
def scale_containers(self, **kwargs):
295+
"""Scale containers up or down to match requested."""
296296
requested_containers = self.containers.copy()
297297
runtime_layers = self.layer_set.filter(id='runtime')
298298
if len(runtime_layers) < 1:
@@ -389,7 +389,7 @@ def __str__(self):
389389
return self.id
390390

391391
def calculate(self):
392-
"Return a Chef data bag item for this formation"
392+
"""Return a Chef data bag item for this formation"""
393393
release = self.release_set.all().order_by('-created')[0]
394394
d = {}
395395
d['id'] = self.id
@@ -427,7 +427,7 @@ def calculate(self):
427427
return d
428428

429429
def converge(self, databag):
430-
# call a celery task to update the formation data bag
430+
"""Call a celery task to update the formation data bag."""
431431
if settings.CHEF_ENABLED:
432432
controller.update_formation.delay(self.id, databag).wait() # @UndefinedVariable
433433
# TODO: batch node converging by layer.level
@@ -437,7 +437,7 @@ def converge(self, databag):
437437
return databag
438438

439439
def destroy(self):
440-
# create subtasks to terminate all nodes in parallel
440+
"""Create subtasks to terminate all nodes in parallel."""
441441
all_layers = self.layer_set.all()
442442
tasks = [layer.destroy(async=True) for layer in all_layers]
443443
node_tasks, layer_tasks = [], []
@@ -626,7 +626,7 @@ def destroy(self, async=False):
626626
class Container(UuidAuditedModel):
627627

628628
"""
629-
Docker container used to securely host an application process
629+
Docker container used to securely host an application process.
630630
"""
631631

632632
owner = models.ForeignKey(settings.AUTH_USER_MODEL)

api/routers.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,46 @@
44

55
from __future__ import unicode_literals
66

7-
from rest_framework import routers
7+
from rest_framework.routers import DefaultRouter
88
from rest_framework.routers import Route
99

1010

11-
class ApiRouter(routers.DefaultRouter):
12-
13-
"""Routes UUID interchangeably with owner/handle."""
11+
class ApiRouter(DefaultRouter):
12+
"""Generate URL patterns for list, detail, and viewset-specific
13+
HTTP routes.
14+
"""
1415

1516
routes = [
1617
# List route.
1718
Route(
18-
url=r'^{prefix}/?$',
19+
url=r"^{prefix}/?$",
1920
mapping={
2021
'get': 'list',
2122
'post': 'create'
2223
},
23-
name='{basename}-list',
24+
name="{basename}-list",
2425
initkwargs={'suffix': 'List'}
2526
),
2627
# Detail route.
2728
Route(
28-
url=r'^{prefix}/{lookup}/?$',
29+
url=r"^{prefix}/{lookup}/?$",
2930
mapping={
3031
'get': 'retrieve',
3132
'put': 'update',
3233
'patch': 'partial_update',
3334
'delete': 'destroy'
3435
},
35-
name='{basename}-detail',
36+
name="{basename}-detail",
3637
initkwargs={'suffix': 'Instance'}
3738
),
3839
# Dynamically generated routes, from @action or @link decorators
3940
# on methods of the viewset.
4041
Route(
41-
url=r'^{prefix}/{lookup}/{methodname}/?$',
42+
url=r"^{prefix}/{lookup}/{methodname}/?$",
4243
mapping={
43-
'{httpmethod}': '{methodname}',
44+
"{httpmethod}": "{methodname}",
4445
},
45-
name='{basename}-{methodnamehyphen}',
46+
name="{basename}-{methodnamehyphen}",
4647
initkwargs={}
4748
),
4849
]

api/serializers.py

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313

1414

1515
class UserSerializer(serializers.ModelSerializer):
16-
17-
"""Serializes a User model."""
16+
"""Serialize a :class:`~api.models.User` model."""
1817

1918
class Meta:
2019
"""Metadata options for a UserSerializer."""
@@ -24,7 +23,7 @@ class Meta:
2423

2524
@property
2625
def data(self):
27-
"Custom data property that removes secure user fields"
26+
"""Custom data property that removes secure user fields"""
2827
d = super(UserSerializer, self).data
2928
for f in ('password',):
3029
if f in d:
@@ -33,8 +32,7 @@ def data(self):
3332

3433

3534
class KeySerializer(serializers.ModelSerializer):
36-
37-
"""Serializes a Key model."""
35+
"""Serialize a :class:`~api.models.Key` model."""
3836

3937
owner = serializers.Field(source='owner.username')
4038

@@ -45,8 +43,7 @@ class Meta:
4543

4644

4745
class ProviderSerializer(serializers.ModelSerializer):
48-
49-
"""Serializes a Provider model."""
46+
"""Serialize a :class:`~api.models.Provider` model."""
5047

5148
owner = serializers.Field(source='owner.username')
5249

@@ -57,84 +54,78 @@ class Meta:
5754

5855

5956
class FlavorSerializer(serializers.ModelSerializer):
60-
61-
"""Serializes a Flavor model."""
57+
"""Serialize a :class:`~api.models.Flavor` model."""
6258

6359
owner = serializers.Field(source='owner.username')
6460
provider = serializers.SlugRelatedField(slug_field='id')
6561

6662
class Meta:
67-
"""Metadata options for a FlavorSerializer."""
63+
"""Metadata options for a :class:`FlavorSerializer`."""
6864
model = models.Flavor
6965
read_only_fields = ('created', 'updated')
7066

7167

7268
class ConfigSerializer(serializers.ModelSerializer):
73-
74-
"""Serializes a Config model."""
69+
"""Serialize a :class:`~api.models.Config` model."""
7570

7671
owner = serializers.Field(source='owner.username')
7772
formation = serializers.SlugRelatedField(slug_field='id')
7873
values = serializers.ModelField(
7974
model_field=models.Config()._meta.get_field('values'), required=False)
8075

8176
class Meta:
82-
"""Metadata options for a ConfigSerializer."""
77+
"""Metadata options for a :class:`ConfigSerializer`."""
8378
model = models.Config
8479
read_only_fields = ('uuid', 'created', 'updated')
8580

8681

8782
class BuildSerializer(serializers.ModelSerializer):
88-
89-
"""Serializes a Build model."""
83+
"""Serialize a :class:`~api.models.Build` model."""
9084

9185
owner = serializers.Field(source='owner.username')
9286
formation = serializers.SlugRelatedField(slug_field='id')
9387

9488
class Meta:
95-
"""Metadata options for a BuildSerializer."""
89+
"""Metadata options for a :class:`BuildSerializer`."""
9690
model = models.Build
9791
read_only_fields = ('uuid', 'created', 'updated')
9892

9993

10094
class ReleaseSerializer(serializers.ModelSerializer):
101-
102-
"""Serializes a Release model."""
95+
"""Serialize a :class:`~api.models.Release` model."""
10396

10497
owner = serializers.Field(source='owner.username')
10598
formation = serializers.SlugRelatedField(slug_field='id')
10699
config = serializers.SlugRelatedField(slug_field='uuid')
107100
build = serializers.SlugRelatedField(slug_field='uuid', required=False)
108101

109102
class Meta:
110-
"""Metadata options for a ReleaseSerializer."""
103+
"""Metadata options for a :class:`ReleaseSerializer`."""
111104
model = models.Release
112105
read_only_fields = ('uuid', 'created', 'updated')
113106

114107

115108
class FormationSerializer(serializers.ModelSerializer):
116-
117-
"""Serializes a Formation model."""
109+
"""Serialize a :class:`~api.models.Formation` model."""
118110

119111
owner = serializers.Field(source='owner.username')
120112
id = serializers.SlugField(default=utils.generate_app_name)
121113

122114
class Meta:
123-
"""Metadata options for a FormationSerializer."""
115+
"""Metadata options for a :class:`FormationSerializer`."""
124116
model = models.Formation
125117
read_only_fields = ('created', 'updated')
126118

127119

128120
class LayerSerializer(serializers.ModelSerializer):
129-
130-
"""Serializes a Layer model."""
121+
"""Serialize a :class:`~api.models.Layer` model."""
131122

132123
owner = serializers.Field(source='owner.username')
133124
formation = serializers.SlugRelatedField(slug_field='id')
134125
flavor = serializers.SlugRelatedField(slug_field='id')
135126

136127
class Meta:
137-
"""Metadata options for a LayerSerializer."""
128+
"""Metadata options for a :class:`LayerSerializer`."""
138129
model = models.Layer
139130
read_only_fields = ('created', 'updated')
140131

@@ -149,28 +140,26 @@ def data(self):
149140

150141

151142
class NodeSerializer(serializers.ModelSerializer):
152-
153-
"""Serializes a Node model."""
143+
"""Serialize a :class:`~api.models.Node` model."""
154144

155145
owner = serializers.Field(source='owner.username')
156146
formation = serializers.SlugRelatedField(slug_field='id')
157147
layer = serializers.SlugRelatedField(slug_field='id')
158148

159149
class Meta:
160-
"""Metadata options for a NodeSerializer."""
150+
"""Metadata options for a :class:`NodeSerializer`."""
161151
model = models.Node
162152
read_only_fields = ('created', 'updated')
163153

164154

165155
class ContainerSerializer(serializers.ModelSerializer):
166-
167-
"""Serializes a Container model."""
156+
"""Serialize a :class:`~api.models.Container` model."""
168157

169158
owner = serializers.Field(source='owner.username')
170159
formation = serializers.SlugRelatedField(slug_field='id')
171160
node = serializers.SlugRelatedField(slug_field='uuid')
172161

173162
class Meta:
174-
"""Metadata options for a ContainerSerializer."""
163+
"""Metadata options for a :class:`ContainerSerializer`."""
175164
model = models.Container
176165
read_only_fields = ('created', 'updated')

0 commit comments

Comments
 (0)