From a63e4e22360af4521dac0ebb30fbc8c15ebf1ca6 Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Wed, 14 Feb 2018 22:38:01 -0500 Subject: [PATCH] Safer parsing for Turnitin API result. --- copyvios/turnitin.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/copyvios/turnitin.py b/copyvios/turnitin.py index 5724b7e..2260e45 100644 --- a/copyvios/turnitin.py +++ b/copyvios/turnitin.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from ast import literal_eval +import json import re import requests @@ -31,8 +31,10 @@ def _make_api_request(page_title, lang): 'report': 1} result = requests.get(TURNITIN_API_ENDPOINT, params=api_parameters) - # use literal_eval to *safely* parse the resulting dict-containing string - parsed_api_result = literal_eval(result.text) + try: + parsed_api_result = json.loads(result.text) + except ValueError: + parsed_api_result = [] return parsed_api_result class TurnitinResult(object):