1212from splitio import util
1313
1414
15- _TIME_INTERVAL_MS = 3600 * 1000
15+ _TIME_INTERVAL_MS = 3600 * 1000 # one hour
1616_IMPRESSION_OBSERVER_CACHE_SIZE = 500000
1717
1818
@@ -36,7 +36,7 @@ def truncate_time(timestamp_ms):
3636 return timestamp_ms - (timestamp_ms % _TIME_INTERVAL_MS )
3737
3838
39- class Hasher (object ):
39+ class Hasher (object ): # pylint:disable=too-few-public-methods
4040 """Impression hasher."""
4141
4242 _PATTERN = "%s:%s:%s:%s:%d"
@@ -83,7 +83,7 @@ def process(self, impression):
8383 return self ._hash_fn (self ._stringify (impression ), self ._seed )
8484
8585
86- class Observer (object ):
86+ class Observer (object ): # pylint:disable=too-few-public-methods
8787 """Observe impression and add a previous time if applicable."""
8888
8989 def __init__ (self , size ):
@@ -153,7 +153,7 @@ def pop_all(self):
153153 for (k , v ) in six .iteritems (old )]
154154
155155
156- class Manager (object ):
156+ class Manager (object ): # pylint:disable=too-few-public-methods
157157 """Impression manager."""
158158
159159 def __init__ (self , forwarder , mode = ImpressionsMode .OPTIMIZED , standalone = True , listener = None ):
@@ -178,7 +178,14 @@ def __init__(self, forwarder, mode=ImpressionsMode.OPTIMIZED, standalone=True, l
178178 self ._listener = listener
179179
180180 def track (self , impressions ):
181- """TODO."""
181+ """
182+ Track impressions.
183+
184+ Impressions are analyzed to see if they've been seen before and counted.
185+
186+ :param impressions: List of impression objects
187+ :type impressions: list[splitio.models.impression.Impression]
188+ """
182189 imps = [self ._observer .test_and_set (i ) for i in impressions ] if self ._observer \
183190 else impressions
184191
@@ -191,4 +198,4 @@ def track(self, impressions):
191198
192199 this_hour = truncate_time (util .utctime_ms ())
193200 self ._forwarder (imps if self ._counter is None
194- else [i for i in imps if i .previous_time is None or i .previous_time < this_hour ])
201+ else [i for i in imps if i .previous_time is None or i .previous_time < this_hour ]) # pylint:disable=line-too-long
0 commit comments