make dataset.freeze.config compatible with python3
This commit is contained in:
@@ -1,10 +1,7 @@
|
||||
import json
|
||||
import yaml
|
||||
|
||||
try:
|
||||
str = unicode
|
||||
except NameError:
|
||||
pass
|
||||
from six import text_type, PY3
|
||||
|
||||
from dataset.util import FreezeException
|
||||
|
||||
@@ -33,14 +30,17 @@ class Configuration(object):
|
||||
extension = file_name.rsplit('.', 1)[-1]
|
||||
loader = DECODER.get(extension, json)
|
||||
try:
|
||||
fh = open(file_name, 'rb')
|
||||
if loader == json and PY3: # pragma: no cover
|
||||
fh = open(file_name, encoding='utf8')
|
||||
else:
|
||||
fh = open(file_name, 'rb')
|
||||
try:
|
||||
self.data = loader.load(fh)
|
||||
except ValueError as ve:
|
||||
raise FreezeException("Invalid freeze file: %s" % ve)
|
||||
fh.close()
|
||||
except IOError as ioe:
|
||||
raise FreezeException(str(ioe))
|
||||
raise FreezeException(text_type(ioe))
|
||||
|
||||
@property
|
||||
def exports(self):
|
||||
@@ -64,7 +64,7 @@ class Export(object):
|
||||
def get_normalized(self, name, default=None):
|
||||
value = self.get(name, default=default)
|
||||
if value not in [None, default]:
|
||||
value = str(value).lower().strip()
|
||||
value = text_type(value).lower().strip()
|
||||
return value
|
||||
|
||||
def get_bool(self, name, default=False):
|
||||
|
||||
Reference in New Issue
Block a user