casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables
asdmsummary_pg.py
Go to the documentation of this file.
00001 #
00002 # This file was generated using xslt from its XML file
00003 #
00004 # Copyright 2008, Associated Universities Inc., Washington DC
00005 #
00006 import sys
00007 import os
00008 from casac import *
00009 import string
00010 import time
00011 import inspect
00012 import gc
00013 import numpy
00014 from odict import odict
00015 from task_asdmsummary import asdmsummary
00016 from task_asdmsummary import casalog
00017 
00018 class asdmsummary_pg_:
00019     __name__ = "asdmsummary"
00020 
00021     def __init__(self) :
00022        self.__bases__ = (asdmsummary_pg_,)
00023        self.__doc__ = self.__call__.__doc__
00024 
00025 
00026     def __call__(self, asdm=None, async=None):
00027 
00028         """Summarized description of an ASDM dataset.
00029 
00030         The asdmsummary task prints to the CASA log a description of the content of an SDM dataset.
00031         
00032         Example:
00033 
00034         asdmsummary(sdm='10C-119_sb3070258_1.55628.42186299768')
00035 
00036         Prints information about the requested ASDM dataset to the CASA logger.
00037 
00038         Keyword argument:
00039 
00040         asdm -- Name of input ASDM directory.  
00041                example: sdm='10C-119_sb3070258_1.55628.42186299768'
00042                 
00043   
00044         """
00045         a=inspect.stack()
00046         stacklevel=0
00047         for k in range(len(a)):
00048           if (string.find(a[k][1], 'ipython console') > 0) or (string.find(a[k][1], '<string>') >= 0):
00049                 stacklevel=k
00050                 break
00051         myf=sys._getframe(stacklevel).f_globals
00052         myf['__last_task'] = 'asdmsummary'
00053         myf['taskname'] = 'asdmsummary'
00054         ###
00055         myf['update_params'](func=myf['taskname'],printtext=False)
00056         ###
00057         ###
00058         #Handle globals or user over-ride of arguments
00059         #
00060         function_signature_defaults=dict(zip(self.__call__.func_code.co_varnames,self.__call__.func_defaults))
00061         useLocalDefaults = False
00062 
00063         for item in function_signature_defaults.iteritems():
00064                 key,val = item
00065                 keyVal = eval(key)
00066                 if (keyVal == None):
00067                         #user hasn't set it - use global/default
00068                         pass
00069                 else:
00070                         #user has set it - use over-ride
00071                         if (key != 'self') :
00072                            useLocalDefaults = True
00073                         #myf[key]=keyVal
00074 
00075         myparams = {}
00076         if useLocalDefaults :
00077            for item in function_signature_defaults.iteritems():
00078                key,val = item
00079                keyVal = eval(key)
00080                exec('myparams[key] = keyVal')
00081                if (keyVal == None):
00082                    exec('myparams[key] = '+ key + ' = self.itsdefault(key)')
00083                    keyVal = eval(key)
00084                    if(type(keyVal) == dict) :
00085                       exec('myparams[key] = ' + key + ' = keyVal[len(keyVal)-1][\'value\']')
00086 
00087         else :
00088             uselessvariable = None 
00089             myparams['asdm'] = asdm = myf['asdm']
00090 
00091 
00092         result = None
00093 
00094 #
00095 #    The following is work around to avoid a bug with current python translation
00096 #
00097         mytmp = {}
00098 
00099         mytmp['asdm'] = asdm
00100         pathname='file:///'+os.environ.get('CASAPATH').split()[0]+'/share/xml/'
00101         trec = casac.utils().torecord(pathname+'asdmsummary.xml')
00102 
00103         casalog.origin('asdmsummary')
00104         if not trec.has_key('asdmsummary') or not casac.utils().verify(mytmp, trec['asdmsummary']) :
00105             return False
00106 
00107 
00108         try :
00109           casalog.post('')
00110           casalog.post('##########################################')
00111           casalog.post('##### Begin Task: asdmsummary           #####')
00112           casalog.post('')
00113           result = asdmsummary(asdm)
00114           casalog.post('')
00115           casalog.post('##### End Task: asdmsummary           #####')
00116           casalog.post('##########################################')
00117 
00118 
00119 # saveinputs for individule engine has no use
00120 # saveinputs should alos be removed from casa_in_py.py
00121 #
00122 #
00123 #          saveinputs = myf['saveinputs']
00124 #          saveinputs('asdmsummary', 'asdmsummary.last', myparams)
00125 #
00126 #
00127         except Exception, instance:
00128           #print '**** Error **** ',instance
00129           pass
00130 
00131         gc.collect()
00132         return result
00133 #
00134 #
00135 ##
00136 #    def paramgui(self, useGlobals=True):
00137 #        """
00138 #        Opens a parameter GUI for this task.  If useGlobals is true, then any relevant global parameter settings are used.
00139 #        """
00140 #        import paramgui
00141 #
00142 #        a=inspect.stack()
00143 #        stacklevel=0
00144 #        for k in range(len(a)):
00145 #          if (string.find(a[k][1], 'ipython console') > 0) or (string.find(a[k][1], '<string>') >= 0):
00146 #            stacklevel=k
00147 #            break
00148 #        myf = sys._getframe(stacklevel).f_globals
00149 #
00150 #        if useGlobals:
00151 #            paramgui.setGlobals(myf)
00152 #        else:
00153 #            paramgui.setGlobals({})
00154 #
00155 #        paramgui.runTask('asdmsummary', myf['_ip'])
00156 #        paramgui.setGlobals({})
00157 #
00158 #
00159 #
00160 #
00161     def defaults(self, param=None):
00162         a=inspect.stack()
00163         stacklevel=0
00164         for k in range(len(a)):
00165           if (string.find(a[k][1], 'ipython console') > 0) or (string.find(a[k][1], '<string>') >= 0):
00166                 stacklevel=k
00167                 break
00168         myf=sys._getframe(stacklevel).f_globals
00169         a = odict()
00170         a['asdm']  = ''
00171 
00172         a['async']=False
00173 
00174 ### This function sets the default values but also will return the list of
00175 ### parameters or the default value of a given parameter
00176         if(param == None):
00177                 myf['__set_default_parameters'](a)
00178         elif(param == 'paramkeys'):
00179                 return a.keys()
00180         else:
00181                 if(a.has_key(param)):
00182                    #if(type(a[param]) == dict) :
00183                    #   return a[param][len(a[param])-1]['value']
00184                    #else :
00185                       return a[param]
00186 
00187 
00188 #
00189 #
00190     def check_params(self, param=None, value=None):
00191       a=inspect.stack() 
00192       stacklevel=0
00193       for k in range(len(a)):
00194         if (string.find(a[k][1], 'ipython console') > 0) or (string.find(a[k][1], '<string>') >= 0):
00195             stacklevel=k
00196             break
00197       myf=sys._getframe(stacklevel).f_globals
00198 
00199 #      print 'param:', param, 'value:', value
00200       try :
00201          if str(type(value)) != "<type 'instance'>" :
00202             value0 = value
00203             value = myf['cu'].expandparam(param, value)
00204             matchtype = False
00205             if(type(value) == numpy.ndarray):
00206                if(type(value) == type(value0)):
00207                   myf[param] = value.tolist()
00208                else:
00209                   #print 'value:', value, 'value0:', value0
00210                   #print 'type(value):', type(value), 'type(value0):', type(value0)
00211                   myf[param] = value0
00212                   if type(value0) != list :
00213                      matchtype = True
00214             else :
00215                myf[param] = value
00216             value = myf['cu'].verifyparam({param:value})
00217             if matchtype:
00218                value = False
00219       except Exception, instance:
00220          #ignore the exception and just return it unchecked
00221          myf[param] = value
00222       return value
00223 
00224 #
00225 #
00226     def description(self, key='asdmsummary', subkey=None):
00227         desc={'asdmsummary': 'Summarized description of an ASDM dataset.',
00228                'asdm': 'Name of input ASDM directory',
00229 
00230                'async': 'If true the taskname must be started using asdmsummary(...)'
00231               }
00232 
00233         if(desc.has_key(key)) :
00234            return desc[key]
00235 
00236     def itsdefault(self, paramname) :
00237         a = {}
00238         a['asdm']  = ''
00239 
00240         if a.has_key(paramname) :
00241               return a[paramname]
00242 asdmsummary_pg = asdmsummary_pg_()