summaryrefslogtreecommitdiffstats
path: root/ipaclient/remote_plugins/__init__.py
blob: 6454a4f4ef956a1ef545b82a649ebf26ef6edd7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#
# Copyright (C) 2016  FreeIPA Contributors see COPYING for license
#

from . import compat
from . import schema
from ipaclient.plugins.rpcclient import rpcclient


def get_package(api):
    if api.env.in_tree:
        from ipaserver import plugins
    else:
        client = rpcclient(api)
        client.finalize()
        try:
            plugins = schema.get_package(api, client)
        except schema.NotAvailable:
            plugins = compat.get_package(api, client)
        finally:
            if client.isconnected():
                client.disconnect()

    return plugins