#!/usr/bin/env python3
'''
Copyright (C) 2025 Vladimir Vaskov <rirusha@altlinux.org>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see
<https://www.gnu.org/licenses/gpl-3.0-standalone.html>.

SPDX-License-Identifier: GPL-3.0-or-later
'''


import os
import shutil
from hasherc.container_utils import list_containers, stop_container
from hasherc.hshc_clean_context import HshcCleanContext
from hasherc.utils import get_cache_dir, get_cfg


if __name__ == '__main__':
    context = HshcCleanContext('0.4.0')
    
    cfg = get_cfg(context)
    cache_dir = get_cache_dir(cfg, context)

    if context.target == 'all':
        cons = list_containers(context)
        running = list(map(lambda x: x['Names'][0][5:], cons))
        for container in running:
            stop_container(container, context, False)

        shutil.rmtree(cache_dir)
    elif context.target == 'cache':
        shutil.rmtree(os.path.join(cache_dir, '_cache'))
    else:
        pkg_cache_dir = os.path.join(cache_dir, context.target)
        shutil.rmtree(pkg_cache_dir)
        stop_container(context.target, context, False)
