| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
| <title> Interactive Shell </title> |
| <script type="text/javascript" src="/gae_shell/static/shell.js"></script> |
| <style type="text/css"> |
| body { |
| font-family: monospace; |
| font-size: 10pt; |
| } |
| |
| p { |
| margin: 0.5em; |
| } |
| |
| .prompt, #output { |
| width: 45em; |
| border: 1px solid silver; |
| background-color: #f5f5f5; |
| font-size: 10pt; |
| margin: 0.5em; |
| padding: 0.5em; |
| padding-right: 0em; |
| overflow-x: hidden; |
| } |
| |
| #toolbar { |
| margin-left: 0.5em; |
| padding-left: 0.5em; |
| } |
| |
| #caret { |
| width: 2.5em; |
| margin-right: 0px; |
| padding-right: 0px; |
| border-right: 0px; |
| } |
| |
| #statement { |
| width: 43em; |
| margin-left: -1em; |
| padding-left: 0px; |
| border-left: 0px; |
| background-position: top right; |
| background-repeat: no-repeat; |
| } |
| |
| .processing { |
| background-image: url("/gae_shell/static/spinner.gif"); |
| } |
| |
| #ajax-status { |
| font-weight: bold; |
| } |
| |
| .message { |
| color: #8AD; |
| font-weight: bold; |
| font-style: italic; |
| } |
| |
| .error { |
| color: #F44; |
| } |
| |
| .username { |
| font-weight: bold; |
| } |
| |
| </style> |
| </head> |
| |
| <body> |
| |
| <p> Interactive server-side Python shell for |
| <a href="http://code.google.com/appengine/">Google App Engine</a>. |
| (<a href="http://code.google.com/p/google-app-engine-samples/">source</a>) |
| </p> |
| |
| <textarea id="output" rows="22" readonly="readonly"> |
| {{ server_software }} |
| Python {{ python_version }} |
| </textarea> |
| |
| <form id="form" action="shell.do" method="get"> |
| <nobr> |
| <textarea class="prompt" id="caret" readonly="readonly" rows="4" |
| onfocus="document.getElementById('statement').focus()" |
| >>>></textarea> |
| <textarea class="prompt" name="statement" id="statement" rows="4" |
| onkeypress="return shell.onPromptKeyPress(event);"></textarea> |
| </nobr> |
| <input type="hidden" name="session" value="{{ session }}" /> |
| <input type="submit" style="display: none" /> |
| </form> |
| |
| <p id="ajax-status"></p> |
| |
| <p id="toolbar"> |
| {% if user %} |
| <span class="username">{{ user.nickname }}</span> |
| (<a href="{{ logout_url }}">log out</a>) |
| {% else %} |
| <a href="{{ login_url }}">log in</a> |
| {% endif %} |
| | Ctrl-Up/Down for history | |
| <select id="submit_key"> |
| <option value="enter">Enter</option> |
| <option value="ctrl-enter" selected="selected">Ctrl-Enter</option> |
| </select> |
| <label for="submit_key">submits</label> |
| </p> |
| |
| <script type="text/javascript"> |
| document.getElementById('statement').focus(); |
| </script> |
| |
| </body> |
| </html> |
| |