Coverage for src/gitlabracadabra/containers/registry.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-10 17:02 +0100

1# 

2# Copyright (C) 2019-2025 Mathieu Parent <math.parent@gmail.com> 

3# 

4# This program is free software: you can redistribute it and/or modify 

5# it under the terms of the GNU Lesser General Public License as published by 

6# the Free Software Foundation, either version 3 of the License, or 

7# (at your option) any later version. 

8# 

9# This program is distributed in the hope that it will be useful, 

10# but WITHOUT ANY WARRANTY; without even the implied warranty of 

11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

12# GNU Lesser General Public License for more details. 

13# 

14# You should have received a copy of the GNU Lesser General Public License 

15# along with this program. If not, see <http://www.gnu.org/licenses/>. 

16 

17from __future__ import annotations 

18 

19from gitlabracadabra.containers.blob import Blob 

20from gitlabracadabra.containers.manifest import Manifest 

21from gitlabracadabra.containers.registry_importer import RegistryImporter 

22 

23 

24class Registry(RegistryImporter): 

25 """Container registry.""" 

26 

27 def manifest(self, manifest_name: str, tag: str = "latest") -> Manifest: 

28 """Connect. 

29 

30 Args: 

31 manifest_name: Manifest name. Example: 'library/debian'. 

32 tag: A tag. Example: 'latest'. 

33 

34 Returns: 

35 A Manifest object. 

36 """ 

37 return Manifest(self, manifest_name, tag=tag) 

38 

39 def blob(self, manifest_name: str, digest: str) -> Blob: 

40 """Connect. 

41 

42 Args: 

43 manifest_name: Manifest name. Example: 'library/debian'. 

44 digest: A digest. Example: 'latest'. 

45 

46 Returns: 

47 A Manifest object. 

48 """ 

49 return Blob(self, manifest_name, digest)