Skip to content

Instantly share code, notes, and snippets.

@smoh
Created August 1, 2017 22:25
Show Gist options
  • Save smoh/334633ed5ae9614fbd6fa422b2a16edc to your computer and use it in GitHub Desktop.
Save smoh/334633ed5ae9614fbd6fa422b2a16edc to your computer and use it in GitHub Desktop.
MF's tap code issues
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "from IPython.core.display import display, HTML\nviewhtml = lambda stuff: display(HTML(stuff))\nimport warnings\nwarnings.filterwarnings('ignore')",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "from astropy.table import Table\nimport tempfile\nimport tap",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia = tap.GaiaArchive()",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.session.cookies",
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 6,
"data": {
"text/plain": "<RequestsCookieJar[]>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Login/Logout - OK"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia.login(\"user\" ,\"pass\")",
"execution_count": 7,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.logout()",
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 8,
"data": {
"text/plain": "<Response [200]>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Login, do sync query\n\nsession changes, logout error"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia.login(\"user\" ,\"pass\")",
"execution_count": 38,
"outputs": []
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "gaia.session.cookies",
"execution_count": 39,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 39,
"data": {
"text/plain": "<RequestsCookieJar[Cookie(version=0, name='JSESSIONID', value='FD43F0F99A86F74984DD8BAA5A26A0CE', port=None, port_specified=False, domain='gea.esac.esa.int', domain_specified=False, domain_initial_dot=False, path='/tap-server/', path_specified=True, secure=True, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.query(\"select top 5 * from gaiadr1.tgas_source\");",
"execution_count": 40,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.session.cookies",
"execution_count": 41,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 41,
"data": {
"text/plain": "<RequestsCookieJar[Cookie(version=0, name='JSESSIONID', value='367086D97EAD1E50336F0638F6A1D0B3', port=None, port_specified=False, domain='gea.esac.esa.int', domain_specified=False, domain_initial_dot=False, path='/tap-server/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.logout()",
"execution_count": 42,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 42,
"data": {
"text/plain": "<Response [500]>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "viewhtml(_.content.decode())",
"execution_count": 14,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<!DOCTYPE html><html><head><title>Apache Tomcat/8.5.3 - Error report</title><style type=\"text/css\">H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}.line {height: 1px; background-color: #525D76; border: none;}</style> </head><body><h1>HTTP Status 500 - </h1><div class=\"line\"></div><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b></p><pre>java.lang.NullPointerException\n\tesavo.sl.security.authentication.LogoutSuccessHandler.onLogoutSuccess(LogoutSuccessHandler.java:44)\n\torg.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:115)\n\torg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)\n\torg.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)\n\torg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n\torg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)\n\torg.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)\n\torg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n\torg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)\n\torg.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)\n\torg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)\n\torg.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)\n\torg.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)\n\torg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)\n\torg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)\n</pre><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/8.5.3 logs.</u></p><hr class=\"line\"><h3>Apache Tomcat/8.5.3</h3></body></html>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Login, try upload"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia.login(\"user\" ,\"pass\")",
"execution_count": 18,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "f = tempfile.NamedTemporaryFile()\nt = Table({'source_id':star['tgas_source_id'].values[:5]})\nt.write(f, format='votable')\nprint(t)\n\ngaia.upload_table('testing', f.name)",
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"text": " source_id \n-------------------\n4929746660437392256\n 189430460304883968\n1888516670743181312\n1575495159242560896\n3922857273709495168\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "RuntimeError",
"evalue": "Upload failed",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-19-56df26379a17>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mgaia\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupload_table\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'testing'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mupload_table\u001b[0;34m(self, table_name, path, **kwargs)\u001b[0m\n\u001b[1;32m 390\u001b[0m data=dict(TABLE_NAME=table_name))\n\u001b[1;32m 391\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mresponse\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mok\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 392\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mRuntimeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Upload failed\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 393\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 394\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mRuntimeError\u001b[0m: Upload failed"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "viewhtml(gaia.response.content.decode())",
"execution_count": 20,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<style type=\"text/css\">\nbody { background-color: white; color: black; }\nh2 { font-weight: bold; font-variant: small-caps; text-decoration: underline; font-size: 1.5em; color: #4A4A4A; }\nul, ol { margin-left: 2em; margin-top: 0.2em; text-align: justify; }\nli { margin-bottom: 0.2em; margin-top: 0; }\np, p.listheader { text-align: justify; text-indent: 2%; margin-top: 0; }\ntable { border-collapse: collapse; }\ntable, th, td { border: 1px solid #909090; }\nth { background-color: #909090; color: white; font-size: 1.1em; padding: 3px 5px 3px 5px; }\ntr.alt1 { background-color: white; }\ntr.alt2 { background-color: #F0F0F0; }\ntd { padding: 2px 5px 2px 5px; }\n</style>\n<title>SERVICE ERROR</title>\n</head>\n<body>\n<h1 style=\"text-align: center; background-color:red; color: white; font-weight: bold;\">SERVICE ERROR - 500</h1>\n<h2>Description</h2>\n<ul>\n<li><b>Action: </b>Cannot execute action: Upload table 'null'</li>\n<li><b>Context: </b>Upload</li>\n<li><b>Exception: </b>java.security.InvalidParameterException</li>\n<li><b>Message: </b>User must be logged in to perform this action.</li>\n</ul>\n<h2>Stack trace</h2>\n<table style=\"width: ihnerit;\">\n<tr><th>Class</th><th>Method</th><th>Line</th></tr>\n<tr class=\"alt1\"><td>esavo.sl.services.util.Utils</td><td>checkAuthentication</td><td>40</td></tr>\n<tr class=\"alt2\"><td>esavo.sl.services.upload.Upload</td><td>executeRequest</td><td>194</td></tr>\n<tr class=\"alt1\"><td>esavo.sl.services.actions.UploadServlet</td><td>service</td><td>92</td></tr>\n<tr class=\"alt2\"><td>javax.servlet.http.HttpServlet</td><td>service</td><td>729</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>internalDoFilter</td><td>230</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>doFilter</td><td>165</td></tr>\n<tr class=\"alt1\"><td>org.apache.tomcat.websocket.server.WsFilter</td><td>doFilter</td><td>52</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>internalDoFilter</td><td>192</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>doFilter</td><td>165</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>316</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.access.intercept.FilterSecurityInterceptor</td><td>invoke</td><td>126</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.access.intercept.FilterSecurityInterceptor</td><td>doFilter</td><td>90</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.access.ExceptionTranslationFilter</td><td>doFilter</td><td>114</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.session.SessionManagementFilter</td><td>doFilter</td><td>122</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.authentication.AnonymousAuthenticationFilter</td><td>doFilter</td><td>111</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter</td><td>doFilter</td><td>168</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.savedrequest.RequestCacheAwareFilter</td><td>doFilter</td><td>48</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.authentication.www.BasicAuthenticationFilter</td><td>doFilterInternal</td><td>158</td></tr>\n<tr class=\"alt1\"><td>org.springframework.web.filter.OncePerRequestFilter</td><td>doFilter</td><td>107</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter</td><td>doFilter</td><td>162</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter</td><td>doFilter</td><td>205</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter</td><td>doFilter</td><td>205</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.authentication.logout.LogoutFilter</td><td>doFilter</td><td>120</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.header.HeaderWriterFilter</td><td>doFilterInternal</td><td>64</td></tr>\n<tr class=\"alt2\"><td>org.springframework.web.filter.OncePerRequestFilter</td><td>doFilter</td><td>107</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter</td><td>doFilterInternal</td><td>53</td></tr>\n<tr class=\"alt1\"><td>org.springframework.web.filter.OncePerRequestFilter</td><td>doFilter</td><td>107</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.context.SecurityContextPersistenceFilter</td><td>doFilter</td><td>91</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy$VirtualFilterChain</td><td>doFilter</td><td>330</td></tr>\n<tr class=\"alt1\"><td>org.springframework.security.web.FilterChainProxy</td><td>doFilterInternal</td><td>213</td></tr>\n<tr class=\"alt2\"><td>org.springframework.security.web.FilterChainProxy</td><td>doFilter</td><td>176</td></tr>\n<tr class=\"alt1\"><td>org.springframework.web.filter.DelegatingFilterProxy</td><td>invokeDelegate</td><td>344</td></tr>\n<tr class=\"alt2\"><td>org.springframework.web.filter.DelegatingFilterProxy</td><td>doFilter</td><td>261</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>internalDoFilter</td><td>192</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.core.ApplicationFilterChain</td><td>doFilter</td><td>165</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.core.StandardWrapperValve</td><td>invoke</td><td>198</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.core.StandardContextValve</td><td>invoke</td><td>108</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.authenticator.AuthenticatorBase</td><td>invoke</td><td>522</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.core.StandardHostValve</td><td>invoke</td><td>140</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.valves.ErrorReportValve</td><td>invoke</td><td>79</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.valves.AbstractAccessLogValve</td><td>invoke</td><td>620</td></tr>\n<tr class=\"alt1\"><td>org.apache.catalina.core.StandardEngineValve</td><td>invoke</td><td>87</td></tr>\n<tr class=\"alt2\"><td>org.apache.catalina.connector.CoyoteAdapter</td><td>service</td><td>349</td></tr>\n<tr class=\"alt1\"><td>org.apache.coyote.ajp.AjpProcessor</td><td>service</td><td>780</td></tr>\n<tr class=\"alt2\"><td>org.apache.coyote.AbstractProcessorLight</td><td>process</td><td>66</td></tr>\n<tr class=\"alt1\"><td>org.apache.coyote.AbstractProtocol$ConnectionHandler</td><td>process</td><td>785</td></tr>\n<tr class=\"alt2\"><td>org.apache.tomcat.util.net.NioEndpoint$SocketProcessor</td><td>doRun</td><td>1425</td></tr>\n<tr class=\"alt1\"><td>org.apache.tomcat.util.net.SocketProcessorBase</td><td>run</td><td>52</td></tr>\n<tr class=\"alt2\"><td>java.util.concurrent.ThreadPoolExecutor</td><td>runWorker</td><td>1142</td></tr>\n<tr class=\"alt1\"><td>java.util.concurrent.ThreadPoolExecutor$Worker</td><td>run</td><td>617</td></tr>\n<tr class=\"alt2\"><td>org.apache.tomcat.util.threads.TaskThread$WrappingRunnable</td><td>run</td><td>61</td></tr>\n<tr class=\"alt1\"><td>java.lang.Thread</td><td>run</td><td>745</td></tr>\n</table><br/>\n</body>\n</html>\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.logout()",
"execution_count": 21,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 21,
"data": {
"text/plain": "<Response [500]>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Login, try querying user table (sync)"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia = tap.GaiaArchive()",
"execution_count": 33,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia.login(\"user\" ,\"pass\")",
"execution_count": 34,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "j = gaia.query(\"select top 5 * from user_soh.oh17star\")",
"execution_count": 35,
"outputs": [
{
"output_type": "stream",
"text": "QUERY_STATUS\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "RuntimeError",
"evalue": "Query error.\n\nCannot parse query 'select top 5 * from user_soh.\noh17star' for job '1501626102339O':\n 1 unresolved identifiers:\n oh17star [l.\n1 c.\n21 - l.\n1 c.\n38] !\n",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mquery\u001b[0;34m(self, adql_query, sync)\u001b[0m\n\u001b[1;32m 312\u001b[0m table = Table.read(BytesIO(r.text.encode('utf8')),\n\u001b[0;32m--> 313\u001b[0;31m format=\"votable\")\n\u001b[0m\u001b[1;32m 314\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda2/envs/gwb/lib/python3.5/site-packages/astropy/table/table.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2520\u001b[0m \"\"\"\n\u001b[0;32m-> 2521\u001b[0;31m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mio_registry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2522\u001b[0m \u001b[0;31m# For some readers (e.g., ascii.ecsv), the returned `out` class is not\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda2/envs/gwb/lib/python3.5/site-packages/astropy/io/registry.py\u001b[0m in \u001b[0;36mread\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 530\u001b[0m \u001b[0mreader\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mget_reader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 531\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mreader\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 532\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda2/envs/gwb/lib/python3.5/site-packages/astropy/io/votable/connect.py\u001b[0m in \u001b[0;36mread_table_votable\u001b[0;34m(input, table_id, use_names_over_ids)\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 110\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"No table found\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 111\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mVOTable\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: No table found",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-35-1f4c2474406f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgaia\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"select top 5 * from user_soh.oh17star\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mquery\u001b[0;34m(self, adql_query, sync)\u001b[0m\n\u001b[1;32m 323\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 324\u001b[0m \u001b[0mtext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfirstChild\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnodeValue\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'.'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'.\\n'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m':'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m':\\n'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 325\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mRuntimeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Query error.\\n{0}'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'\\n'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 326\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquery_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0madql_query\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mRuntimeError\u001b[0m: Query error.\n\nCannot parse query 'select top 5 * from user_soh.\noh17star' for job '1501626102339O':\n 1 unresolved identifiers:\n oh17star [l.\n1 c.\n21 - l.\n1 c.\n38] !\n"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.logout()",
"execution_count": 36,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 36,
"data": {
"text/plain": "<Response [500]>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Login, try querying user table"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia = tap.GaiaArchive()",
"execution_count": 28,
"outputs": []
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "gaia.login(\"user\" ,\"pass\")",
"execution_count": 29,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "j = gaia.query_async(\"select top 5 * from user_soh.oh17star\")",
"execution_count": 30,
"outputs": [
{
"output_type": "stream",
"text": "Query Status: 303 Reason: 303\nLocation: http://gea.esac.esa.int/tap-server/tap/async/1501626067969O\nJob id: 1501626067969O\n",
"name": "stdout"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "j.get()",
"execution_count": 31,
"outputs": [
{
"output_type": "error",
"ename": "IndexError",
"evalue": "list index out of range",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-31-0e9868c259a1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, sleep, wait)\u001b[0m\n\u001b[1;32m 173\u001b[0m \u001b[0mvotable\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 174\u001b[0m \"\"\"\n\u001b[0;32m--> 175\u001b[0;31m \u001b[0;32mwhile\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfinished\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 176\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 177\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfinished\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mfinished\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 155\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mfinished\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 156\u001b[0m \u001b[0;34m\"\"\" Check if job done \"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 157\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstatus\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'COMPLETED'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 158\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msleep\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/projects/opensource/tap/tap/tap.py\u001b[0m in \u001b[0;36mstatus\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;31m#XML response: parse it to obtain the current status\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0mdom\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mparseString\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m \u001b[0mphase_element\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetElementsByTagName\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'uws:phase'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 150\u001b[0m \u001b[0mphase_value_element\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mphase_element\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfirstChild\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 151\u001b[0m \u001b[0mphase\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mphase_value_element\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtoxml\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mIndexError\u001b[0m: list index out of range"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "gaia.logout()",
"execution_count": 32,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 32,
"data": {
"text/plain": "<Response [200]>"
},
"metadata": {}
}
]
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/333815c263ef78a37f4add528606ede2"
},
"anaconda-cloud": {},
"toc": {
"threshold": 4,
"number_sections": true,
"toc_cell": false,
"toc_window_display": false,
"toc_section_display": "block",
"sideBar": true,
"navigate_menu": true,
"moveMenuLeft": true,
"colors": {
"hover_highlight": "#DAA520",
"selected_highlight": "#FFD700",
"running_highlight": "#FF0000"
},
"nav_menu": {
"width": "252px",
"height": "12px"
}
},
"gist": {
"id": "333815c263ef78a37f4add528606ede2",
"data": {
"description": "MF's tap code issues",
"public": true
}
},
"language_info": {
"file_extension": ".py",
"version": "3.5.3",
"mimetype": "text/x-python",
"name": "python",
"codemirror_mode": {
"version": 3,
"name": "ipython"
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python"
},
"kernelspec": {
"name": "conda-env-gwb-py",
"display_name": "Python [conda env:gwb]",
"language": "python"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment