Skip to content

Commit 9ffb8f6

Browse files
committed
doc: add more type info to functions
1 parent 77282c2 commit 9ffb8f6

File tree

8 files changed

+247
-1
lines changed

8 files changed

+247
-1
lines changed

qiniu/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
'default_uc_host': UC_HOST,
2020
'default_query_region_host': QUERY_REGION_HOST,
2121
'default_query_region_backup_hosts': QUERY_REGION_BACKUP_HOSTS,
22-
'default_backup_hosts_retry_times': 3, # 仅控制旧 Region 查询 Hosts 的重试次数
22+
'default_backup_hosts_retry_times': 3, # 仅控制旧区域 LegacyRegion 查询 Hosts 的重试次数
2323
'connection_timeout': 30, # 链接超时为时间为30s
2424
'connection_retries': 3, # 链接重试次数为3次
2525
'connection_pool': 10, # 链接池个数为10

qiniu/http/endpoint.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ def from_host(host):
1919
return Endpoint(host=host)
2020

2121
def __init__(self, host, default_scheme='https'):
22+
"""
23+
Parameters
24+
----------
25+
host: str
26+
default_scheme: str
27+
"""
2228
self.host = host
2329
self.default_scheme = default_scheme
2430

@@ -38,10 +44,24 @@ def __eq__(self, other):
3844
return self.host == other.host and self.default_scheme == other.default_scheme
3945

4046
def get_value(self, scheme=None):
47+
"""
48+
Parameters
49+
----------
50+
scheme: str
51+
52+
Returns
53+
-------
54+
str
55+
"""
4156
scheme = scheme if scheme is not None else self.default_scheme
4257
return ''.join([scheme, '://', self.host])
4358

