Skip to content
This repository was archived by the owner on Aug 4, 2023. It is now read-only.

Commit e3829d5

Browse files
style: fix linter issues
1 parent c341c0d commit e3829d5

File tree

10 files changed

+53
-32
lines changed

10 files changed

+53
-32
lines changed

flamingo/models/app.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class App(Document):
4848
_environment: Environment = None
4949

5050
def __post_init__(self):
51-
environment = self.environment # check if environment name actually exists, and caches it
51+
_ = self.environment # check if environment name actually exists, and caches it
5252

5353
self.name = slugify(self.name)
5454

@@ -117,7 +117,12 @@ def get_all_env_vars(self) -> List[EnvVar]:
117117

118118
if self.gateway:
119119
all_vars.extend([
120-
EnvVar(key='GCP_GATEWAY_ENDPOINT', value=self.gateway.gateway_endpoint, is_secret=False, source=by_flamingo),
120+
EnvVar(
121+
key='GCP_GATEWAY_ENDPOINT',
122+
value=self.gateway.gateway_endpoint,
123+
is_secret=False,
124+
source=by_flamingo,
125+
),
121126
])
122127

123128
for integrated_app in self.integrated_apps:

flamingo/models/build.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ class Build(EmbeddedDocument):
3838
def __post_init__(self):
3939
if not self.deploy_tag and not self.deploy_branch:
4040
raise exceptions.ValidationError(message="Either deploy_tag or deploy_branch must be provided")
41-
if self.max_instances < 1:
42-
self.max_instances = 1
41+
self.max_instances = max(self.max_instances, 1)
4342

4443
def serialize(self) -> dict:
4544
data = super().serialize()

flamingo/services/alias_engine.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def replace(self, virtual_value):
3333
for alias_to in aliases_to:
3434
try:
3535
replace_with = self.replacements[alias_to]
36-
new_value = new_value.replace("${%s}" % alias_to, replace_with)
36+
new_value = new_value.replace(f"${{{alias_to}}}", replace_with)
3737
except KeyError as e:
3838
raise ValidationError(f"Could not find the referenced value for {alias_to}") from e
3939

@@ -43,8 +43,8 @@ def replace(self, virtual_value):
4343
class AliasEngine:
4444
def __init__(self, items: KeyValue, replacements: ReplacementEngine = None):
4545
super().__init__()
46-
self._concrete: KeyValue = dict()
47-
self._virtual: KeyValue = dict()
46+
self._concrete: KeyValue = {}
47+
self._virtual: KeyValue = {}
4848

4949
if not replacements:
5050
replacements = ReplacementEngine()

flamingo/services/bootstrap.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from dataclasses import dataclass
22

3-
import settings
43
from models.app import App
54
from models.base import random_password
65
from models.bucket import Bucket

flamingo/services/builders.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ def _get_db_as_param(self, command: str) -> List[str]:
8585

8686
def _get_env_var_as_param(self, command: str = '--set-env-var') -> List[str]:
8787
params = []
88-
for key, value in self._env_vars.items():
88+
for key, _ in self._env_vars.items():
8989
sub_variable = getattr(self._substitution, f'{self.ENV_PREFIX_KEY}{key}')
9090
params.extend([command, sub_variable.as_env_var(key=key)])
9191
return params
9292

9393
def _get_build_args_as_param(self, command: str = '--build-arg') -> List[str]:
9494
build_params = []
95-
for key, value in self._build_args.items():
95+
for key, _ in self._build_args.items():
9696
sub_variable = getattr(self._substitution, key)
9797
build_params.extend([command, sub_variable.as_env_var()])
9898
return build_params
@@ -414,14 +414,14 @@ def get_url(self):
414414
class CloudFunctionsFactory(BuildTriggerFactory):
415415
# TODO: setup this <https://cloud.google.com/functions/docs/reference/iam/roles#additional-configuration>
416416
def _get_setup_params(self) -> KeyValue:
417-
from gcp_pilot.functions import CloudFunctions
417+
from gcp_pilot.functions import CloudFunctions # pylint: disable=import-outside-toplevel
418418

