Skip to content

Commit 6d69bb2

Browse files
committed
Add type annotations
1 parent be64726 commit 6d69bb2

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

keyctl/key.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
# -*- coding: utf-8 -*-
33

4+
from typing import List
45
from .keyctlwrapper import KeyctlWrapper
56

67

@@ -22,7 +23,7 @@ def __init__(self, keyid=None, keyring=None, keytype=None):
2223
# ---------------------------------------------------------------
2324

2425
@staticmethod
25-
def _init_keyctl(keyring=None, keytype=None):
26+
def _init_keyctl(keyring=None, keytype=None) -> KeyctlWrapper:
2627
if keyring is not None and keytype is not None:
2728
keyctl = KeyctlWrapper(keyring=keyring, keytype=keytype)
2829
elif keyring is not None:
@@ -45,7 +46,7 @@ def _load_key(self, keyid):
4546
# ---------------------------------------------------------------
4647

4748
@classmethod
48-
def list(cls, keyring=None, keytype=None):
49+
def list(cls, keyring=None, keytype=None) -> List["Key"]:
4950
keyctl = cls._init_keyctl(keyring, keytype)
5051
keyids = keyctl.get_all_key_ids()
5152

@@ -59,7 +60,7 @@ def list(cls, keyring=None, keytype=None):
5960
# ---------------------------------------------------------------
6061

6162
@classmethod
62-
def search(cls, name, keyring=None, keytype=None):
63+
def search(cls, name, keyring=None, keytype=None) -> "Key":
6364
key = cls(keyring, keytype)
6465

6566
key.id = key._keyctl.get_id_from_name(name)
@@ -72,7 +73,7 @@ def search(cls, name, keyring=None, keytype=None):
7273
# ---------------------------------------------------------------
7374

7475
@classmethod
75-
def add(cls, name, data, keyring=None, keytype=None):
76+
def add(cls, name, data, keyring=None, keytype=None) -> "Key":
7677
keyctl = cls._init_keyctl(keyring, keytype)
7778

7879
keyid = keyctl.add_key(name, data)

keyctl/keyctlwrapper.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# -*- coding: utf-8 -*-
33

44
import subprocess
5+
from typing import List
56

67

78
# -------------------------------------------------------------------
@@ -87,15 +88,15 @@ def _system(args, data: str=None, check=True):
8788

8889
# ---------------------------------------------------------------
8990

90-
def get_all_key_ids(self):
91+
def get_all_key_ids(self) -> List[int]:
9192
out = self._system(['keyctl', 'rlist', self.keyring])
9293
l = out.split()
9394
l = [int(x) for x in l]
9495
return l
9596

9697
# ---------------------------------------------------------------
9798

98-
def get_id_from_name(self, name):
99+
def get_id_from_name(self, name: str) -> int:
99100
# ret, out, err = self._system(['keyctl', 'request', self.keytype, name], check=False)
100101
ret, out, err = self._system(['keyctl', 'search', self.keyring, self.keytype, name], check=False)
101102

@@ -108,7 +109,7 @@ def get_id_from_name(self, name):
108109

109110
# ---------------------------------------------------------------
110111

111-
def get_name_from_id(self, keyid):
112+
def get_name_from_id(self, keyid: int) -> str:
112113
ret, out, err = self._system(['keyctl', 'rdescribe', str(keyid)], check=False)
113114

114115
if ret != 0:
@@ -120,7 +121,7 @@ def get_name_from_id(self, keyid):
120121

121122
# ---------------------------------------------------------------
122123

123-
def get_data_from_id(self, keyid, mode='raw'):
124+
def get_data_from_id(self, keyid: int, mode='raw'):
124125
if mode.lower() == 'raw':
125126
kmode = 'pipe'
126127
elif mode.lower() == 'hex':
@@ -143,7 +144,7 @@ def get_data_from_id(self, keyid, mode='raw'):
143144

144145
# ---------------------------------------------------------------
145146

146-
def add_key(self, name, data):
147+
def add_key(self, name: str, data) -> int:
147148
try:
148149
keyid = self.get_id_from_name(name)
149150
raise KeyAlreadyExistError(keyid=keyid, keyname=name)
@@ -157,7 +158,7 @@ def add_key(self, name, data):
157158

158159
# ---------------------------------------------------------------
159160

160-
def update_key(self, keyid, data):
161+
def update_key(self, keyid: int, data):
161162
ret, out, err = self._system(['keyctl', 'pupdate', str(keyid)], data, check=False)
162163

163164
if ret == 1:
@@ -167,7 +168,7 @@ def update_key(self, keyid, data):
167168

168169
# ---------------------------------------------------------------
169170

170-
def remove_key(self, keyid):
171+
def remove_key(self, keyid: int):
171172
# revoke first, because unlinking is slow
172173
ret, out, err = self._system(['keyctl', 'revoke', str(keyid)], check=False)
173174
if ret == 1:

0 commit comments

Comments
 (0)