def _close_shelve_and_unlock(self):
        try:
            if self.storage:
                self.storage.close()
        except __HOLE__:
            pass
        finally:
            self.storage = None
            if self.locker and self.locked:
                portalocker.unlock(self.locker)
                self.locker.close()
                self.locked = False
dataset/ETHPy150Open uwdata/termite-visualizations/web2py/gluon/cache.py/CacheOnDisk._close_shelve_and_unlock