Skip to content

Commit a8bde0c

Browse files
committed
fix issue with bytes decoding
1 parent 8f62217 commit a8bde0c

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

python-connectors/api-connect_dataset/connector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from rest_api_client import RestAPIClient
55
from dku_utils import (
66
get_dku_key_values, get_endpoint_parameters,
7-
parse_keys_for_json, get_value_from_path, get_secure_credentials, decode_csv_data
7+
parse_keys_for_json, get_value_from_path, get_secure_credentials,
8+
decode_csv_data, decode_bytes
89
)
910
from dku_constants import DKUConstants
1011
import json
@@ -65,7 +66,7 @@ def generate_rows(self, dataset_schema=None, dataset_partitioning=None,
6566
else:
6667
record_count += 1
6768
yield {
68-
DKUConstants.API_RESPONSE_KEY: "{}".format(data.decode())
69+
DKUConstants.API_RESPONSE_KEY: "{}".format(decode_bytes(data))
6970
}
7071
if is_records_limit and record_count >= records_limit:
7172
break

python-lib/dku_utils.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,7 @@ def decode_csv_data(data):
146146
import csv
147147
import io
148148
json_data = None
149-
if isinstance(data, bytes):
150-
data = data.decode("utf-8")
149+
data = decode_bytes(data)
151150
try:
152151
reader = csv.DictReader(io.StringIO(data))
153152
json_data = list(reader)
@@ -157,8 +156,14 @@ def decode_csv_data(data):
157156
return json_data
158157

159158

160-
def de_NaN(input):
161-
if isinstance(input, float):
162-
if math.isnan(input):
159+
def de_NaN(cell_content):
160+
if isinstance(cell_content, float):
161+
if math.isnan(cell_content):
163162
return ''
164-
return input
163+
return cell_content
164+
165+
166+
def decode_bytes(content):
167+
if isinstance(content, bytes):
168+
content = content.decode()
169+
return content

0 commit comments

Comments
 (0)