Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1#!/usr/local/bin/python 

2# encoding: utf-8 

3""" 

4*The ticket footer bar for the object ticket* 

5 

6:Author: 

7 David Young 

8""" 

9import sys 

10import os 

11import re 

12from marshall_webapp.templates.commonelements import commonutils as cu 

13import khufu 

14 

15def ticket_footer_bar( 

16 log, 

17 request, 

18 discoveryDataDictionary, 

19 atelData): 

20 """get ticket footer bar 

21 

22 **Key Arguments** 

23 

24 - ``log`` -- logger 

25 - ``request`` -- the pyramid request 

26 - ``discoveryData`` -- the discoveryData for the object 

27 - ``atelData`` -- the atel matches for the objects displayed on the webpage 

28  

29 

30 **Return** 

31 

32 - ``ticket_footer_bar`` -- the ticket footer bar for the pesssto object 

33  

34 """ 

35 log.debug('starting the ``ticket_footer_bar`` function') 

36 

37 ## VARIABLES ## 

38 transientBucketId = discoveryDataDictionary["transientBucketId"] 

39 

40 atels = _get_atel_list( 

41 log, 

42 transientBucketId, 

43 atelData 

44 ) 

45 

46 # LINK EXPLODER BUTTONS 

47 

48 # NED 

49 ra = discoveryDataDictionary["raDeg"] 

50 ra = "%(ra)9.6f" % locals() 

51 dec = discoveryDataDictionary["decDeg"] 

52 dec = "%(dec)9.6f" % locals() 

53 if float(dec) > 0.: 

54 dec = str("""+%(dec)s""" % locals()) 

55 nedLink = """http://ned.ipac.caltech.edu/cgi-bin/objsearch?in_csys=Equatorial&in_equinox=J2000.0&lon=%(ra)sd&lat=%(dec)sd&radius=0.5&hconst=73&omegam=0.27&omegav=0.73&corr_z=1&search_type=Near+Position+Search&z_constraint=Unconstrained&z_value1=&z_value2=&z_unit=z&ot_include=ANY&nmp_op=ANY&out_csys=Equatorial&out_equinox=J2000.0&obj_sort=Distance+to+search+center&of=pre_text&zv_breaker=30000.0&list_limit=5&img_stamp=YES""" % locals( 

56 ) 

57 adsLink = """http://adsabs.harvard.edu/cgi-bin/nph-abs_connect?db_key=AST&db_key=PRE&qform=AST&arxiv_sel=astro-ph&arxiv_sel=cond-mat&arxiv_sel=cs&arxiv_sel=gr-qc&arxiv_sel=hep-ex&arxiv_sel=hep-lat&arxiv_sel=hep-ph&arxiv_sel=hep-th&arxiv_sel=math&arxiv_sel=math-ph&arxiv_sel=nlin&arxiv_sel=nucl-ex&arxiv_sel=nucl-th&arxiv_sel=physics&arxiv_sel=quant-ph&arxiv_sel=q-bio&sim_query=YES&ned_query=YES&adsobj_query=YES&aut_logic=OR&obj_logic=OR&author=&object=%(ra)s+%(dec)s+%%3A+0+1&start_mon=&start_year=&end_mon=&end_year=&ttl_logic=OR&title=&txt_logic=OR&text=&nr_to_return=200&start_nr=1&jou_pick=ALL&ref_stems=&data_and=ALL&group_and=ALL&start_entry_day=&start_entry_mon=&start_entry_year=&end_entry_day=&end_entry_mon=&end_entry_year=&min_score=&sort=SCORE&data_type=SHORT&aut_syn=YES&ttl_syn=YES&txt_syn=YES&aut_wt=1.0&obj_wt=1.0&ttl_wt=0.3&txt_wt=3.0&aut_wgt=YES&obj_wgt=YES&ttl_wgt=YES&txt_wgt=YES&ttl_sco=YES&txt_sco=YES&version=1""" % locals( 

58 ) 

59 simbadLink = """http://simbad.u-strasbg.fr/simbad/sim-coo?protocol=html&NbIdent=1&Radius=1&Radius.unit=arcmin&CooFrame=FK5&CooEpoch=2000&CooEqui=2000&Coord=%(ra)sd%(dec)sd""" % locals( 

60 ) 

61 extinctionLink = """http://ned.ipac.caltech.edu/cgi-bin/nph-calc?in_csys=Equatorial&in_equinox=J2000.0&obs_epoch=2000.0&lon=%(ra)sd&lat=%(dec)sd&pa=0.0&out_csys=Galactic&out_equinox=J2000.0""" % locals( 

62 ) 

63 sdssExactLocation = """http://skyserver.sdss3.org/public/en/tools/chart/image.aspx?ra=%(ra)s&dec=%(dec)s&scale=0.25&opt=GS&width=512&height=512""" % locals( 

64 ) 

