import os.path

from nansat import Nansat

class AMSR2Image(Nansat):
    '''
    Read parameters from RADARSAT2 file
    '''

    def __init__(self, fileName, logLevel=10):
        '''
        Read attributes from file name
        RS2_20110430_145008_0008_F1_HHHV_SGF_130933_4554_5368385
        Set values to the dictionary data
        '''
        #init nansat object (open GDAL dataset, get mapper, etc) add new
        #functions
        Nansat.__init__(self, str(fileName), mapperName='amsr2_l3', logLevel=logLevel)

        #set values to the attribute data where it is availabe fro ImagesCatalog
        self.set_metadata('name',         "'%s'" % self.name)
        self.set_metadata('path',         "'%s'"   % self.path)
        self.set_metadata('sensor',       "'amsr2'")
        self.set_metadata('sensstart',    "'%s'" % self.get_time()[0].strftime('%Y-%m-%d %H:%M:%S.%f'))
        self.set_metadata('border',   self.get_border_postgis())

    def process_web(self, opts=None):
        '''
        NRT Processing of AMSR2 includes:
            Visualisation of full-size quick look
        Input:
        ------
            opts: dictionary with processing options
        '''
        # process only images with all bands
        if len(self.bands()) < 14:
            return 1

        oBaseFileName = self.get_metadata('name').strip('"').strip("'")
        qlName = opts['mapDir'] + '/' + oBaseFileName + '_.jpg'
        qlzName = opts['mapDir'] + '/' + oBaseFileName + '_.png'

        # 1. Generate quicklook
        if not os.path.exists(qlName):
            self.write_figure(qlName, ['BT_06H', 'BT_18V', 'BT_36V'], clim='hist', ratio=0.9)

        # 1. Generate zoomed quicklook
        if not os.path.exists(qlzName):
            self.crop(118, 366, 520, 380)
            self.write_figure(qlzName, [11, 12, 14], clim=[[150, 200, 185], [241, 252, 247]])

        return 0
