def __init__(self, directory="<STR_LIT>", compression=False, sha1_sigs=True):
declarations_cache.cache_base_t.__init__(self)<EOL>self.__dir = os.path.abspath(directory)<EOL>self.__compression = compression<EOL>self.__sha1_sigs = sha1_sigs<EOL>self.__filename_rep = filename_repository_t(self.__sha1_sigs)<EOL>self.__index = {}<EOL>self.__modified_flag = False<EOL>if os.path.isfile(self.__dir):<EOL><INDENT>raise ValueError((<EOL>"<STR_LIT>" +<EOL>"<STR_LIT>") % self.__dir)<EOL><DEDENT>if os.path.isdir(self.__dir):<EOL><INDENT>self._load()<EOL><DEDENT>else:<EOL><INDENT>os.mkdir(self.__dir)<EOL><DEDENT>
:param directory: cache directory path, it is created,
                  if it does not exist

:param compression: if `True`, the cache files will be compressed
                    using `gzip`

:param sha1_sigs: `sha1_sigs` determines whether file modifications is
                 checked by computing a `sha1` digest or by checking
                 the modification date