图片解析应用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
3.3 KiB

  1. from ..helpers import nativestr
  2. class BFInfo(object):
  3. capacity = None
  4. size = None
  5. filterNum = None
  6. insertedNum = None
  7. expansionRate = None
  8. def __init__(self, args):
  9. response = dict(zip(map(nativestr, args[::2]), args[1::2]))
  10. self.capacity = response["Capacity"]
  11. self.size = response["Size"]
  12. self.filterNum = response["Number of filters"]
  13. self.insertedNum = response["Number of items inserted"]
  14. self.expansionRate = response["Expansion rate"]
  15. def get(self, item):
  16. try:
  17. return self.__getitem__(item)
  18. except AttributeError:
  19. return None
  20. def __getitem__(self, item):
  21. return getattr(self, item)
  22. class CFInfo(object):
  23. size = None
  24. bucketNum = None
  25. filterNum = None
  26. insertedNum = None
  27. deletedNum = None
  28. bucketSize = None
  29. expansionRate = None
  30. maxIteration = None
  31. def __init__(self, args):
  32. response = dict(zip(map(nativestr, args[::2]), args[1::2]))
  33. self.size = response["Size"]
  34. self.bucketNum = response["Number of buckets"]
  35. self.filterNum = response["Number of filters"]
  36. self.insertedNum = response["Number of items inserted"]
  37. self.deletedNum = response["Number of items deleted"]
  38. self.bucketSize = response["Bucket size"]
  39. self.expansionRate = response["Expansion rate"]
  40. self.maxIteration = response["Max iterations"]
  41. def get(self, item):
  42. try:
  43. return self.__getitem__(item)
  44. except AttributeError:
  45. return None
  46. def __getitem__(self, item):
  47. return getattr(self, item)
  48. class CMSInfo(object):
  49. width = None
  50. depth = None
  51. count = None
  52. def __init__(self, args):
  53. response = dict(zip(map(nativestr, args[::2]), args[1::2]))
  54. self.width = response["width"]
  55. self.depth = response["depth"]
  56. self.count = response["count"]
  57. def __getitem__(self, item):
  58. return getattr(self, item)
  59. class TopKInfo(object):
  60. k = None
  61. width = None
  62. depth = None
  63. decay = None
  64. def __init__(self, args):
  65. response = dict(zip(map(nativestr, args[::2]), args[1::2]))
  66. self.k = response["k"]
  67. self.width = response["width"]
  68. self.depth = response["depth"]
  69. self.decay = response["decay"]
  70. def __getitem__(self, item):
  71. return getattr(self, item)
  72. class TDigestInfo(object):
  73. compression = None
  74. capacity = None
  75. merged_nodes = None
  76. unmerged_nodes = None
  77. merged_weight = None
  78. unmerged_weight = None
  79. total_compressions = None
  80. memory_usage = None
  81. def __init__(self, args):
  82. response = dict(zip(map(nativestr, args[::2]), args[1::2]))
  83. self.compression = response["Compression"]
  84. self.capacity = response["Capacity"]
  85. self.merged_nodes = response["Merged nodes"]
  86. self.unmerged_nodes = response["Unmerged nodes"]
  87. self.merged_weight = response["Merged weight"]
  88. self.unmerged_weight = response["Unmerged weight"]
  89. self.total_compressions = response["Total compressions"]
  90. self.memory_usage = response["Memory usage"]
  91. def get(self, item):
  92. try:
  93. return self.__getitem__(item)
  94. except AttributeError:
  95. return None
  96. def __getitem__(self, item):
  97. return getattr(self, item)