Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions healthgraph/parser.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Python Client Library for Health Graph API (http://developer.runkeeper.com/healthgraph).
"""Python Client Library for Health Graph API (http://developer.runkeeper.com/healthgraph).

The API is used for accessing RunKeeper (http://runkeeper.com) for retrieving,
The API is used for accessing RunKeeper (http://runkeeper.com) for retrieving,
updating, deleting and uploading Fitness Activity and Health Measurements Information.

This module contains the classes and methods for parsing Health Graph API data.
Expand All @@ -20,7 +20,7 @@
__email__ = "aouyar at gmail.com"
__status__ = "Development"


def parse_bool(val):
if val is None:
return None
Expand All @@ -39,43 +39,43 @@ def parse_date(val):
else:
mobj = re.match('\w+,\s*(\d+)\s+(\w+)\s+(\d+)', val)
if mobj is not None:
return date(int(mobj.group(3)),
return date(int(mobj.group(3)),
settings.MONTH2NUM[mobj.group(2)],
int(mobj.group(1)))
else:
exceptions.ParseValueError("Error parsing date value.")

def parse_datetime(val):
if val is None:
return None
else:
mobj = re.match('\w+,\s*(\d+)\s+(\w+)\s+(\d+)\s+(\d+):(\d+):(\d+)', val)
if mobj is not None:
return datetime(int(mobj.group(3)),
return datetime(int(mobj.group(3)),
settings.MONTH2NUM[mobj.group(2)],
int(mobj.group(1)),
int(mobj.group(4)),
int(mobj.group(5)),
int(mobj.group(6)),)
else:
exceptions.ParseValueError("Error parsing date-time value.")

def parse_distance(val):
if val is None:
return None
try:
return float(val)
except:
raise exceptions.ParseValueError("Error parsing distance value.")

def parse_distance_km(val):
if val is None:
return None
try:
return float(val) * 1000
except:
raise exceptions.ParseValueError("Error parsing distance value.")

def parse_resource_dict(prop_defs, data):
prop_dict = dict([(k, None) for k in prop_defs])
for k,v in data.items():
Expand All @@ -94,4 +94,3 @@ def parse_date_param(val):
return val.strftime('%y-%m-%d')
else:
return val

Loading