1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Add fileglob Jinja2 filter. Fixes #3563

This commit is contained in:
Matt Martz 2013-09-30 12:55:13 -05:00
parent ef28d62846
commit 535ce97067
2 changed files with 14 additions and 0 deletions

View file

@ -21,6 +21,7 @@ import os.path
import yaml
import types
import pipes
import glob
from ansible import errors
from ansible.utils import md5s
@ -74,6 +75,10 @@ def quote(a):
''' return its argument quoted for shell usage '''
return pipes.quote(a)
def fileglob(pathname):
''' return list of matched files for glob '''
return glob.glob(pathname)
class FilterModule(object):
''' Ansible core jinja2 filters '''
@ -115,5 +120,8 @@ class FilterModule(object):
# md5 hex digest of string
'md5': md5s,
# file glob
'fileglob': fileglob,
}

View file

@ -2,6 +2,7 @@
Test bundled filters
'''
import os.path
import unittest, tempfile, shutil
from ansible import playbook, inventory, callbacks
import ansible.runner.filter_plugins.core
@ -83,6 +84,11 @@ class TestFilters(unittest.TestCase):
a = ansible.runner.filter_plugins.core.quote('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):
# this test is pretty low level using a playbook, hence I am disabling it for now -- MPD.