summaryrefslogtreecommitdiff
path: root/lib/stwcs/gui/extract_headerlet.py
blob: c8079205e65f11eb1075276f224c26c221ab344f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
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
53
54
55
56
57
58
import os

import pyfits
from stsci.tools import teal

import stwcs
from stwcs.wcsutil import headerlet

__taskname__ = __name__.split('.')[-1] # needed for help string
__package__ = headerlet.__name__
__version__ = stwcs.__version__
#
#### Interfaces used by TEAL
#
def getHelpAsString(docstring=False):
    """
    return useful help from a file in the script directory called __taskname__.help
    """
    install_dir = os.path.dirname(__file__)
    htmlfile = os.path.join(install_dir,'htmlhelp',__taskname__+'.html')
    helpfile = os.path.join(install_dir,__taskname__+'.help')
    if docstring or (not docstring and not os.path.exists(htmlfile)):
        helpString = __taskname__+' Version '+__version__+'\n\n'
        if os.path.exists(helpfile):
            helpString += teal.getHelpFileAsString(__taskname__,__file__)
        else:
            helpString += eval('.'.join([__package__,__taskname__,'__doc__']))

    else:
        helpString = 'file://'+htmlfile

    return helpString

def run(configObj=None):

    if configObj['output'] in ['',' ',None]:
        print '='*60
        print 'ERROR:'
        print '    No valid "output" parameter value provided!'
        print '    Please restart this task and provide a value for this parameter.'
        print '='*60
        return

    # create dictionary of remaining parameters, deleting extraneous ones
    # such as those above
    cdict = configObj.dict()
    # remove any rules defined for the TEAL interface
    if "_RULES_" in cdict: del cdict['_RULES_']
    del cdict['_task_name_']
    del cdict['filename']
    del cdict['output']

    # Call function with properly interpreted input parameters
    # Syntax: extract_headerlet(filename, output, extnum=None, hdrname=None,  
    #                clobber=False, verbose=100)
    headerlet.extract_headerlet(configObj['filename'], configObj['output'],
                                **cdict)