Thanks for teaching me python :)

My point is this; you don't want to parse the `start_date` and `end_date` when you're doing going to use them. What you can do is one of two:

```python
for ....
    if params['product'] != version['product']:
        continue
    start_date = isodate.parse_date(version['start_date'])
    end_date = isodate.parse_date(version['end_date'])
    if start_date ...
```

...or...

```python
for ....
    if (
        params['product'] != version['product'] and :
        isodate.parse_date(version['start_date']) <= now and
        isodate.parse_date(version['end_date']) >= now
    ):
        data['available_versions'].append(version['version'])
```

It's no biggie. It's just bad practice to compute things you certainly won't be needing. E.g.

```
for company in all_us_charities:
    verdict = audit_all_taxes(company)  # expensive computation
    if re.findall('Tea', company):
        print "Audited", company, "Verdict:", verdict
```