app/shell/templates/shell.html
author Sverre Rabbelier <srabbelier@gmail.com>
Sat, 12 Sep 2009 21:27:17 +0200
changeset 2910 60d56cf01b54
parent 2335 366e64ecba91
permissions -rw-r--r--
Use the new optional argument to endRequest in the middleware Currently endRequest is called twice on an exception if Django intercepts the exception and returns it's own result. By setting optional=True we do not crash on 'assert self.in_request'.

<!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="/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("/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 
    (<a href="http://code.google.com/p/google-app-engine-samples/source/browse/#svn/trunk/shell">original source</a>)
</p>
<p>
    <a href="/">Return to main home</a>
</p>

<textarea id="output" rows="30" readonly="readonly">
{{ server_software }}
Python {{ python_version }}
</textarea>

<form id="form" action="/admin/shell/shell.do" method="get">
  <nobr>
  <textarea class="prompt" id="caret" readonly="readonly" rows="4"
            onfocus="document.getElementById('statement').focus()"
            >&gt;&gt;&gt;</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 %}
 | Shift-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>