Add fileglob Jinja2 filter. Fixes #3563

pull/4306/head
Matt Martz 11 years ago
parent ef28d62846
commit 535ce97067

@ -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,
}

@ -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.

Loading…
Cancel
Save