示例#1
0
 def __init__(self, name, **keys):
     DataNode.__init__(self, 'zerod', name, **keys)
     cnx = self.db_connection
     self._channels_name = QueueSetting('%s_channels' % self.db_name,
                                        connection=cnx)
     self._channels = {}
     for channel_name in self._channels_name:
         self._channels[channel_name] = QueueSetting(
             '%s_%s' % (self.db_name, channel_name), connection=cnx)
示例#2
0
    def __init__(self,
                 node_type,
                 name,
                 parent=None,
                 connection=None,
                 create=False):
        DataNode.__init__(self,
                          node_type,
                          name,
                          parent=parent,
                          connection=connection,
                          create=create)

        children_queue_name = '%s_children_list' % self.db_name
        self._children = QueueSetting(children_queue_name,
                                      connection=connection)
示例#3
0
    def __init__(self, name, **keys):
        shape = keys.pop('shape', None)
        dtype = keys.pop('dtype', None)

        DataNode.__init__(self, 'channel', name, **keys)

        if keys.get('create', False):
            if shape is not None:
                self.info["shape"] = shape
            if dtype is not None:
                self.info["dtype"] = dtype

        cnx = self.db_connection
        self._queue = QueueSetting("%s_data" % self.db_name,
                                   connection=cnx,
                                   read_type_conversion=functools.partial(
                                       data_from_bytes,
                                       shape=shape,
                                       dtype=dtype),
                                   write_type_conversion=data_to_bytes)
示例#4
0
 def store(self, signal, event_dict):
     if signal == "new_data":
         channel_data = event_dict.get("channel_data")
         if channel_data is None:
             # warning
             return
         for channel_name, data in channel_data.iteritems():
             if data.size == 0:
                 continue
             queue = self._channels.get(channel_name)
             if queue is None:
                 self._channels_name.append(channel_name)
                 queue = QueueSetting('%s_%s' %
                                      (self.db_name, channel_name),
                                      connection=self.db_connection)
                 self._channels[channel_name] = queue
             try:
                 iter(data)
             except:
                 queue.append(data)
             else:
                 queue.extend(data)
示例#5
0
 def __init__(self, channel_db_name, cnx):
     self._queue = QueueSetting(channel_db_name, connection=cnx)