a *NaN @sddlmZddlmZddlmZmZddlmZm Z m Z m Z gdZ Gddde eZ Gdd d ee eZGd d d e eZGd d d ee eZdS))cli) exceptions) RESTManager RESTObject) DeleteMixin ListMixinObjectDeleteMixin RetrieveMixin)ProjectRegistryRepository ProjectRegistryRepositoryManagerProjectRegistryTagProjectRegistryTagManagerc@seZdZdZdS)r ))tagsr N)__name__ __module__ __qualname__Z _managersrr/private/var/folders/js/6pj4vh5d4zd0k6bxv74qrbhr0000gr/T/pip-target-22xwyzbs/lib/python/gitlab/v4/objects/container_registry.pyr sr c@seZdZdZeZddiZdS)r z./projects/%(project_id)s/registry/repositories project_ididN)rrr_pathr _obj_cls_from_parent_attrsrrrrr sr c@seZdZdZdS)r nameN)rrrZ_id_attrrrrrr sr c@sBeZdZeZdddZdZejddde e j d dd Z d S) r rr)rZ repository_idzE/projects/%(project_id)s/registry/repositories/%(repository_id)s/tags) name_regexkeep_n older_than)optional.*c sJgdd|i}|fdd|D|jj|jfd|i|dS)aNDelete Tag in bulk Args: name_regex (string): The regex of the name to delete. To delete all tags specify .*. keep_n (integer): The amount of latest tags of given name to keep. name_regex_keep (string): The regex of the name to keep. This value overrides any matches from name_regex. older_than (string): Tags to delete that are older than the given time, written in human readable form 1h, 1d, 1month. **kwargs: Extra options to send to the server (e.g. sudo) Raises: GitlabAuthenticationError: If authentication is not correct GitlabDeleteError: If the server cannot perform the request )rZname_regex_keeprrcsi|]\}}|vr||qSrr).0kvZ valid_attrsrr 7z.Z query_dataN)updateitemsgitlabZ http_deletepath)selfrkwargsdatarr"rdelete_in_bulk!sz(ProjectRegistryTagManager.delete_in_bulkN)r) rrrr rrrrZregister_custom_actionexcZ on_http_errorZGitlabDeleteErrorr,rrrrr s  r N)r'rrr-Z gitlab.baserrZ gitlab.mixinsrrrr __all__r r r r rrrrs