skilleter-modules 0.0.1__tar.gz → 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {skilleter_modules-0.0.1/src/skilleter_modules.egg-info → skilleter_modules-0.0.2}/PKG-INFO +1 -1
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/pyproject.toml +1 -1
- skilleter_modules-0.0.2/src/skilleter_modules/docker.py +105 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2/src/skilleter_modules.egg-info}/PKG-INFO +1 -1
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/SOURCES.txt +1 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/LICENSE +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/README.md +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/setup.cfg +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/__init__.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/colour.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/dc_curses.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/dc_defaults.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/dc_util.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/dircolors.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/files.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/git.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/gitlab.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/path.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/popup.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/run.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/tfm_pane.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/tidy.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules/venv_template.py +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/dependency_links.txt +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/requires.txt +0 -0
- {skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skilleter_modules
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Modules used by my various Python projects (and hopefully useful to other people)
|
|
5
5
|
Author-email: John Skilleter <john@skilleter.org.uk>
|
|
6
6
|
Project-URL: Home, https://skilleter.org.uk
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#! /usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
################################################################################
|
|
4
|
+
""" Docker interface for Thingy
|
|
5
|
+
|
|
6
|
+
Copyright (C) 2017 John Skilleter
|
|
7
|
+
|
|
8
|
+
Note that this:
|
|
9
|
+
* Only implements functions required by docker-purge
|
|
10
|
+
* Only has basic error checking, in that it raises DockerError
|
|
11
|
+
for any error returned by the external docker command.
|
|
12
|
+
"""
|
|
13
|
+
################################################################################
|
|
14
|
+
|
|
15
|
+
import subprocess
|
|
16
|
+
|
|
17
|
+
################################################################################
|
|
18
|
+
|
|
19
|
+
class DockerError(Exception):
|
|
20
|
+
""" Exception for dockery things """
|
|
21
|
+
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
################################################################################
|
|
25
|
+
|
|
26
|
+
def instances(all=False):
|
|
27
|
+
""" Return a list of all current Docker instances """
|
|
28
|
+
|
|
29
|
+
cmd = ['docker', 'ps', '-q']
|
|
30
|
+
|
|
31
|
+
if all:
|
|
32
|
+
cmd.append('-a')
|
|
33
|
+
|
|
34
|
+
instances_list = []
|
|
35
|
+
try:
|
|
36
|
+
process = subprocess.run(cmd, capture_output=True, check=True, text=True)
|
|
37
|
+
|
|
38
|
+
for result in process.stdout:
|
|
39
|
+
instances_list.append(result)
|
|
40
|
+
|
|
41
|
+
except subprocess.CalledProcessError as exc:
|
|
42
|
+
raise DockerError(exc)
|
|
43
|
+
|
|
44
|
+
return instances_list
|
|
45
|
+
|
|
46
|
+
################################################################################
|
|
47
|
+
|
|
48
|
+
def stop(instance, force=False):
|
|
49
|
+
""" Stop the specified Docker instance """
|
|
50
|
+
|
|
51
|
+
# TODO: force option not implemented
|
|
52
|
+
|
|
53
|
+
try:
|
|
54
|
+
subprocess.run(['docker', 'stop', instance], check=True, capture_output=False)
|
|
55
|
+
|
|
56
|
+
except suprocess.CalledProcessError as exc:
|
|
57
|
+
raise DockerError(exc)
|
|
58
|
+
|
|
59
|
+
################################################################################
|
|
60
|
+
|
|
61
|
+
def rm(instance, force=False):
|
|
62
|
+
""" Remove the specified instance """
|
|
63
|
+
|
|
64
|
+
cmd = ['docker', 'rm']
|
|
65
|
+
|
|
66
|
+
if force:
|
|
67
|
+
cmd.append('--force')
|
|
68
|
+
|
|
69
|
+
cmd.append(instance)
|
|
70
|
+
|
|
71
|
+
try:
|
|
72
|
+
subprocess.run(cmd, check=True, capture_output=False)
|
|
73
|
+
|
|
74
|
+
except subprocess.CalledProcessError as exc:
|
|
75
|
+
raise DockerError(exc)
|
|
76
|
+
|
|
77
|
+
################################################################################
|
|
78
|
+
|
|
79
|
+
def images():
|
|
80
|
+
""" Return a list of all current Docker images """
|
|
81
|
+
|
|
82
|
+
try:
|
|
83
|
+
process = subprocess.run(['docker', 'images', '-q'], capture_output=True, check=True)
|
|
84
|
+
|
|
85
|
+
for result in process:
|
|
86
|
+
yield result
|
|
87
|
+
|
|
88
|
+
except subprocess.CalledProcessError as exc:
|
|
89
|
+
raise DockerError(exc)
|
|
90
|
+
|
|
91
|
+
################################################################################
|
|
92
|
+
|
|
93
|
+
def rmi(image, force=False):
|
|
94
|
+
""" Remove the specified image """
|
|
95
|
+
|
|
96
|
+
cmd = ['docker', 'rmi']
|
|
97
|
+
if force:
|
|
98
|
+
cmd.append('--force')
|
|
99
|
+
|
|
100
|
+
cmd.append(image)
|
|
101
|
+
|
|
102
|
+
try:
|
|
103
|
+
subprocess.run(cmd, capture_output=False, check=True)
|
|
104
|
+
except subprocess.CalledProcessError as exc:
|
|
105
|
+
raise DockerError(exc)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skilleter_modules
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Modules used by my various Python projects (and hopefully useful to other people)
|
|
5
5
|
Author-email: John Skilleter <john@skilleter.org.uk>
|
|
6
6
|
Project-URL: Home, https://skilleter.org.uk
|
{skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/SOURCES.txt
RENAMED
|
@@ -7,6 +7,7 @@ src/skilleter_modules/dc_curses.py
|
|
|
7
7
|
src/skilleter_modules/dc_defaults.py
|
|
8
8
|
src/skilleter_modules/dc_util.py
|
|
9
9
|
src/skilleter_modules/dircolors.py
|
|
10
|
+
src/skilleter_modules/docker.py
|
|
10
11
|
src/skilleter_modules/files.py
|
|
11
12
|
src/skilleter_modules/git.py
|
|
12
13
|
src/skilleter_modules/gitlab.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/requires.txt
RENAMED
|
File without changes
|
{skilleter_modules-0.0.1 → skilleter_modules-0.0.2}/src/skilleter_modules.egg-info/top_level.txt
RENAMED
|
File without changes
|