skilleter-modules 0.0.1__tar.gz → 0.0.3__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.
Files changed (26) hide show
  1. {skilleter_modules-0.0.1/src/skilleter_modules.egg-info → skilleter_modules-0.0.3}/PKG-INFO +1 -1
  2. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/pyproject.toml +1 -1
  3. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/dircolors.py +2 -2
  4. skilleter_modules-0.0.3/src/skilleter_modules/docker.py +105 -0
  5. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/git.py +2 -2
  6. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/run.py +1 -1
  7. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/tfm_pane.py +3 -3
  8. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3/src/skilleter_modules.egg-info}/PKG-INFO +1 -1
  9. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules.egg-info/SOURCES.txt +1 -0
  10. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/LICENSE +0 -0
  11. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/README.md +0 -0
  12. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/setup.cfg +0 -0
  13. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/__init__.py +0 -0
  14. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/colour.py +0 -0
  15. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/dc_curses.py +0 -0
  16. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/dc_defaults.py +0 -0
  17. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/dc_util.py +0 -0
  18. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/files.py +0 -0
  19. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/gitlab.py +0 -0
  20. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/path.py +0 -0
  21. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/popup.py +0 -0
  22. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/tidy.py +0 -0
  23. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules/venv_template.py +0 -0
  24. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules.egg-info/dependency_links.txt +0 -0
  25. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/src/skilleter_modules.egg-info/requires.txt +0 -0
  26. {skilleter_modules-0.0.1 → skilleter_modules-0.0.3}/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.1
3
+ Version: 0.0.3
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
@@ -7,7 +7,7 @@ name = "skilleter_modules"
7
7
 
8
8
  # Version must be incremented to install updated skilleter-extras
9
9
 
10
- version = "0.0.1"
10
+ version = "0.0.3"
11
11
 
12
12
  authors = [
13
13
  {name="John Skilleter", email="john@skilleter.org.uk"},
@@ -14,8 +14,8 @@ from io import StringIO, TextIOBase
14
14
  import os
15
15
  import stat
16
16
 
17
- import dc_defaults
18
- import dc_util
17
+ from . import dc_defaults
18
+ from . import dc_util
19
19
 
20
20
  __all__ = ['Dircolors']
21
21
 
@@ -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)
@@ -30,8 +30,8 @@ import subprocess
30
30
 
31
31
  import pygit2
32
32
 
33
- import run
34
- import gitlab
33
+ from . import run
34
+ from . import gitlab
35
35
 
36
36
  ################################################################################
37
37
  # Configuration files to access
@@ -23,7 +23,7 @@ import subprocess
23
23
  import threading
24
24
  import shlex
25
25
 
26
- import tidy
26
+ from . import tidy
27
27
 
28
28
  ################################################################################
29
29
 
@@ -16,9 +16,9 @@ from enum import IntEnum
16
16
  if sys.platform == 'linux':
17
17
  import inotify.adapters
18
18
 
19
- import dc_curses
20
- import path
21
- import popup
19
+ from . import dc_curses
20
+ from . import path
21
+ from . import popup
22
22
 
23
23
  ################################################################################
24
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skilleter_modules
3
- Version: 0.0.1
3
+ Version: 0.0.3
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
@@ -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