Skip to content

addon

ThirdPartyDistAddon

Bases: AYONAddon, ITrayAddon

Addon to deploy 3rd party binary dependencies.

Addon can also skip distribution of binaries from server and can use path/arguments defined by server.

Cares about supplying ffmpeg and oiiotool executables.

Source code in client/ayon_third_party/addon.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class ThirdPartyDistAddon(AYONAddon, ITrayAddon):
    """Addon to deploy 3rd party binary dependencies.

    Addon can also skip distribution of binaries from server and can
    use path/arguments defined by server.

    Cares about supplying ffmpeg and oiiotool executables.
    """

    name = ADDON_NAME
    version = __version__

    def initialize(self, settings):
        self._download_window = None

    def tray_exit(self):
        pass

    def tray_menu(self, tray_menu):
        pass

    def tray_init(self):
        pass

    def tray_start(self):
        download_ffmpeg = is_ffmpeg_download_needed()
        download_oiio = is_oiio_download_needed()
        if not download_oiio and not download_ffmpeg:
            return

        from .download_ui import show_download_window

        download_window = show_download_window(
            download_ffmpeg, download_oiio
        )
        download_window.finished.connect(self._on_download_finish)
        download_window.start()
        self._download_window = download_window

    def _on_download_finish(self):
        self._download_window.close()
        self._download_window = None