Skip to content

Commit b75f6c5

Browse files
committed
add missing type hints for return values
1 parent 0002f89 commit b75f6c5

File tree

8 files changed

+40
-43
lines changed

8 files changed

+40
-43
lines changed

app/aws/credentials.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def fetch_role_credentials(user_name: str, profile_group: ProfileGroup) -> Resul
196196
return result
197197

198198

199-
def _remove_unused_profiles(credentials_file, profile_group: ProfileGroup):
199+
def _remove_unused_profiles(credentials_file, profile_group: ProfileGroup) -> configparser:
200200
used_profiles = profile_group.list_profile_names()
201201
for profile in credentials_file.sections():
202202
if profile not in used_profiles and \
@@ -228,7 +228,7 @@ def write_profile_config(profile_group: ProfileGroup, region: str) -> Result:
228228
return result
229229

230230

231-
def _remove_unused_configs(config_file: configparser, profile_group: ProfileGroup):
231+
def _remove_unused_configs(config_file: configparser, profile_group: ProfileGroup) -> configparser:
232232
used_profiles = profile_group.list_profile_names()
233233

234234
for config_name in config_file.sections():

app/core/config.py

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from mimetypes import inited
2-
from typing import List, Dict
2+
from typing import List, Dict, Optional
33

44
from app.core import files
55
from app.core.profile_group import ProfileGroup
@@ -18,7 +18,7 @@ def __init__(self):
1818
self.mfa_shell_command = None
1919
self.default_access_key = None
2020

21-
def initialize(self):
21+
def initialize(self) -> None:
2222
config = files.load_config()
2323
self.mfa_shell_command = config.get('mfa_shell_command', None)
2424
self.default_access_key = config.get('default_access_key', _default_access_key)
@@ -29,7 +29,7 @@ def initialize(self):
2929
self.initialize_profile_groups(accounts=accounts, service_roles=self.service_roles,
3030
default_access_key=self.default_access_key)
3131

