'Find the key position
:param key: the key to find'

def _find_key(self, key):

    start_position = self._calculate_position(key)
    self.buckets.seek(start_position)
    curr_data = self.buckets.read(self.bucket_line_size)
    if curr_data:
        location = self.bucket_struct.unpack(curr_data)[0]
        if (not location):
            return (None, None, 0, 0, 'u')
        (found_at, doc_id, l_key, start, size, status, _next) = self._locate_key(key, location)
        if (status == 'd'):
            while True:
                (found_at, doc_id, l_key, start, size, status, _next) = self._locate_key(key, _next)
                if (status != 'd'):
                    break
        return (doc_id, l_key, start, size, status)
    else:
        return (None, None, 0, 0, 'u')
