users = {
    'seafile': {
        'home': '/opt/seafile',
    },
}

directories = {
    '/opt/seafile': {
        'mode': '0755',
        'owner': 'seafile',
        'group': 'seafile',
    },
}

files = {
    '/etc/systemd/system/seafile.service': {
        'needed_by': {
            'svc_systemd:seafile',
        },
        'triggers': {
            'action:systemd-reload',
        },
    },
    '/etc/systemd/system/seahub.service': {
        'needed_by': {
            'svc_systemd:seafile',
        },
        'triggers': {
            'action:systemd-reload',
        },
    },
}

svc_systemd = {
    'seafile': {
        'needs': {
            'pkg_pip:',
        },
    },
    'seahub': {
        'needs': {
            'svc_systemd:seafile',
            'pkg_pip:',
        },
    },
}

for pkg in (
    'django==3.2.19',
    'future==0.18.3',
    'mysqlclient==2.1.1',
    'pymysql',
    'pillow==9.3.0',
    'pylibmc',
    'captcha==0.4',
    'markupsafe==2.0.1',
    'jinja2',
    'sqlalchemy==1.4.3',
    'psd-tools',
    'django-pylibmc',
    'django_simple_captcha==0.5.17',
    'djangosaml2==1.5.7',
    'pysaml2==7.2.1',
    'pycryptodome==3.16.0',
    'cffi==1.15.1',
    'lxml',
):
    if '==' in pkg:
        pkg, version = pkg.split('==', 1)
    else:
        version = None

    pkg_pip[pkg.replace('_', '-')] = {'version': version}
