def get_channels(self, ts): """ Returns a set of channels for a timeseries package. """ ts_id = self._get_id(ts) resp = self._get(self._uri('/{id}/channels', id=ts_id)) chs = [TimeSeriesChannel.from_dict(r, api=self.session) for r in resp] for ch in chs: ch._pkg = ts_id return chs
def create_channel(self, ts, channel): """ Adds a channel to a timeseries package on the platform. """ if channel.exists: return channel ts_id = self._get_id(ts) resp = self._post( self._uri('/{id}/channels', id=ts_id), json=channel.as_dict()) ch = TimeSeriesChannel.from_dict(resp, api=self.session) ch._pkg = ts.id return ch
def get_channel(self, pkg, channel): """ Returns a channel object from the platform. """ pkg_id = self._get_id(pkg) channel_id = self._get_id(channel) path = self._uri('/{pkg_id}/channels/{id}', pkg_id=pkg_id, id=channel_id) resp = self._get(path) ch = TimeSeriesChannel.from_dict(resp, api=self.session) ch._pkg = pkg_id return ch
def update_channel(self, channel): """ Updates a channel on the platform. Note: must be super-admin. """ ch_id = self._get_id(channel) pkg_id = self._get_id(channel._pkg) path = self._uri('/{pkg_id}/channels/{id}', pkg_id=pkg_id, id=ch_id) resp = self._put(path, json=channel.as_dict()) ch = TimeSeriesChannel.from_dict(resp, api=self.session) ch._pkg = pkg_id return ch
def update_channel_properties(self, channel): """ Updates a channel's properties on the platform. Note: must be super-admin. """ ch_id = self._get_id(channel) pkg_id = self._get_id(channel._pkg) path = self._uri("/{pkg_id}/channels/{id}/properties", pkg_id=pkg_id, id=ch_id) resp = self._put(path, json=[m.as_dict() for m in channel.properties]) ch = TimeSeriesChannel.from_dict(resp, api=self.session) ch._pkg = pkg_id return ch