#! /usr/bin/env python3

import pprint
import sys
import os

from hermes.api import GazelleAPI
from hermes.database import GazelleDB
from hermes.loader import load_modules
from hermes.utils import get_git_hash, check_pid, load_config, DotDict
from hermes.cache import Cache
from hermes.persist import PersistentStorage
from hermes.hermes import HERMES_DIR

if __name__ == "__main__":
    load_modules()
    storage = PersistentStorage(os.path.join(HERMES_DIR, 'persist.dat'))
    cache = Cache(storage['cache'])

    if len(sys.argv) > 1:
        for k in sys.argv[1:]:
            print('{0}: {1}'.format(k, pprint.pformat(cache[k])))
    else:
        cache.expire()
        keys = [k for k in iter(cache)]
        for k in keys:
            print('{0}: {1}'.format(k, pprint.pformat(cache[k])))

