You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
576 B

  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. import os
  4. from glob import iglob
  5. from doodbalib import ADDONS_DIR, ADDONS_YAML, SRC_DIR, addons_config, logger
  6. logger.info("Linking all addons from %s in %s", ADDONS_YAML, ADDONS_DIR)
  7. # Remove all links in addons dir
  8. for link in iglob(os.path.join(ADDONS_DIR, "*")):
  9. os.remove(link)
  10. # Add new links
  11. for addon, repo in addons_config():
  12. src = os.path.relpath(os.path.join(SRC_DIR, repo, addon), ADDONS_DIR)
  13. dst = os.path.join(ADDONS_DIR, addon)
  14. os.symlink(src, dst)
  15. logger.debug("Linked %s in %s", src, dst)