Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

Commit

Permalink
fixed an offset bug
Browse files Browse the repository at this point in the history
  • Loading branch information
tarekziade committed Mar 6, 2013
1 parent d71f508 commit 7cc2293
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 8 deletions.
12 changes: 7 additions & 5 deletions monolith/client/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def _iso2date(data):

class Client(object):

def __init__(self, server):
def __init__(self, server, zero_fill=True):
self.server = server.rstrip('/')
self.session = requests.session()
# getting monolith info
Expand All @@ -40,6 +40,7 @@ def __init__(self, server):

self.es = self.server + info['es_endpoint']
self.fields = info['fields']
self.zero_fill = zero_fill

def __call__(self, field, start, end, interval=DAY, **terms):
if isinstance(interval, str):
Expand Down Expand Up @@ -135,10 +136,11 @@ def __call__(self, field, start, end, interval=DAY, **terms):

yield {'count': count, 'date': date_}

# yielding zeros
for date_ in drange:
if date_ not in dates:
yield {'count': 0, 'date': date_}
if self.zero_fill:
# yielding zeros
for date_ in drange:
if date_ not in dates:
yield {'count': 0, 'date': date_}


def main():
Expand Down
10 changes: 10 additions & 0 deletions monolith/client/tests/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,16 @@ def test_global_daily(self):
hits = list(self.client('downloads_count', start, end))
self.assertEqual(len(hits), 31)

def test_no_fill(self):
client = Client('http://0.0.0.0:6543', zero_fill=False)
hits = list(client('downloads_count', '2010-01-01', '2010-01-31'))
self.assertEqual(len(hits), 0)

# zero fill by default
client = Client('http://0.0.0.0:6543')
hits = list(client('downloads_count', '2010-01-01', '2010-01-31'))
self.assertEqual(len(hits), 31)

def test_global_weekly(self):
hits = list(self.client('downloads_count', start, end,
interval='week'))
Expand Down
4 changes: 2 additions & 2 deletions monolith/client/tests/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ def setUp(self):
self.end = datetime.date(2012, 05, 01)

def test_iterdays(self):
# 486 days : 365 in 2011 + 4 months in 2012
# 487 days : 365 in 2011 + 4 months in 2012
res = list(iterdays(self.start, self.end))
self.assertEquals(len(res), 486)
self.assertEquals(len(res), 487)

def test_iteryears(self):
# 2 years
Expand Down
2 changes: 1 addition & 1 deletion monolith/client/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


def iterdays(start, end):
delta = (end - start).days
delta = (end - start).days + 1
return (start + datetime.timedelta(n) for n in range(delta))


Expand Down

0 comments on commit 7cc2293

Please sign in to comment.