small refactorings

This commit is contained in:
Andrey Pohilko
2017-02-11 10:34:46 +06:00
parent 7e2c508e58
commit 098b20a102

View File

@@ -39,6 +39,19 @@ class Requests:
def request(self, method, url, **kwargs): def request(self, method, url, **kwargs):
return requests.request(method, url, **kwargs) return requests.request(method, url, **kwargs)
def natural_keys(text):
'''
alist.sort(key=natural_keys) sorts in human order
http://nedbatchelder.com/blog/200712/human_sorting.html
(See Toothy's implementation in the comments)
'''
def __atoi(text):
return int(text) if text.isdigit() else text
return [ __atoi(c) for c in re.split('(\d+)', text) ]
# class to manipulate registry # class to manipulate registry
class Registry: class Registry:
@@ -85,18 +98,8 @@ class Registry:
return r return r
@staticmethod
def __atoi(text):
return int(text) if text.isdigit() else text
@staticmethod
def natural_keys(text):
'''
alist.sort(key=natural_keys) sorts in human order
http://nedbatchelder.com/blog/200712/human_sorting.html
(See Toothy's implementation in the comments)
'''
return [ Registry.__atoi(c) for c in re.split('(\d+)', text) ]
def send(self, path, method="GET"): def send(self, path, method="GET"):
@@ -139,7 +142,7 @@ class Registry:
return [] return []
if tags_list != None: if tags_list != None:
tags_list.sort(key=Registry.natural_keys) tags_list.sort(key=natural_keys)
return tags_list return tags_list
@@ -181,6 +184,7 @@ class Registry:
print "done" print "done"
return True return True
# this function is not used and thus not tested
def delete_tag_layer(self, image_name, layer_digest, dry_run): def delete_tag_layer(self, image_name, layer_digest, dry_run):
if dry_run: if dry_run:
print 'would delete layer {0}'.format(layer_digest) print 'would delete layer {0}'.format(layer_digest)
@@ -433,7 +437,7 @@ def main_loop(args):
if args.delete_all: if args.delete_all:
tags_list_to_delete = list(tags_list) tags_list_to_delete = list(tags_list)
else: else:
tags_list_to_delete = sorted(tags_list, key=Registry.natural_keys)[:-keep_last_versions] tags_list_to_delete = sorted(tags_list, key=natural_keys)[:-keep_last_versions]
delete_tags( delete_tags(
registry, image_name, args.dry_run, registry, image_name, args.dry_run,