65 vizier = """http://vizier.u-strasbg.fr/viz-bin/VizieR-4?-pos&-c.eq=J2000&-c.rs=30&-c=%(ra)s%(dec)s""" % locals( 

66 ) 

67 

68 linkList = [nedLink, adsLink, simbadLink, 

69 extinctionLink, sdssExactLocation, vizier] 

70 nameList = ["ned", "ads papers", "simbad", 

71 "extinction", "sdss - exact location", "vizier"] 

72 dropDownLinks = [] 

73 for l, n in zip(linkList, nameList): 

74 dropDownLink = khufu.a( 

75 content=n, 

76 href=l, 

77 openInNewTab=True 

78 ) 

79 dropDownLink = khufu.li( 

80 # IF A SUBMENU FOR DROPDOWN THIS SHOULD BE <UL> 

81 content=dropDownLink, 

82 ) 

83 dropDownLinks.append(dropDownLink) 

84 

85 popover = khufu.popover( 

86 tooltip=True, 

87 placement="bottom", # [ top | bottom | left | right ] 

88 trigger="hover", # [ False | click | hover | focus | manual ] 

89 title="explode all web service tools", 

90 content=False, 

91 delay=20 

92 ) 

93 

94 linkExploder = khufu.dropdown( 

95 buttonSize='small', 

96 buttonColor='primary', # [ default | sucess | error | warning | info ] 

97 menuTitle='<i class="icon-wrench2"></i>', 

98 splitButton=False, 

99 linkList=dropDownLinks, 

100 separatedLinkList=False, 

101 popover=popover, 

102 pull=False, 

103 htmlClass=False, 

104 direction='up', # [ down | up ] 

105 onPhone=True, 

106 onTablet=True, 

107 onDesktop=True 

108 ) 

109 

110 footerColumn = khufu.grid_column( 

111 span=12, # 1-12 

112 offset=0, # 1-12 

113 content="""%(atels)s %(linkExploder)s""" % locals(), 

114 pull=False, # ["right", "left", "center"] 

115 htmlId=False, 

116 htmlClass=False, 

117 onPhone=True, 

118 onTablet=True, 

119 onDesktop=True 

120 ) 

121 

122 ticket_footer_bar = khufu.grid_row( 

123 responsive=True, 

124 columns=footerColumn, 

125 htmlId=False, 

126 htmlClass="ticketFooter", 

127 onPhone=True, 

128 onTablet=True, 

129 onDesktop=True 

130 ) 

131 

132 return ticket_footer_bar 

133 

134def _get_atel_list( 

135 log, 

136 transientBucketId, 

137 atelData): 

138 """ get atels for object 

139 

140 **Key Arguments** 

141 

142 - ``log`` -- logger 

143 - ``transientBucketId`` -- the transientBucketId 

144 - ``atelData`` -- the atel matches for the objects displayed on the webpage 

145  

146 

147 **Return** 

148 

149 - ``atelLinks`` -- the names of the atels linked to original pages 

150  

151 """ 

152 log.debug('starting the ``_get_atels`` function') 

153 

154 rows = [] 

155 for dataPoint in atelData: 

156 if dataPoint["transientBucketId"] == transientBucketId: 

157 row = dataPoint 

158 rows.append(row) 

159 

160 atelLinks = [] 

161 for row in rows: 

162 atelLink = khufu.a( 

163 content=row["name"].replace("atel_", "ATel "), 

164 href=row["surveyObjectUrl"], 

165 openInNewTab=True 

166 ) 

167 atelLink = khufu.li( 

168 content=atelLink, # if a subMenu for dropdown this should be <ul> 

169 span=False, # [ False | 1-12 ] 

170 disabled=False, 

171 submenuTitle=False, 

172 divider=False, 

173 navStyle=False, # [ active | header ] 

174 navDropDown=False, 

175 pager=False # [ False | "previous" | "next" ] 

176 ) 

177 atelLinks.append(atelLink) 

178 

179 atelDropdown = "" 

180 if len(atelLinks): 

181 num = len(atelLinks) 

182 text = """%(num)s x ATel</i>""" % locals() 

183 

184 popover = khufu.popover( 

185 tooltip=True, 

186 placement="bottom", # [ top | bottom | left | right ] 

187 trigger="hover", # [ False | click | hover | focus | manual ] 

188 title="explode all atel links", 

189 content=False, 

190 delay=20 

191 ) 

192 

193 atelDropdown = khufu.dropdown( 

194 buttonSize='small', 

195 # [ default | sucess | error | warning | info ] 

196 buttonColor='primary', 

197 menuTitle=text, 

198 splitButton=False, 

199 linkList=atelLinks, 

200 separatedLinkList=False, 

201 pull=False, 

202 htmlClass=False, 

203 direction='up', # [ down | up ] 

204 onPhone=True, 

205 onTablet=True, 

206 onDesktop=True, 

207 popover=popover, 

208 ) 

209 

210 return atelDropdown