import KEnv
import os
import nuke

# KEnv
try:
    project = os.getenv('PROJECT')
except:
    project = "GEN"

env = KEnv.create(PROJECT=project, APP_ID='nuke')
ociopath = env.get('OCIO_CONFIG')
projectID = env.get('PROJECT_ID')
formats = env.get('IMAGEFORMATS')
fps = env.get('FPS')

class ProjectDefaults(KellerNukePlugin):

    def configurePlugin(self):
        ############################################################################################################################################
        # DEFAULTS
        #
        # JOB SPECIFIC DEFAULTS
        #
        ############################################################################################################################################

        # add formats from KEnv
        for key, value in formats.items():
            fav = '{1} {0}'.format(key, value)
            nuke.addFormat(fav)

        # add fileout Defaults
        nuke.knobDefault('Write.channels', 'rgba')
        nuke.knobDefault('Root.colorManagement', 'OCIO')
        nuke.knobDefault('Root.OCIO_config', 'custom')
        nuke.knobDefault('Root.customOCIOConfigPath', ociopath)
        # set format
        nuke.knobDefault('Root.format', projectID + '_WORK')
        # fps
        nuke.knobDefault('Root.fps', str(fps))
        # set viewer
        # viewer is set via config.ocio: active_views: [P3D65 Rec.709 Limited, sRGB, DCDM, DCDM P3D60 Limited..]


    def unconfigurePlugin(self):
        pass