#!/usr/bin/env python3 import getpass import subprocess import json import sys NC_USER = """{{ system_user }}""" NC_INSTALL_DIR = """{{ nextcloud_installation_directory }}""" if __name__ == "__main__": args_list = [ "/usr/bin/env", "php", "occ", "app:list", "--output=json" ] if getpass.getuser() != NC_USER: args_list = [ "sudo", "-u", NC_USER, ] + args_list try: proc = subprocess.run(args_list, capture_output=True, check=True, cwd=NC_INSTALL_DIR, text=True) except subprocess.CalledProcessError as e: print(e.stderr, file=sys.stderr) raise e apps_nc = json.loads(proc.stdout) for name, apps in reversed(sorted(apps_nc.items())): print(f"{name}_apps_list:") for app_name in apps: print(f" - {app_name}")