--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hp/utils.py Thu Nov 15 04:11:59 2012 +0100
@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Nov 14, 2012
+
+@author: ymh
+'''
+import urlparse
+import requests
+from . import settings
+import logging
+
+logger = logging.getLogger(__name__)
+
+def get_abs_url(url, default_domain):
+
+ if not url:
+ return url
+ url_part = urlparse.urlparse(url)
+ if url_part.netloc:
+ return url
+ else:
+ pr = urlparse.ParseResult('http', default_domain, url_part.path, url_part.params, url_part.query, url_part.fragment)
+ return pr.geturl()
+
+
+def get_all_objects(res_url, field_filter):
+ contents = []
+ url = res_url
+ while url:
+ r = requests.get(url)
+ if r.status_code != requests.codes.ok: #@UndefinedVariable
+ logger.error("Error when requesting contents " + repr(r.status_code) + " : " + repr(r.text))
+ break
+ contents.extend([ c for c in r.json['objects'] if c.get(field_filter, None) ])
+ url = get_abs_url(r.json.get('meta',{}).get('next',None), settings.LDT_NETLOC)
+ return contents