Fix subcommand pattern

pull/1/head
Christophe Mehay 8 years ago
parent 7735943986
commit a7dfafdc00

@ -2,8 +2,8 @@
from __future__ import absolute_import
from __future__ import unicode_literals
import fnmatch
import os
from fnmatch import fnmatch
class Command(object):
@ -27,7 +27,7 @@ class Command(object):
'{}_ENV_*'.format(link),
]
for patt in patterns:
if fnmatch.fnmatch(link, patt):
if fnmatch(link, patt):
return True
return False
@ -45,7 +45,8 @@ class Command(object):
for item in self.config.secret_env:
if item in os.environ:
del(self.env[item])
subcom = self.config.subcommands
if not self.args or \
fnmatch.filter(self.config.subcommands, self.args[0]):
[p for p in subcom if fnmatch(self.args[0], p)]:
self.args.insert(0, self.command)
os.execvpe(self.args[0], self.args, os.environ)

@ -9,7 +9,7 @@ setup(
name='pyentrypoint',
version='0.1.9',
version='0.1.10',
packages=find_packages(),

@ -1,7 +1,4 @@
command: echo
subcommands:
- OK
command: bash
user: 1000
group: 1000

@ -141,14 +141,15 @@ def test_conf_commands():
def test_command():
run = [
(Process(target=Entrypoint(['OK']).launch), 'OK\n'),
(Process(target=Entrypoint(['echo', 'mdr']).launch), 'mdr\n'),
(Process(target=Entrypoint(['OK', 'mdr']).launch), 'OK mdr\n'),
# ((Process instance), (file to check))
(Process(target=Entrypoint(
['-c', 'echo OK > /tmp/CMD']).launch), '/tmp/CMD'),
(Process(target=Entrypoint(
['bash', '-c', 'echo OK > /tmp/CMD2']).launch), '/tmp/CMD2'),
]
# capsys.readouterr()
for proc, test in run:
proc.start()
proc.join()
# out, _ = capsys.readouterr()
# assert out == test
with open(test) as f:
assert f.readline().startswith('OK')

Loading…
Cancel
Save