Skip to content

Commit c8a35a3

Browse files
committed
feat: Use logger instead of print(), closes #2
1 parent 809c1e1 commit c8a35a3

File tree

4 files changed

+23
-8
lines changed

4 files changed

+23
-8
lines changed

CHANGELOG.rst

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Unreleased
22
----------
33

4+
* Use Python's logging module instead of ``print()``.
45
* Add support for recent Python versions.
56
* Drop support for end-of-life Python versions.
67

docs/index.rst

+5-2
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,15 @@ Each analysis function must accept a ``data`` argument, which is a :class:`dict`
8282
# Load the data
8383
with open('example.csv') as f:
8484
reader = csv.DictReader(f, fieldnames=['name', 'salary'])
85-
reader.next()
85+
next(reader)
8686
data['table'] = list(reader)
8787
88+
def filter_rows(row):
89+
return int(row['salary']) < 25000
90+
8891
def select_rows(data):
8992
# Select relevant rows from the table
90-
data['low_income'] = filter(lambda r: int(r['salary']) < 25000, data['table'])
93+
data['low_income'] = list(filter(filter_rows, data['table']))
9194
9295
def calculate_average(data):
9396
# The average of a value in the rows is taken

example.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ def load_data(data):
99
# Load the data
1010
with open('example.csv') as f:
1111
reader = csv.DictReader(f, fieldnames=['name', 'salary'])
12-
reader.next()
12+
next(reader)
1313
data['table'] = list(reader)
1414

1515

16+
def filter_rows(row):
17+
return int(row['salary']) < 25000
18+
19+
1620
def select_rows(data):
1721
# Select relevant rows from the table
18-
data['low_income'] = filter(lambda r: int(r['salary']) < 20000, data['table'])
22+
data['low_income'] = list(filter(filter_rows, data['table']))
1923

2024

2125
def calculate_average(data):

proof/analysis.py

+11-4
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@
1111
import bz2
1212
import hashlib
1313
import inspect
14+
import logging
1415
import pickle
1516
import os
1617
from copy import deepcopy
1718
from glob import glob
1819

20+
logger = logging.getLogger(__name__)
21+
logger.setLevel(logging.INFO)
22+
ch = logging.StreamHandler()
23+
ch.setLevel(logging.INFO)
24+
logger.addHandler(ch)
25+
1926

2027
class Cache:
2128
"""
@@ -172,15 +179,15 @@ def run(self, refresh=False, _parent_cache=None):
172179
do_not_cache = getattr(self._func, 'never_cache', False)
173180

174181
if refresh is True:
175-
print('Refreshing: %s' % self._name)
182+
logger.info('Refreshing: %s' % self._name)
176183
elif do_not_cache:
177184
refresh = True
178185

179-
print('Never cached: %s' % self._name)
186+
logger.info('Never cached: %s' % self._name)
180187
elif not self._cache.check():
181188
refresh = True
182189

183-
print('Stale cache: %s' % self._name)
190+
logger.info('Stale cache: %s' % self._name)
184191

185192
if refresh:
186193
if _parent_cache:
@@ -193,7 +200,7 @@ def run(self, refresh=False, _parent_cache=None):
193200
if not do_not_cache:
194201
self._cache.set(local_data)
195202
else:
196-
print('Deferring to cache: %s' % self._name)
203+
logger.info('Deferring to cache: %s' % self._name)
197204

198205
for analysis in self._child_analyses:
199206
analysis.run(refresh=refresh, _parent_cache=self._cache)

0 commit comments

Comments
 (0)