def put_one(self, obj, force=False, commit=True):
        """
        Put one object into the storage.

        :param obj: the object to put into
        :param force: if True, the deduper will not check if the obj has been
               put into the entire message queue before
        :param commit: if True, the mmap will be forced to flush
        """
        if self.stopped: return
#         self.init()
        
        if isinstance(obj, str) and obj.strip() == '':
            return
        
        if not force and self.deduper is not None:
            prop = labelize(obj)
            if self.deduper.exist(prop):
                return
        if len(self.legal_files) == 0:
            self._generate_file()
            
        obj_str = self._stringfy(obj)
        # If no file has enough space
        if len(obj_str) + 4 > self.store_file_size:
            raise StoreNoSpaceForPut('No enouph space for this put.')
        
        with self.lock:
            m = self.map_handles[WRITE_ENTRANCE]
            pos = self._seek_writable_pos(m)
            size = pos + 4 + len(obj_str)
            
            if 0 < pos or size > self.store_file_size:
                m.flush()
                self._generate_file()
                pos = 0
                size = 4 + len(obj_str)
                m = self.map_handles[WRITE_ENTRANCE]
            
            m[:size] = m[:pos] + struct.pack('I', len(obj_str)) + obj_str
            if commit is True:
                m.flush()
                
        return obj
dataset/ETHPy150Open chineking/cola/cola/core/mq/store.py/Store.put_one/swapped operands of `<`