Esempio n. 1
0
 def lookupStreams(self, collection, isCollectionPrefix, tags, annotations):
     tagkvlist = []
     for k, v in tags.items():
         if v is None:
             ov = None
         else:
             if isinstance(v, str):
                 v = v.encode("utf-8")
             ov = btrdb_pb2.OptValue(value=v)
         kv = btrdb_pb2.KeyOptValue(key=k, val=ov)
         tagkvlist.append(kv)
     annkvlist = []
     for k, v in annotations.items():
         if v is None:
             ov = None
         else:
             if isinstance(v, str):
                 v = v.encode("utf-8")
             ov = btrdb_pb2.OptValue(value=v)
         kv = btrdb_pb2.KeyOptValue(key=k, val=ov)
         annkvlist.append(kv)
     params = btrdb_pb2.LookupStreamsParams(
         collection=collection,
         isCollectionPrefix=isCollectionPrefix,
         tags=tagkvlist,
         annotations=annkvlist,
     )
     for result in self.stub.LookupStreams(params):
         check_proto_stat(result.stat)
         yield result.results
Esempio n. 2
0
 def rawValues(self, uu, start, end, version=0):
     params = btrdb_pb2.RawValuesParams(uuid=uu.bytes,
                                        start=start,
                                        end=end,
                                        versionMajor=version)
     for result in self.stub.RawValues(params):
         check_proto_stat(result.stat)
         yield result.values, result.versionMajor
Esempio n. 3
0
 def nearest(self, uu, time, version, backward):
     params = btrdb_pb2.NearestParams(uuid=uu.bytes,
                                      time=time,
                                      versionMajor=version,
                                      backward=backward)
     result = self.stub.Nearest(params)
     check_proto_stat(result.stat)
     return result.value, result.versionMajor
Esempio n. 4
0
 def streamInfo(self, uu, omitDescriptor, omitVersion):
     params = btrdb_pb2.StreamInfoParams(uuid=uu.bytes,
                                         omitVersion=omitVersion,
                                         omitDescriptor=omitDescriptor)
     result = self.stub.StreamInfo(params)
     desc = result.descriptor
     check_proto_stat(result.stat)
     tagsanns = unpack_stream_descriptor(desc)
     return desc.collection, desc.propertyVersion, tagsanns[0], tagsanns[
         1], result.versionMajor
Esempio n. 5
0
 def changes(self, uu, fromVersion, toVersion, resolution):
     params = btrdb_pb2.ChangesParams(
         uuid=uu.bytes,
         fromMajor=fromVersion,
         toMajor=toVersion,
         resolution=resolution,
     )
     for result in self.stub.Changes(params):
         check_proto_stat(result.stat)
         yield result.ranges, result.versionMajor
Esempio n. 6
0
 def alignedWindows(self, uu, start, end, pointwidth, version=0):
     params = btrdb_pb2.AlignedWindowsParams(
         uuid=uu.bytes,
         start=start,
         end=end,
         versionMajor=version,
         pointWidth=int(pointwidth),
     )
     for result in self.stub.AlignedWindows(params):
         check_proto_stat(result.stat)
         yield result.values, result.versionMajor
Esempio n. 7
0
 def windows(self, uu, start, end, width, depth, version=0):
     params = btrdb_pb2.WindowsParams(
         uuid=uu.bytes,
         start=start,
         end=end,
         versionMajor=version,
         width=width,
         depth=depth,
     )
     for result in self.stub.Windows(params):
         check_proto_stat(result.stat)
         yield result.values, result.versionMajor
Esempio n. 8
0
    def listCollections(self, prefix):
        """
        Returns a generator for windows of collection paths matching search

        Yields
        ------
        collection paths : list[str]
        """
        params = btrdb_pb2.ListCollectionsParams(prefix=prefix)
        for msg in self.stub.ListCollections(params):
            check_proto_stat(msg.stat)
            yield msg.collections
Esempio n. 9
0
 def create(self, uu, collection, tags, annotations):
     tagkvlist = []
     for k, v in tags.items():
         kv = btrdb_pb2.KeyOptValue(key=k, val=btrdb_pb2.OptValue(value=v))
         tagkvlist.append(kv)
     annkvlist = []
     for k, v in annotations.items():
         kv = btrdb_pb2.KeyOptValue(key=k, val=btrdb_pb2.OptValue(value=v))
         annkvlist.append(kv)
     params = btrdb_pb2.CreateParams(uuid=uu.bytes,
                                     collection=collection,
                                     tags=tagkvlist,
                                     annotations=annkvlist)
     result = self.stub.Create(params)
     check_proto_stat(result.stat)
