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*
6:Author:
7 David Young
8"""
9import sys
10import os
11import re
12from marshall_webapp.templates.commonelements import commonutils as cu
13import khufu
15def ticket_footer_bar(
16 log,
17 request,
18 discoveryDataDictionary,
19 atelData):
20 """get ticket footer bar
22 **Key Arguments**
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
30 **Return**
32 - ``ticket_footer_bar`` -- the ticket footer bar for the pesssto object
34 """
35 log.debug('starting the ``ticket_footer_bar`` function')
37 ## VARIABLES ##
38 transientBucketId = discoveryDataDictionary["transientBucketId"]
40 atels = _get_atel_list(
41 log,
42 transientBucketId,
43 atelData
44 )
46 # LINK EXPLODER BUTTONS
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 )
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)
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 )
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 )
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 )
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 )
132 return ticket_footer_bar
134def _get_atel_list(
135 log,
136 transientBucketId,
137 atelData):
138 """ get atels for object
140 **Key Arguments**
142 - ``log`` -- logger
143 - ``transientBucketId`` -- the transientBucketId
144 - ``atelData`` -- the atel matches for the objects displayed on the webpage
147 **Return**
149 - ``atelLinks`` -- the names of the atels linked to original pages
151 """
152 log.debug('starting the ``_get_atels`` function')
154 rows = []
155 for dataPoint in atelData:
156 if dataPoint["transientBucketId"] == transientBucketId:
157 row = dataPoint
158 rows.append(row)
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)
179 atelDropdown = ""
180 if len(atelLinks):
181 num = len(atelLinks)
182 text = """%(num)s x ATel</i>""" % locals()
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 )
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 )
210 return atelDropdown