<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_import_keychain( cls, working_dir, namespace_id ):
 """ Get an import keychain from disk. Return None if it doesn't exist. """

      
        # do we have a cached one on disk?
        cached_keychain = os.path.join(working_dir, "%s.keychain" % namespace_id)
        if os.path.exists( cached_keychain ):

            log.debug("Load import keychain '%s'" % cached_keychain)
            child_addrs = []
            try:
                lines = []
                with open(cached_keychain, "r") as f:
                    lines = f.readlines()
 
                child_attrs = [l.strip() for l in lines]
 
                log.debug("Loaded cached import keychain for '%s'" % namespace_id)
                return child_attrs
 
            except Exception, e:
                log.exception(e)
                log.error("FATAL: uncaught exception loading the import keychain")
                os.abort()
 
        else:
            log.debug("No import keychain at '%s'" % cached_keychain)

        return None