File size: 2,109 Bytes
2784c23 87415be a172f1d 87415be 2784c23 87415be a172f1d 87415be a172f1d 2784c23 87415be 2784c23 87415be a172f1d 87415be 2784c23 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Terminal</title>
<style>
/* Add terminal styling here */
</style>
</head>
<body>
<div class="terminal">
<div id="output" class="terminal-output">Python Terminal Ready...</div>
<div class="terminal-input">
<input type="text" id="code-input" placeholder="Enter Python code or !pip install package..." />
<button onclick="executeCode()">Run</button>
<button onclick="cleanup()">Cleanup</button>
</div>
</div>
<script>
function executeCode() {
const codeInput = document.getElementById("code-input");
const outputDiv = document.getElementById("output");
fetch("/execute", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ code: codeInput.value }),
})
.then(response => response.json())
.then(data => {
outputDiv.innerHTML += `\n> ${codeInput.value}\n${data.result}`;
outputDiv.scrollTop = outputDiv.scrollHeight; // Auto-scroll to bottom
codeInput.value = ""; // Clear input field
})
.catch(error => {
outputDiv.innerHTML += `\nError: ${error}`;
outputDiv.scrollTop = outputDiv.scrollHeight;
});
}
function cleanup() {
fetch("/cleanup", { method: "POST" })
.then(response => response.json())
.then(data => {
const outputDiv = document.getElementById("output");
outputDiv.innerHTML += `\n${data.result}`;
outputDiv.scrollTop = outputDiv.scrollHeight; // Auto-scroll to bottom
});
}
// Cleanup temporary files when the user leaves the page
window.addEventListener("beforeunload", cleanup);
</script>
</body>
</html>
|