<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate(cache_fn):
 """ Go thru `cache_fn` and filter keywords. Store them in `keyword_list.json`. Args: cache_fn (str):
 Path to the file with cache. Returns: list: List of :class:`KeywordInfo` objects. """

    if not os.path.exists(cache_fn):
        print >> sys.stderr, "Can't access `%s`!" % cache_fn
        sys.exit(1)

    with SqliteDict(cache_fn) as db:
        for item in _pick_keywords(db):
            yield item