commit:     9664464413b7cd59f861eff01148454974e23030
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  4 08:02:10 2016 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Dec  4 08:02:10 2016 +0000
URL:        https://gitweb.gentoo.org/proj/grumpy.git/commit/?id=96644644

sync: use requests response.json() directly instead of json.loads

This should ensure requests will handle UTF-8 fully correctly for us

Suggested-by: Doug Freed <dwfreed <AT> mtu.edu>

 backend/lib/sync.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/backend/lib/sync.py b/backend/lib/sync.py
index 22419bf..2d6244c 100644
--- a/backend/lib/sync.py
+++ b/backend/lib/sync.py
@@ -1,5 +1,4 @@
 import xml.etree.ElementTree as ET
-from flask import json
 import requests
 from .. import app, db
 from .models import Category, Maintainer, Package, PackageVersion
@@ -111,7 +110,7 @@ def sync_categories():
     url = pkg_url_base + "categories.json"
     data = http_session.get(url)
     # TODO: Handle response error (if not data)
-    categories = json.loads(data.text)
+    categories = data.json()
     existing_categories = {}
     # TODO: Use UPSERT instead (on_conflict_do_update) if we can rely on 
postgresql:9.5
     for cat in Category.query.all():
@@ -131,7 +130,7 @@ def sync_packages():
         if not data:
             print("No JSON data for category %s" % category.name) # FIXME: 
Better handling; mark category as inactive/gone?
             continue
-        packages = json.loads(data.text)['packages']
+        packages = data.json()['packages']
         # TODO: Use UPSERT instead (on_conflict_do_update)
         existing_packages = {}
         for pkg in Package.query.all():
@@ -151,5 +150,5 @@ def sync_versions():
             print("No JSON data for package %s" % package.full_name) # FIXME: 
Handle better; e.g mark the package as removed if no pkgmove update
             continue
         from pprint import pprint
-        pprint(json.loads(data.text))
+        pprint(data.json())
         break

Reply via email to