4459
def clone(self):
60+
"""
61+
Returns
62+
-------
63+
Endpoint
64+
"""
4565
return Endpoint(
4666
host=self.host,
4767
default_scheme=self.default_scheme

qiniu/http/endpoints_retry_policy.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,25 @@
33

44
class EndpointsRetryPolicy(RetryPolicy):
55
def __init__(self, endpoints_provider=None, skip_init_context=False):
6+
"""
7+
Parameters
8+
----------
9+
endpoints_provider: Iterable[Endpoint]
10+
skip_init_context: bool
11+
"""
612
self.endpoints_provider = endpoints_provider if endpoints_provider else []
713
self.skip_init_context = skip_init_context
814

915
def init_context(self, context):
16+
"""
17+
Parameters
18+
----------
19+
context: dict
20+
21+
Returns
22+
-------
23+
None
24+
"""
1025
if self.skip_init_context:
1126
return
1227
context['alternative_endpoints'] = list(self.endpoints_provider)
@@ -15,9 +30,27 @@ def init_context(self, context):
1530
context['endpoint'] = context['alternative_endpoints'].pop(0)
1631

1732
def should_retry(self, attempt):
33+
"""
34+
Parameters
35+
----------
36+
attempt: qiniu.retry.Attempt
37+
38+
Returns
39+
-------
40+
bool
41+
"""
1842
return len(attempt.context['alternative_endpoints']) > 0
1943

2044
def prepare_retry(self, attempt):
45+
"""
46+
Parameters
47+
----------
48+
attempt: qiniu.retry.Attempt
49+
50+
Returns
51+
-------
52+
None
53+
"""
2154
if not attempt.context['alternative_endpoints']:
2255
raise Exception('There isn\'t available endpoint for next try')
2356
attempt.context['endpoint'] = attempt.context['alternative_endpoints'].pop(0)

qiniu/http/region.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,22 @@ def __init__(
166166

167167
@property
168168
def is_live(self):
169+
"""
170+
Returns
171+
-------
172+
bool
173+
"""
169174
if self.ttl < 0:
170175
return True
171176
live_time = datetime.now() - self.create_time
172177
return live_time < timedelta(seconds=self.ttl)
173178

174179
def clone(self):
180+
"""
181+
Returns
182+
-------
183+
Region
184+
"""
175185
return Region(
176186
region_id=self.region_id,
177187
s3_region_id=self.s3_region_id,

qiniu/http/regions_provider.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ def __init__(
7777
preferred_scheme='http',
7878
max_retry_times_per_endpoint=1,
7979
):
80+
"""
81+
Parameters
82+
----------
83+
access_key: str
84+
bucket_name: str
85+
endpoints_provider: Iterable[Endpoint]
86+
preferred_scheme: str
87+
max_retry_times_per_endpoint: int
88+
"""
8089
self.access_key = access_key
8190
self.bucket_name = bucket_name
8291
self.endpoints_provider = endpoints_provider
@@ -142,6 +151,11 @@ def __exit__(self, exc_type, exc_val, exc_tb):
142151

143152
@property
144153
def lock_file_path(self):
154+
"""
155+
Returns
156+
-------
157+
str
158+
"""
145159
return self._origin_file + '.lock'
146160

147161

@@ -290,6 +304,16 @@ def _get_service_name(k):
290304

291305

292306
def _parse_persisted_regions(persisted_data):
307+
"""
308+
Parameters
309+
----------
310+
persisted_data: str
311+
312+
Returns
313+
-------
314+
cache_key: str
315+
regions: list[Region]
316+
"""
293317
parsed_data = json.loads(persisted_data)
294318
regions = [
295319
_get_region_from_persisted(d)
@@ -299,6 +323,16 @@ def _parse_persisted_regions(persisted_data):
299323

300324

301325
def _walk_persist_cache_file(persist_path, ignore_parse_error=False):
326+
"""
327+
Parameters
328+
----------
329+
persist_path: str
330+
ignore_parse_error: bool
331+
332+
Returns
333+
-------
334+
Iterable[(str, list[Region])]
335+
"""
302336
if not os.access(persist_path, os.R_OK):
303337
return
304338

@@ -397,6 +431,11 @@ def __iter__(self):
397431
yield r
398432

399433
def set_regions(self, regions):
434+
"""
435+
Parameters
436+
----------
437+
regions: list[Region]
438+
"""
400439
self._cache_scope.memo_cache[self.cache_key] = regions
401440

402441
if not self._cache_scope.persist_path:
@@ -557,6 +596,11 @@ def __flush_file_cache_to_memo(self):
557596

558597
@property
559598
def __should_shrink(self):
599+
"""
600+
Returns
601+
-------
602+
bool
603+
"""
560604
return self._cache_scope.last_shrink_at + self._cache_scope.shrink_interval >= datetime.datetime.now()
561605

562606
def __shrink_cache(self):

qiniu/retry/attempt.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
class Attempt:
22
def __init__(self, custom_context=None):
3+
"""
4+
Parameters
5+
----------
6+
custom_context: dict or None
7+
"""
38
self.context = custom_context if custom_context is not None else {}
49
self.exception = None
510
self.result = None

qiniu/services/storage/bucket.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,6 +567,15 @@ def change_bucket_permission(self, bucket_name, private):
567567
)
568568

569569
def _get_regions_provider(self, bucket_name):
570+
"""
571+
Parameters
572+
----------
573+
bucket_name: str
574+
575+
Returns
576+
-------
577+
Iterable[Region]
578+
"""
570579
if self.regions:
571580
return self.regions
572581

@@ -600,6 +609,17 @@ def _get_regions_provider(self, bucket_name):
600609
)
601610

602611
def __uc_do_with_retrier(self, url_resource, data=None):
612+
"""
613+
Parameters
614+
----------
615+
url_resource: url
616+
data: dict or None
617+
618+
Returns
619+
-------
620+
ret: dict or None
621+
resp: ResponseInfo
622+
"""
603623
regions = self.regions
604624

605625
# ignore self.zone by no uc in it
@@ -635,6 +655,20 @@ def __uc_do_with_retrier(self, url_resource, data=None):
635655
return attempt.result
636656

637657
def __server_do_with_retrier(self, bucket_name, service_names, url_resource, data=None, method='POST'):
658+
"""
659+
Parameters
660+
----------
661+
bucket_name: str
662+
service_names: List[ServiceName]
663+
url_resource: str
664+
data: dict or None
665+
method: str
666+
667+
Returns
668+
-------
669+
ret: dict or None
670+
resp: ResponseInfo
671+
"""
638672
if not service_names:
639673
raise ValueError('service_names is empty')
640674

@@ -680,14 +714,49 @@ def _build_op(*args):
680714

681715

682716
def build_batch_copy(source_bucket, key_pairs, target_bucket, force='false'):
717+
"""
718+
Parameters
719+
----------
720+
source_bucket: str
721+
key_pairs: dict
722+
target_bucket: str
723+
force: str
724+
725+
Returns
726+
-------
727+
list[str]
728+
"""
683729
return _two_key_batch('copy', source_bucket, key_pairs, target_bucket, force)
684730

685731

686732
def build_batch_rename(bucket, key_pairs, force='false'):
733+
"""
734+
Parameters
735+
----------
736+
bucket: str
737+
key_pairs: dict
738+
force: str
739+
740+
Returns
741+
-------
742+
list[str]
743+
"""
687744
return build_batch_move(bucket, key_pairs, bucket, force)
688745

689746

690747
def build_batch_move(source_bucket, key_pairs, target_bucket, force='false'):
748+
"""
749+
Parameters
750+
----------
751+
source_bucket: str
752+
key_pairs: dict
753+
target_bucket: str
754+
force: str
755+
756+
Returns
757+
-------
758+
list[str]
759+
"""
691760
return _two_key_batch('move', source_bucket, key_pairs, target_bucket, force)
692761

693762

@@ -726,10 +795,30 @@ def build_batch_restore_ar(bucket, keys):
726795

727796

728797
def build_batch_delete(bucket, keys):
798+
"""
799+
Parameters
800+
----------
801+
bucket: str
802+
keys: list[str]
803+
804+
Returns
805+
-------
806+
list[str]
807+
"""
729808
return _one_key_batch('delete', bucket, keys)
730809

731810

732811
def build_batch_stat(bucket, keys):
812+
"""
813+
Parameters
814+
----------
815+
bucket: str
816+
keys: list[str]
817+
818+
Returns
819+
-------
820+
list[str]
821+
"""
733822
return _one_key_batch('stat', bucket, keys)
734823

735824

0 commit comments

Comments
 (0)