Skip to content

Commit 05627f9

Browse files
authored
Merge pull request #14 from neutrons/encoding_defect
Decode plot data from bytestring to utf-8 before storing in database
2 parents 1e9ddb0 + 8833606 commit 05627f9

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

live_data_server/plots/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def get_data_type_from_data(cls, data):
8080
Inspect the data to guess what type it is.
8181
@param data: block of text to store
8282
"""
83-
if data.startswith(b'<div'):
83+
if data.startswith('<div'):
8484
return DATA_TYPES['html']
8585
return DATA_TYPES['json']
8686

live_data_server/plots/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def _store(request, instrument, run_id=None, as_user=False):
114114
@param as_user: if True, we will store as user data
115115
"""
116116
if request.user.is_authenticated and 'file' in request.FILES:
117-
raw_data = request.FILES['file'].read()
117+
raw_data = request.FILES['file'].read().decode('utf-8')
118118
data_type_default = PlotData.get_data_type_from_data(raw_data)
119119
data_type = request.POST.get('data_type', default=data_type_default)
120120
if as_user:

tests/test_post_get.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def test_get_request(data_server):
6868
url = f"{base_url}?key={_generate_key(instrument, run_number)}"
6969
http_request = requests.get(url)
7070
assert http_request.status_code == http_ok
71+
assert http_request.text == files["file"]
7172

7273
# test GET request - no key
7374
# TODO: this should return 401 unauthorized

0 commit comments

Comments
 (0)