419419
if self._build.deploy_tag:
420420
kwargs = dict(tag=self._build.deploy_tag)
421421
elif self._build.deploy_branch:
422422
kwargs = dict(branch=self._build.deploy_branch)
423423
else:
424-
kwargs = dict()
424+
kwargs = {}
425425

426426
directory = self._build.directory
427427
repo_url = CloudFunctions.build_repo_source(

flamingo/services/foundations.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def get_jobs(self) -> Dict[str, Callable]:
6363
}
6464

6565
async def setup_iam(self):
66-
iam = IdentityAccessManager()
6766
grm = ResourceManager()
6867

6968
roles = [
@@ -158,7 +157,7 @@ async def setup_placeholder(self):
158157
)
159158

160159
try:
161-
gateway_config = gateway.create_config(
160+
gateway.create_config(
162161
config_name=f"{self.app.name}-placeholder",
163162
api_name=self.app.gateway.api_name,
164163
service_account=self.app.service_account.email,
@@ -167,7 +166,7 @@ async def setup_placeholder(self):
167166
project_id=self.app.project.id,
168167
)
169168
except AlreadyExists:
170-
gateway_config = gateway.get_config(
169+
gateway.get_config(
171170
config_name=f"{self.app.name}-placeholder",
172171
api_name=self.app.gateway.api_name,
173172
project_id=self.app.project.id,

flamingo/views/app_views.py

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
from sanic import Blueprint
44
from sanic.request import Request
55
from sanic_rest import exceptions
6+
from sanic_rest.views import NestedListView, DetailView, ListView, ResponseType
67

78
from models.app import App
89
from models.database import Database
910
from models.env_var import EnvVar
1011
from services.bootstrap import AppBootstrap
1112
from services.foundations import AppFoundation
12-
from sanic_rest.views import NestedListView, DetailView, ListView, ResponseType
1313

1414
apps = Blueprint('apps', url_prefix='/apps')
1515

@@ -25,34 +25,40 @@ class AppDetailView(DetailView):
2525
class AppBoostrapView(NestedListView):
2626
nest_model = App
2727

28-
async def perform_get(self, request: Request, obj: App) -> ResponseType:
29-
bootstrap = AppBootstrap(app=obj)
28+
async def perform_get(self, request: Request, nest_obj: App) -> ResponseType:
29+
bootstrap = AppBootstrap(app=nest_obj)
3030
changes = bootstrap.check()
3131
return changes, 200
3232

33-
async def perform_post(self, request: Request, obj: App) -> ResponseType:
34-
bootstrap = AppBootstrap(app=obj)
33+
async def perform_post(self, request: Request, nest_obj: App) -> ResponseType:
34+
bootstrap = AppBootstrap(app=nest_obj)
3535
new_obj = bootstrap.apply()
3636
return new_obj.serialize(), 200
3737

38-
async def perform_delete(self, request: Request, obj: App) -> ResponseType:
38+
async def perform_put(self, request: Request, nest_obj: App) -> ResponseType:
39+
raise exceptions.NotAllowedError()
40+
41+
async def perform_delete(self, request: Request, nest_obj: App) -> ResponseType:
3942
raise exceptions.NotAllowedError()
4043

4144

4245
class AppInitializeView(NestedListView):
4346
nest_model = App
4447

45-
async def perform_get(self, request: Request, obj: App) -> ResponseType:
46-
foundation = AppFoundation(app=obj)
48+
async def perform_get(self, request: Request, nest_obj: App) -> ResponseType:
49+
foundation = AppFoundation(app=nest_obj)
4750
jobs = foundation.get_jobs()
4851
return {'jobs': list(jobs.keys())}, 200
4952

50-
async def perform_post(self, request: Request, obj: App) -> ResponseType:
51-
foundation = AppFoundation(app=obj)
53+
async def perform_post(self, request: Request, nest_obj: App) -> ResponseType:
54+
foundation = AppFoundation(app=nest_obj)
5255
jobs = foundation.build()
5356
return {'jobs': jobs}, 202
5457

55-
async def perform_delete(self, request: Request, obj: App) -> ResponseType:
58+
async def perform_put(self, request: Request, nest_obj: App) -> ResponseType:
59+
raise exceptions.NotAllowedError()
60+
61+
async def perform_delete(self, request: Request, nest_obj: App) -> ResponseType:
5662
raise exceptions.NotAllowedError()
5763

5864

@@ -83,6 +89,9 @@ async def perform_post(self, request: Request, nest_obj: App) -> ResponseType:
8389
}
8490
return payload, 201
8591

92+
async def perform_put(self, request: Request, nest_obj: App) -> ResponseType:
93+
raise exceptions.NotAllowedError()
94+
8695
async def perform_delete(self, request: Request, nest_obj: App) -> ResponseType:
8796
for key in request.json:
8897
nest_obj.unset_env_var(key=key)
@@ -109,6 +118,9 @@ async def perform_post(self, request: Request, nest_obj: App) -> ResponseType:
109118
payload = new_obj.database.serialize()
110119
return payload, 201
111120

121+
async def perform_put(self, request: Request, nest_obj: App) -> ResponseType:
122+
raise exceptions.NotAllowedError()
123+
112124
async def perform_delete(self, request: Request, nest_obj: App) -> ResponseType:
113125
nest_obj.database = None
114126
nest_obj.save()
@@ -133,7 +145,10 @@ async def perform_post(self, request: Request, nest_obj: App) -> ResponseType:
133145
# TODO Add support to re-deploy
134146
return {'trigger_id': trigger_id}, 201
135147

136-
async def perform_delete(self, request: Request, obj: App) -> ResponseType:
148+
async def perform_put(self, request: Request, nest_obj: App) -> ResponseType:
149+
raise exceptions.NotAllowedError()
150+
151+
async def perform_delete(self, request: Request, nest_obj: App) -> ResponseType:
137152
raise exceptions.NotAllowedError()
138153

139154

flamingo/views/build_pack_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from sanic import Blueprint
22
from sanic.request import File
3+
from sanic_rest.views import DetailView, ListView, PayloadType
34

45
from models.buildpack import BuildPack
5-
from sanic_rest.views import DetailView, ListView, PayloadType
66

77
build_packs = Blueprint('build-packs', url_prefix='/build-packs')
88

flamingo/views/environment_views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from sanic import Blueprint
22
from sanic.request import Request
33
from sanic_rest import exceptions
4+
from sanic_rest.views import DetailView, ListView, NestedListView, ResponseType
45

56
from models.environment import Environment
67
from services.foundations import EnvironmentFoundation
7-
from sanic_rest.views import DetailView, ListView, NestedListView, ResponseType
88

99
environments = Blueprint('environments', url_prefix='/environments')
1010

@@ -30,7 +30,10 @@ async def perform_post(self, request: Request, nest_obj: Environment) -> Respons
3030
jobs = foundation.build()
3131
return {'jobs': jobs}, 202
3232

33-
async def perform_delete(self, request: Request, obj: Environment) -> ResponseType:
33+
async def perform_put(self, request: Request, nest_obj: Environment) -> ResponseType:
34+
raise exceptions.NotAllowedError()
35+
36+
async def perform_delete(self, request: Request, nest_obj: Environment) -> ResponseType:
3437
raise exceptions.NotAllowedError()
3538

3639

flamingo/views/hook_views.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import logging
22
from datetime import datetime, timezone
3-
from typing import Dict
3+
from typing import Dict, Optional
44

55
from gcp_pilot.datastore import DoesNotExist, MultipleObjectsFound
66
from gcp_pilot.pubsub import Message
@@ -59,14 +59,15 @@ async def post(self, request: Request) -> HTTPResponse:
5959
return json({'error': f"Failed handling build hook: {e}", 'payload': payload}, 400)
6060
return json({'status': 'done'}, 202)
6161

62-
def _get_timestamp(self, payload: Dict) -> datetime:
62+
def _get_timestamp(self, payload: Dict) -> Optional[datetime]:
6363
time_fields = ['finishTime', 'startTime', 'createTime']
6464
for time_field in time_fields:
6565
try:
6666
date_str = payload[time_field]
6767
return datetime.strptime(date_str.split('.')[0], '%Y-%m-%dT%H:%M:%S').astimezone(tz=timezone.utc)
6868
except KeyError:
6969
continue
70+
return None
7071

7172
def _get_app(self, trigger_id: str) -> App:
7273
return App.documents.get(build__trigger_id=trigger_id)

0 commit comments

Comments
 (0)