Esempio n. 10
0
 def insert(self, uu, values, policy):
     policy_map = {
         "never": btrdb_pb2.MergePolicy.NEVER,
         "equal": btrdb_pb2.MergePolicy.EQUAL,
         "retain": btrdb_pb2.MergePolicy.RETAIN,
         "replace": btrdb_pb2.MergePolicy.REPLACE,
     }
     protoValues = RawPoint.to_proto_list(values)
     params = btrdb_pb2.InsertParams(
         uuid=uu.bytes,
         sync=False,
         values=protoValues,
         merge_policy=policy_map[policy],
     )
     result = self.stub.Insert(params)
     check_proto_stat(result.stat)
     return result.versionMajor
Esempio n. 11
0
 def generateCSV(self, queryType, start, end, width, depth, includeVersions,
                 *streams):
     protoStreams = [
         btrdb_pb2.StreamCSVConfig(version=stream[0],
                                   label=stream[1],
                                   uuid=stream[2].bytes)
         for stream in streams
     ]
     params = btrdb_pb2.GenerateCSVParams(queryType=queryType.to_proto(),
                                          startTime=start,
                                          endTime=end,
                                          windowSize=width,
                                          depth=depth,
                                          includeVersions=includeVersions,
                                          streams=protoStreams)
     for result in self.stub.GenerateCSV(params):
         check_proto_stat(result.stat)
         yield result.row
Esempio n. 12
0
 def setStreamAnnotations(self, uu, expected, changes, removals):
     annkvlist = []
     for k, v in changes.items():
         if v is None:
             ov = None
         else:
             if isinstance(v, str):
                 v = v.encode("utf-8")
             ov = btrdb_pb2.OptValue(value=v)
         kv = btrdb_pb2.KeyOptValue(key=k, val=ov)
         annkvlist.append(kv)
     params = btrdb_pb2.SetStreamAnnotationsParams(
         uuid=uu.bytes,
         expectedPropertyVersion=expected,
         changes=annkvlist,
         removals=removals,
     )
     result = self.stub.SetStreamAnnotations(params)
     check_proto_stat(result.stat)
Esempio n. 13
0
 def setStreamTags(self, uu, expected, tags, collection):
     tag_data = []
     for k, v in tags.items():
         if v is None:
             ov = None
         else:
             if isinstance(v, str):
                 v = v.encode("utf-8")
             ov = btrdb_pb2.OptValue(value=v)
         kv = btrdb_pb2.KeyOptValue(key=k, val=ov)
         tag_data.append(kv)
     params = btrdb_pb2.SetStreamTagsParams(
         uuid=uu.bytes,
         expectedPropertyVersion=expected,
         tags=tag_data,
         collection=collection,
     )
     result = self.stub.SetStreamTags(params)
     check_proto_stat(result.stat)
Esempio n. 14
0
 def obliterate(self, uu):
     params = btrdb_pb2.ObliterateParams(uuid=uu.bytes)
     result = self.stub.Obliterate(params)
     check_proto_stat(result.stat)
Esempio n. 15
0
 def flush(self, uu):
     params = btrdb_pb2.FlushParams(uuid=uu.bytes)
     result = self.stub.Flush(params)
     check_proto_stat(result.stat)
Esempio n. 16
0
 def deleteRange(self, uu, start, end):
     params = btrdb_pb2.DeleteParams(uuid=uu.bytes, start=start, end=end)
     result = self.stub.Delete(params)
     check_proto_stat(result.stat)
     return result.versionMajor
Esempio n. 17
0
 def info(self):
     params = btrdb_pb2.InfoParams()
     result = self.stub.Info(params)
     check_proto_stat(result.stat)
     return result
Esempio n. 18
0
 def faultInject(self, typ, args):
     params = btrdb_pb2.FaultInjectParams(type=typ, params=args)
     result = self.stub.FaultInject(params)
     check_proto_stat(result.stat)
     return result.rv
Esempio n. 19
0
 def getMetadataUsage(self, prefix):
     params = btrdb_pb2.MetadataUsageParams(prefix=prefix)
     result = self.stub.GetMetadataUsage(params)
     check_proto_stat(result.stat)
     return result.tags, result.annotations
Esempio n. 20
0
 def sql_query(self, stmt, params=[]):
     request = btrdb_pb2.SQLQueryParams(query=stmt, params=params)
     for page in self.stub.SQLQuery(request):
         check_proto_stat(page.stat)
         yield page.SQLQueryRow