1
0
mirror of https://github.com/janLo/ansible_lookup_plugins synced 2026-06-19 19:48:01 +00:00

Convert pass lookup plugin to ansible 2

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
This commit is contained in:
2016-11-11 03:30:01 +01:00
parent 7cec9ace31
commit c271d9650c
+13 -8
View File
@@ -19,27 +19,31 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
import os import os
import six
import subprocess import subprocess
from ansible import utils, errors from ansible import utils, errors
from ansible.plugins.lookup import LookupBase
from ansible.errors import AnsibleError from ansible.errors import AnsibleError
class LookupModule(object): class LookupModule(LookupBase):
COMMAND="pass" COMMAND="pass"
CREDENIAL_DIR="credentials" CREDENIAL_DIR="credentials"
def __init__(self, basedir=None, **kwargs): #def __init__(self, basedir=None, **kwargs):
self.basedir = basedir # super(LookupModule, self).__init__()
# self.basedir = basedir
def run(self, terms, inject=None, **kwargs): def run(self, terms, inject=None, variables=None, **kwargs):
candidates = [] candidates = []
basepath = utils.path_dwim(self.basedir, self.CREDENIAL_DIR) basedir = self.get_basedir(variables)
basepath = self._loader.path_dwim_relative(basedir, "", self.CREDENIAL_DIR)
if basepath: if basepath:
candidates.append(basepath) candidates.append(basepath)
if "playbook_dir" in inject: if inject is not None and "playbook_dir" in inject:
candidates.append(os.path.join(inject['playbook_dir'], self.CREDENIAL_DIR)) candidates.append(os.path.join(inject['playbook_dir'], self.CREDENIAL_DIR))
keydir = None keydir = None
@@ -47,9 +51,10 @@ class LookupModule(object):
if os.path.exists(candidate): if os.path.exists(candidate):
keydir = candidate keydir = candidate
break break
if 'listify_lookup_plugin_terms' in globals():
terms = utils.listify_lookup_plugin_terms(terms, self.basedir, inject) terms = utils.listify_lookup_plugin_terms(terms, self.basedir, inject)
if isinstance(terms, basestring): if isinstance(terms, six.string_types):
terms = [ terms ] terms = [ terms ]
ret = [] ret = []
@@ -74,7 +79,7 @@ class LookupModule(object):
command = "%s %s" % (self.COMMAND, term) command = "%s %s" % (self.COMMAND, term)
p = subprocess.Popen(command, p = subprocess.Popen(command,
cwd=self.basedir, cwd=basedir,
shell=True, shell=True,
stdin=subprocess.PIPE, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,