imjoseangel / powerline-k8sstatus

A Powerline segment for showing the status of a K8s context
MIT License
2 stars 0 forks source link

feat(setup.py): add clean feature #21

Closed imjoseangel closed 3 years ago

imjoseangel commented 3 years ago

SUMMARY

Fixes #20

ISSUE TYPE

COMPONENT NAME

setup.py

ADDITIONAL INFORMATION

Add clean feature

class CleanCommand(Command):
    """Custom clean command to tidy up the project root."""
    CLEAN_FILES = './build ./dist ./*.pyc ./*.tgz src/*.egg-info'.split(' ')

    user_options = []

    def initialize_options(self):
        pass

    def finalize_options(self):
        pass

    def run(self):
        global here

        for path_spec in self.CLEAN_FILES:
            # Make paths absolute and relative to this path
            abs_paths = glob.glob(os.path.normpath(
                os.path.join(here, path_spec)))
            for path in [str(p) for p in abs_paths]:
                if not path.startswith(here):
                    # Die if path in CLEAN_FILES is absolute + outside this directory
                    raise ValueError(
                        "%s is not a path inside %s" % (path, here))
                print('removing %s' % os.path.relpath(path))
                shutil.rmtree(path)