Skip to content

Commit 85401ed

Browse files
committed
Converting to str strings after loads() insitead of unicode.
1 parent c0ff852 commit 85401ed

3 files changed

Lines changed: 27 additions & 1 deletion

File tree

CHANGES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
osdf-python 0.2.3
2+
3+
* Ensuring unicode is converted to ascii str
4+
5+
- Victor <victor73@github.com> Wed, 24 Jun 2015 12:00:00 -0400
6+
17
osdf-python 0.2.2
28

39
* Correct check for wrong HTTP status code on deletes.

osdf.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,16 @@ def edit_node(self, json_data):
8888
else:
8989
raise Exception("Unable to edit node document.")
9090

91+
def _byteify(self, input):
92+
if isinstance(input, dict):
93+
return {self._byteify(key):self._byteify(value) for key,value in input.iteritems()}
94+
elif isinstance(input, list):
95+
return [self._byteify(element) for element in input]
96+
elif isinstance(input, unicode):
97+
return input.encode('utf-8')
98+
else:
99+
return input
100+
91101
def get_info(self):
92102
"""
93103
Retrieve's the OSDF server's information/contact document
@@ -96,6 +106,8 @@ def get_info(self):
96106

97107
info = json.loads( osdf_response['content'] )
98108

109+
info = self._byteify(info)
110+
99111
return info
100112

101113
def get_node(self, node_id):
@@ -119,6 +131,8 @@ def get_node(self, node_id):
119131

120132
data = json.loads( osdf_response['content'] )
121133

134+
data = self._byteify(data)
135+
122136
return data
123137

124138
def get_schema(self, namespace, schema_name):
@@ -144,6 +158,8 @@ def get_schema(self, namespace, schema_name):
144158

145159
schema_data = json.loads( osdf_response['content'] )
146160

161+
schema_data = self._byteify(schema_data)
162+
147163
return schema_data
148164

149165
def get_aux_schema(self, namespace, aux_schema_name):
@@ -169,6 +185,8 @@ def get_aux_schema(self, namespace, aux_schema_name):
169185

170186
aux_schema_data = json.loads( osdf_response['content'] )
171187

188+
aux_schema_data = self._byteify(aux_schema_data)
189+
172190
return aux_schema_data
173191

174192
def insert_node(self, json_data):
@@ -267,6 +285,8 @@ def query(self, namespace, query, page=1):
267285

268286
data = json.loads( osdf_response['content'] )
269287

288+
data = self._byteify(data)
289+
270290
return data
271291

272292
def query_all_pages(self, namespace, query):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def read(fname):
88
setup(name='osdf-python',
99
description='Python client to Open Science Data Framework (OSDF) REST servers.',
1010
long_description=read('README.md'),
11-
version='0.2.2',
11+
version='0.2.3',
1212
py_modules=['osdf', 'request'],
1313
author='Victor Felix',
1414
author_email='victor73@gmail.com',

0 commit comments

Comments
 (0)