summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-04-23 13:32:41 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-04-26 19:14:44 +0000
commit39a7a773a653176e294382bc6301275fd57aff6b (patch)
tree334db314ef5681bd6979e2be91dd39640f8e00ff /contrib
parent0ccfd7dc20c11bc2f9d646c98cc67fb399cd9013 (diff)
downloadpodman-39a7a773a653176e294382bc6301275fd57aff6b.tar.gz
podman-39a7a773a653176e294382bc6301275fd57aff6b.tar.bz2
podman-39a7a773a653176e294382bc6301275fd57aff6b.zip
varlink images
implement varlink image functions for working with libpod with the exception of a couple due to incompletions on the libpod side of things (build). also, created a first pass at a libpodpy package which will stand as a client to working with libpod's varlink methods using python. Signed-off-by: baude <bbaude@redhat.com> Closes: #669 Approved by: baude
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libpodpy/__init__.py4
-rw-r--r--contrib/libpodpy/client.py45
-rw-r--r--contrib/libpodpy/containers.py8
-rw-r--r--contrib/libpodpy/images.py15
-rw-r--r--contrib/libpodpy/system.py10
5 files changed, 82 insertions, 0 deletions
diff --git a/contrib/libpodpy/__init__.py b/contrib/libpodpy/__init__.py
new file mode 100644
index 000000000..8c2caf670
--- /dev/null
+++ b/contrib/libpodpy/__init__.py
@@ -0,0 +1,4 @@
+
+
+#__version__ = version
+__title__ = 'libpod' \ No newline at end of file
diff --git a/contrib/libpodpy/client.py b/contrib/libpodpy/client.py
new file mode 100644
index 000000000..d9bac6dbb
--- /dev/null
+++ b/contrib/libpodpy/client.py
@@ -0,0 +1,45 @@
+
+from varlink import Client
+from libpodpy.images import Images
+from libpodpy.system import System
+from libpodpy.containers import Containers
+
+class LibpodClient(object):
+
+
+ """
+ A client for communicating with a Docker server.
+
+ Example:
+
+ >>> from libpodpy import client
+ >>> c = client.LibpodClient("unix:/run/podman/io.projectatomic.podman")
+
+ Args:
+ Requires the varlink URI for libpod
+ """
+
+ def __init__(self, varlink_uri):
+ c = Client(address=varlink_uri)
+ self.conn = c.open("io.projectatomic.podman")
+
+ @property
+ def images(self):
+ """
+ An object for managing images through libpod
+ """
+ return Images(self.conn)
+
+ @property
+ def system(self):
+ """
+ An object for system related calls through libpod
+ """
+ return System(self.conn)
+
+ @property
+ def containers(self):
+ """
+ An object for managing containers through libpod
+ """
+ return Containers(self.conn)
diff --git a/contrib/libpodpy/containers.py b/contrib/libpodpy/containers.py
new file mode 100644
index 000000000..921bf0491
--- /dev/null
+++ b/contrib/libpodpy/containers.py
@@ -0,0 +1,8 @@
+
+class Containers(object):
+
+ def __init__(self, client):
+ self.client = client
+
+ def List(self):
+ pass \ No newline at end of file
diff --git a/contrib/libpodpy/images.py b/contrib/libpodpy/images.py
new file mode 100644
index 000000000..f54736a21
--- /dev/null
+++ b/contrib/libpodpy/images.py
@@ -0,0 +1,15 @@
+
+class Images(object):
+ """
+ The Images class deals with image related functions for libpod.
+ """
+
+ def __init__(self, client):
+ self.client = client
+
+ def List(self):
+ """
+ Lists all images in the libpod image store
+ return: a list of ImageList objects
+ """
+ return self.client.ListImages()
diff --git a/contrib/libpodpy/system.py b/contrib/libpodpy/system.py
new file mode 100644
index 000000000..563cc6566
--- /dev/null
+++ b/contrib/libpodpy/system.py
@@ -0,0 +1,10 @@
+
+class System(object):
+ def __init__(self, client):
+ self.client = client
+
+ def Ping(self):
+ return self.client.Ping()
+
+ def Version(self):
+ return self.client.GetVersion()