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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
import os
import pyfits
from stsci.tools import teal
from stsci.tools import parseinput
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 += headerlet.write_headerlet.__doc__
else:
helpString = 'file://'+htmlfile
return helpString
def run(configObj=None):
flist,oname = parseinput.parseinput(configObj['filename'])
if len(flist) == 0:
print '='*60
print 'ERROR:'
print ' No valid "filename" parameter value provided!'
print ' Please check the working directory and restart this task.'
print '='*60
return
if configObj['hdrname'] in ['',' ','INDEF']:
print '='*60
print 'ERROR:'
print ' No valid "hdrname" parameter value provided!'
print ' Please restart this task and provide a value for this parameter.'
print '='*60
return
if configObj['output'] in ['',' ','INDEF']:
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
str_kw = ['wcsname','destim','sipname','npolfile','d2imfile',
'descrip','history','author','output']
# create dictionary of remaining parameters, deleting extraneous ones
# such as those above
cdict = configObj.dict()
# remove any rules defined for the TEAL interface
if cdict.has_key("_RULES_"): del cdict['_RULES_']
del cdict['_task_name_']
del cdict['filename']
del cdict['hdrname']
# Convert blank string input as None
for kw in str_kw:
if cdict[kw] == '': cdict[kw] = None
if cdict['wcskey'].lower() == 'primary': cdict['wcskey'] = ' '
# Call function with properly interpreted input parameters
# Syntax: write_headerlet(filename, hdrname, output, sciext='SCI',
# wcsname=None, wcskey=None, destim=None,
# sipname=None, npolfile=None, d2imfile=None,
# author=None, descrip=None, history=None,
# attach=True, clobber=False)
headerlet.write_headerlet(flist, configObj['hdrname'],
**cdict)
|