32-
def initialize_profile_groups(self, accounts: dict, service_roles: dict, default_access_key: str):
32+
def initialize_profile_groups(self, accounts: dict, service_roles: dict, default_access_key: str) -> None:
3333
self.profile_groups = {}
3434
for group_name, group_data in accounts.items():
3535
profile_group = ProfileGroup(name=group_name,
@@ -46,22 +46,22 @@ def initialize_profile_groups(self, accounts: dict, service_roles: dict, default
4646
role_name=selected_service_role)
4747
self.validate()
4848

49-
def set_mfa_shell_command(self, mfa_shell_command: str):
49+
def set_mfa_shell_command(self, mfa_shell_command: str) -> None:
5050
self.mfa_shell_command = mfa_shell_command
5151

52-
def set_default_access_key(self, default_access_key: str):
52+
def set_default_access_key(self, default_access_key: str) -> None:
5353
self.default_access_key = default_access_key
5454

55-
def save_config(self):
55+
def save_config(self) -> None:
5656
files.save_config_file({
5757
'mfa_shell_command': self.mfa_shell_command,
5858
'default_access_key': self.default_access_key,
5959
})
6060

61-
def save_accounts(self):
61+
def save_accounts(self) -> None:
6262
files.save_accounts_file(self.to_dict())
6363

64-
def save_selected_service_role(self, group_name: str, profile_name: str, role_name: str):
64+
def save_selected_service_role(self, group_name: str, profile_name: str, role_name: str) -> None:
6565
if group_name not in self.service_roles:
6666
self.service_roles[group_name] = {
6767
'selected_profile': None,
@@ -75,7 +75,7 @@ def save_selected_service_role(self, group_name: str, profile_name: str, role_na
7575
self.service_roles[group_name]['history'] = history
7676
files.save_service_roles_file(self.service_roles)
7777

78-
def save_available_service_roles(self, group_name: str, profile_name: str, role_list: List[str]):
78+
def save_available_service_roles(self, group_name: str, profile_name: str, role_list: List[str]) -> None:
7979
if group_name not in self.service_roles:
8080
self.service_roles[group_name] = {
8181
'selected_profile': None,
@@ -86,20 +86,20 @@ def save_available_service_roles(self, group_name: str, profile_name: str, role_
8686
self.service_roles[group_name]['available'][profile_name] = role_list
8787
files.save_service_roles_file(self.service_roles)
8888

89-
def get_selected_service_role_source_profile(self, group: str):
89+
def get_selected_service_role_source_profile(self, group: str) -> Optional[str]:
9090
return self.service_roles.get(group, {}).get('selected_profile')
9191

92-
def get_selected_service_role(self, group: str):
92+
def get_selected_service_role(self, group: str) -> Optional[str]:
9393
return self.service_roles.get(group, {}).get('selected_role')
9494

95-
def get_available_service_roles(self, group: str, profile: str):
95+
def get_available_service_roles(self, group: str, profile: str) -> List[str]:
9696
return self.service_roles.get(group, {}).get('available', {}).get(profile, [])
9797

9898
def get_history(self, group: str):
9999
return self.service_roles.get(group, {}).get('history', [])
100100

101101
@staticmethod
102-
def _add_to_history(profile: str, role: str, history: List[str]):
102+
def _add_to_history(profile: str, role: str, history: List[str]) -> List[str]:
103103
if not profile or not role:
104104
return history
105105
history_string = f'{profile} : {role}'
@@ -125,13 +125,13 @@ def validate(self) -> None:
125125
self.valid = valid
126126
self.error = error
127127

128-
def list_groups(self):
128+
def list_groups(self) -> List[ProfileGroup]:
129129
return list(self.profile_groups.values())
130130

131-
def get_group(self, name):
131+
def get_group(self, name) -> Optional[ProfileGroup]:
132132
return self.profile_groups.get(name, None)
133133

134-
def to_dict(self):
134+
def to_dict(self) -> dict:
135135
d = {}
136136
for name, group in self.profile_groups.items():
137137
d[name] = group.to_dict()

app/core/core.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def login_gcp(self, profile_group: ProfileGroup) -> Result:
9797
result.set_success()
9898
return result
9999

100-
def logout(self):
100+
def logout(self) -> Result:
101101
result = Result()
102102
logger.info(f'start logout')
103103
self.active_profile_group = None
@@ -129,10 +129,10 @@ def get_region(self) -> Optional[str]:
129129
return self.active_profile_group.region
130130
return None
131131

132-
def get_profile_group_list(self):
132+
def get_profile_group_list(self) -> List[ProfileGroup]:
133133
return self.config.list_groups()
134134

135-
def get_active_profile_color(self):
135+
def get_active_profile_color(self) -> str:
136136
return self.active_profile_group.color
137137

138138
def rotate_access_key(self, access_key: str, mfa_token: Optional[str]) -> Result:
@@ -197,7 +197,7 @@ def set_service_role(self, profile_name: str, role_name: str) -> Result:
197197
result.set_success()
198198
return result
199199

200-
def set_available_service_roles(self, profile, role_list: List[str]):
200+
def set_available_service_roles(self, profile, role_list: List[str]) -> Result:
201201
result = Result()
202202
logger.info('set available service roles')
203203
self.config.save_available_service_roles(group_name=self.active_profile_group.name,
@@ -207,7 +207,7 @@ def set_available_service_roles(self, profile, role_list: List[str]):
207207
return result
208208

209209
@staticmethod
210-
def run_script(profile_group: ProfileGroup):
210+
def run_script(profile_group: ProfileGroup) -> Result:
211211
result = Result()
212212
if not profile_group or not profile_group.script:
213213
result.set_success()
@@ -252,5 +252,5 @@ def set_access_key(key_name: str, key_id: str, key_secret: str) -> Result:
252252
return credentials.set_access_key(key_name=key_name, key_id=key_id, key_secret=key_secret)
253253

254254
@staticmethod
255-
def get_access_key_list():
255+
def get_access_key_list() -> list:
256256
return credentials.get_access_key_list()

app/core/files.py

+14-14
Original file line numberDiff line numberDiff line change
@@ -47,70 +47,70 @@ def get_active_group_file_path() -> str:
4747
return f'{get_app_path()}/{active_group_file_name}'
4848

4949

50-
def parse_yaml(text: str):
50+
def parse_yaml(text: str) -> dict:
5151
try:
5252
return yamli.load(text) or {}
5353
except (ParserError, ScannerError):
5454
return {}
5555

5656

57-
def dump_yaml(d: dict):
57+
def dump_yaml(d: dict) -> str:
5858
buffer = io.BytesIO()
5959
yamli.dump(d, buffer)
6060
return buffer.getvalue().decode("utf-8")
6161

6262

63-
def _load_file(path):
63+
def _load_file(path) -> str:
6464
if os.path.exists(path):
6565
with open(path, 'r') as file:
6666
return file.read()
6767
return ''
6868

6969

70-
def _write_file(path, content):
70+
def _write_file(path, content) -> None:
7171
with open(path, 'w') as file:
7272
file.write(str(content))
7373

7474

75-
def remove_file(path):
75+
def remove_file(path) -> None:
7676
if os.path.exists(path):
7777
os.remove(path)
7878

7979

80-
def file_exists(file_path):
80+
def file_exists(file_path) -> bool:
8181
file_path = file_path.strip()
8282
if ' ' in file_path:
8383
file_path = file_path.split(' ')[0]
8484
return os.path.exists(file_path)
8585

8686

87-
def load_config():
87+
def load_config() -> dict:
8888
return parse_yaml(_load_file(get_config_path()))
8989

9090

91-
def load_accounts():
91+
def load_accounts() -> dict:
9292
return parse_yaml(_load_file(get_accounts_path()))
9393

9494

95-
def load_service_roles():
95+
def load_service_roles() -> dict:
9696
return parse_yaml(_load_file(get_service_roles_path()))
9797

9898

99-
def save_config_file(config_dict: dict):
99+
def save_config_file(config_dict: dict) -> None:
100100
_write_file(get_config_path(), dump_yaml(config_dict))
101101

102102

103-
def save_accounts_file(account_dict: dict):
103+
def save_accounts_file(account_dict: dict) -> None:
104104
_write_file(get_accounts_path(), dump_yaml(account_dict))
105105

106106

107-
def save_service_roles_file(service_roles: dict):
107+
def save_service_roles_file(service_roles: dict) -> None:
108108
_write_file(get_service_roles_path(), dump_yaml(service_roles))
109109

110110

111-
def load_logs():
111+
def load_logs() -> str:
112112
return _load_file(get_log_path()) or 'no logs found'
113113

114114

115-
def write_active_group_file(group_name):
115+
def write_active_group_file(group_name) -> None:
116116
_write_file(get_active_group_file_path(), group_name)

app/core/profile.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def validate(self) -> (bool, str):
1616
return False, f'a profile in {self.group.name} has no role'
1717
return True, ''
1818

19-
def to_dict(self):
19+
def to_dict(self) -> dict:
2020
d = {
2121
'profile': self.profile,
2222
'account': self.account,

app/core/profile_group.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def get_access_key(self) -> str:
6767
return self.access_key
6868
return self.default_access_key
6969

70-
def set_service_role_profile(self, source_profile_name, role_name):
70+
def set_service_role_profile(self, source_profile_name, role_name) -> None:
7171
source_profile = self.get_profile(profile_name=source_profile_name)
7272
if not source_profile:
7373
logger.warning(f'source profile {source_profile_name} not found. Unset service_profile.')

app/gcp/config.py

-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,5 @@ def set_default_quota_project(project: str):
1616

1717

1818
def set_default_region(region: str):
19-
2019
logger.info(f'set default region to: {region}')
2120
return shell.run(f"gcloud config set compute/region {region}", timeout=5)
22-

app/gui/trayicon.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from functools import partial
22
from typing import List, TYPE_CHECKING
33

4-
from PyQt6.QtCore import QSize
54
from PyQt6.QtWidgets import QSystemTrayIcon, QMenu
65

76
from app.aws import regions

0 commit comments

Comments
 (0)