1# (c) 2015, Marius Gedminas <marius@gedmin.as> 2# 3# This file is part of Ansible 4# 5# Ansible is free software: you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation, either version 3 of the License, or 8# (at your option) any later version. 9# 10# Ansible is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# alongwith Ansible. If not, see <http://www.gnu.org/licenses/>. 17 18# Make coding more python3-ish 19from __future__ import (absolute_import, division, print_function) 20__metaclass__ = type 21 22import shlex 23from ansible.module_utils.six import PY3 24from ansible.module_utils._text import to_bytes, to_text 25 26 27if PY3: 28 # shlex.split() wants Unicode (i.e. ``str``) input on Python 3 29 shlex_split = shlex.split 30else: 31 # shlex.split() wants bytes (i.e. ``str``) input on Python 2 32 def shlex_split(s, comments=False, posix=True): 33 return map(to_text, shlex.split(to_bytes(s), comments, posix)) 34 shlex_split.__doc__ = shlex.split.__doc__ 35