コード例 #1
0
 def setUp(self):
     # We set up and tear down the tree a few times to validate the dropTree function
     self.tree = hamDb.BkHammingTree()
     for x in range(4):
         with self.tree.writer_context():
             self.tree.dropTree()
             self.buildTestTree()
コード例 #2
0
 def buildTestTree(self):
     self.tree = hamDb.BkHammingTree()
     for nodeId, node_hash in enumerate(TEST_DATA_Narrow):
         print("Inserting node id: ", nodeId, "hash", node_hash, "value: ",
               b2i(node_hash))
         node_hash = b2i(node_hash)
         self.tree.insert(node_hash, nodeId)
コード例 #3
0
    def setUp(self):

        self.tree = hamDb.BkHammingTree()
        for x in range(4):
            with self.tree.writer_context():
                self.tree.dropTree()
                self.buildTestTree()
コード例 #4
0
    def test_reentrant_read(self):
        # print("Test: test_reentrant_read")
        testLock = hamDb.BkHammingTree()

        testLock.get_read_lock()
        testLock.get_read_lock()
        testLock.free_read_lock()
        testLock.free_read_lock()
コード例 #5
0
    def test_overrelease_write(self):
        # print("Test: test_overrelease_write")

        testLock = hamDb.BkHammingTree()

        testLock.get_write_lock()
        testLock.free_write_lock()
        self.assertRaises(RuntimeError, testLock.free_write_lock)
コード例 #6
0
	def __init__(self, noglobal=False):
		super().__init__()

		if noglobal:
			self.tree = hamDb.BkHammingTree()
		else:
			self.tree = TreeProxy.Instance()

		assert self.tree is not None
コード例 #7
0
    def test_non_reentrant_write(self):
        # print("Test: test_non_reentrant_write")

        testLock = hamDb.BkHammingTree()

        testLock.get_write_lock()
        self.assertRaises(RuntimeError,
                          testLock.get_write_lock,
                          blocking=False)
        testLock.free_write_lock()
コード例 #8
0
    def __init__(self, noglobal=False):
        super().__init__()

        if noglobal:
            self.tree = hamDb.BkHammingTree()
        else:
            self.tree = TreeProxy.Instance()

        # Only load the tree if it's empty

        with self.tree.updateLock.writer_context():
            self.doLoad(silent=True)
    def buildTestTree(self):

        self.tree = hamDb.BkHammingTree()
        print("Building test tree with size: %s" % self.tree_size)
        local_random = random.Random()
        local_random.seed(RANDOM_INIT)
        for nodeId in range(self.tree_size):
            node_hash = local_random.getrandbits(64) - 2**63
            self.tree.insert(node_hash, nodeId)

        local_random = random.Random()
        local_random.seed(RANDOM_INIT)
        for nodeId in range(self.tree_size):
            node_hash = local_random.getrandbits(64) - 2**63
            if nodeId % 7 == 0:
                self.tree.insert(node_hash, nodeId)

        print("Built")
コード例 #10
0
    # 81111111000000000000000000000000000000000000000000000000000000111100000000
	# "0000000000000000000000000001100000000001111111111111111000000000",  # 9
	# "0000000000000000000000000011100000000001111111111111111000000000",  # 10
	# "0000000000000000000000000010100000000001111111111111111000000000",  # 11
	# "0000000000000000000000000011000000000001111111111111111000000000",  # 12
	# "0000000000000000000000000001000000000001111111111111111000000000",  # 13
	# "0000000000000000000000000101000000000001111111111111111000000000",  # 14
	# "0000000000000000000000001101000000000001111111111111111000000000",  # 15
]

def trans(my_hexdata):
    scale = 16  ## equals to hexadecimal
    num_of_bits = 64
    return bin(int(my_hexdata, scale))[2:].zfill(num_of_bits)

tree = hamDb.BkHammingTree()
for nodeId, node_hash in enumerate(TEST_DATA):
    print("Inserting node id: ", nodeId, "hash", node_hash, "value: ", b2i(node_hash))
    node_hash = b2i(node_hash)
    tree.unlocked_insert(node_hash, nodeId)

image = Image.open('data/t1.png')
#row, col = dhash.dhash_row_col(image, size=8)
#hash = dhash.format_hex(row, col)
hash = imagehash.phash(image)
print(str(hash))
hash = trans(str(hash))
print(hash)
tgtHash1 = b2i(hash)
tree.unlocked_insert(tgtHash1, 15764)
コード例 #11
0
    def buildTestTree(self):
        self.tree = hamDb.BkHammingTree()

        for nodeId, nodeHash in TEST_DATA.items():
            self.tree.insert(nodeHash, nodeId)
 def setUp(self):
     self.tree = hamDb.BkHammingTree()
     print("Warming memory")
     for x in range(3):
         self.buildTestTree()
コード例 #13
0
 def __init_variables():
     buffer_ = []
     rw_lock = hamDb.BkHammingTree()
     threads = []
     return (buffer_, rw_lock, threads)
コード例 #14
0
 def buildTestTree(self):
     self.tree = hamDb.BkHammingTree()
     self.buildOntoTree(self.tree)