mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Merge pull request #4306 from sivel/3563-glob
Add fileglob Jinja2 filter. Fixes #3563
This commit is contained in:
commit
ac0a7d965a
2 changed files with 14 additions and 0 deletions
|
@ -21,6 +21,7 @@ import os.path
|
||||||
import yaml
|
import yaml
|
||||||
import types
|
import types
|
||||||
import pipes
|
import pipes
|
||||||
|
import glob
|
||||||
from ansible import errors
|
from ansible import errors
|
||||||
from ansible.utils import md5s
|
from ansible.utils import md5s
|
||||||
|
|
||||||
|
@ -74,6 +75,10 @@ def quote(a):
|
||||||
''' return its argument quoted for shell usage '''
|
''' return its argument quoted for shell usage '''
|
||||||
return pipes.quote(a)
|
return pipes.quote(a)
|
||||||
|
|
||||||
|
def fileglob(pathname):
|
||||||
|
''' return list of matched files for glob '''
|
||||||
|
return glob.glob(pathname)
|
||||||
|
|
||||||
class FilterModule(object):
|
class FilterModule(object):
|
||||||
''' Ansible core jinja2 filters '''
|
''' Ansible core jinja2 filters '''
|
||||||
|
|
||||||
|
@ -115,5 +120,8 @@ class FilterModule(object):
|
||||||
|
|
||||||
# md5 hex digest of string
|
# md5 hex digest of string
|
||||||
'md5': md5s,
|
'md5': md5s,
|
||||||
|
|
||||||
|
# file glob
|
||||||
|
'fileglob': fileglob,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
Test bundled filters
|
Test bundled filters
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
import os.path
|
||||||
import unittest, tempfile, shutil
|
import unittest, tempfile, shutil
|
||||||
from ansible import playbook, inventory, callbacks
|
from ansible import playbook, inventory, callbacks
|
||||||
import ansible.runner.filter_plugins.core
|
import ansible.runner.filter_plugins.core
|
||||||
|
@ -83,6 +84,11 @@ class TestFilters(unittest.TestCase):
|
||||||
a = ansible.runner.filter_plugins.core.quote('ls | wc -l')
|
a = ansible.runner.filter_plugins.core.quote('ls | wc -l')
|
||||||
assert a == "'ls | wc -l'"
|
assert a == "'ls | wc -l'"
|
||||||
|
|
||||||
|
def test_fileglob(self):
|
||||||
|
pathname = os.path.join(os.path.dirname(__file__), '*')
|
||||||
|
a = ansible.runner.filter_plugins.core.fileglob(pathname)
|
||||||
|
assert __file__ in a
|
||||||
|
|
||||||
#def test_filters(self):
|
#def test_filters(self):
|
||||||
|
|
||||||
# this test is pretty low level using a playbook, hence I am disabling it for now -- MPD.
|
# this test is pretty low level using a playbook, hence I am disabling it for now -- MPD.
|
||||||
|
|
Loading…
Reference in a new issue