2
Defines the BaseDataRange class.
5
# Local relative imports
6
from abstract_data_range import AbstractDataRange
9
class BaseDataRange(AbstractDataRange):
10
""" Ranges represent sub-regions of data space.
12
They support "autoscaling" by querying their associated data sources.
15
#------------------------------------------------------------------------
17
#------------------------------------------------------------------------
19
def __init__(self, *datasources, **kwtraits):
20
super(AbstractDataRange, self).__init__(**kwtraits)
21
if len(datasources) > 0:
22
self.sources.extend(datasources)
24
def add(self, *datasources):
25
""" Convenience method to add a data source. """
26
for datasource in datasources:
27
if datasource not in self.sources:
28
self.sources.append(datasource)
30
def remove(self, *datasources):
31
""" Convenience method to remove a data source. """
32
for datasource in datasources:
33
if datasource in self.sources:
34
self.sources.remove(datasource)