mirror of
https://github.com/ansible/awx.git
synced 2026-04-05 10:09:20 -02:30
support the new CLI in py2 *and* py3
This commit is contained in:
@@ -10,6 +10,7 @@ import sys
|
||||
import re
|
||||
import os
|
||||
|
||||
import six
|
||||
import yaml
|
||||
|
||||
from awxkit.words import words
|
||||
@@ -132,7 +133,7 @@ class PseudoNamespace(dict):
|
||||
|
||||
|
||||
def is_relative_endpoint(candidate):
|
||||
return isinstance(candidate, (str,)) and candidate.startswith('/api/')
|
||||
return isinstance(candidate, (six.text_type,)) and candidate.startswith('/api/')
|
||||
|
||||
|
||||
def is_class_or_instance(obj, cls):
|
||||
@@ -320,6 +321,22 @@ def update_payload(payload, fields, kwargs):
|
||||
return payload
|
||||
|
||||
|
||||
def to_str(obj):
|
||||
if six.PY3:
|
||||
if isinstance(obj, bytes):
|
||||
return obj.decode('utf-8')
|
||||
return obj
|
||||
if not isinstance(obj, six.text_type):
|
||||
try:
|
||||
return str(obj)
|
||||
except UnicodeDecodeError:
|
||||
try:
|
||||
obj = six.text_type(obj, 'utf8')
|
||||
except UnicodeDecodeError:
|
||||
obj = obj.decode('latin1')
|
||||
return obj.encode('utf8')
|
||||
|
||||
|
||||
def to_bool(obj):
|
||||
if isinstance(obj, (str,)):
|
||||
return obj.lower() not in ('false', 'off', 'no', 'n', '0', '')
|
||||
|
||||
Reference in New Issue
Block a user