Spaces:
Running
Running
File size: 5,241 Bytes
6c36389 e1e8a7c 6c36389 085e4f6 6c36389 085e4f6 e1e8a7c 085e4f6 e1e8a7c 6c36389 085e4f6 6c36389 085e4f6 6c36389 e1e8a7c 1d1990f 406abdb 5eae150 c157f01 406abdb 65c01b6 5eae150 1d1990f 085e4f6 e1e8a7c 1d1990f e1e8a7c 406abdb 085e4f6 6c36389 |
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Code Parser & Program Retrieval</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/[email protected]"></script>
<style>
.table-container { overflow-x: auto; }
pre { white-space: pre-wrap; word-wrap: break-word; }
</style>
</head>
<body class="bg-gray-900 text-gray-200 min-h-screen p-8 font-sans">
<div class="max-w-7xl mx-auto bg-gray-800 p-6 rounded-xl shadow-2xl">
<h1 class="text-3xl font-bold text-blue-400 mb-6">Python Code Parser & Program Retrieval</h1>
<!-- Parsing Form -->
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-6 mb-8">
<div>
<label class="block text-sm font-medium text-gray-300 mb-2">Upload a Python File</label>
<input type="file" name="file" accept=".py" class="w-full p-2 border rounded-lg bg-gray-700 text-gray-200">
</div>
<div>
<label class="block text-sm font-medium text-gray-300 mb-2">Or Paste Your Code</label>
<textarea name="code" rows="6" class="w-full p-2 border rounded-lg bg-gray-700 text-gray-200" placeholder="Paste Python code here...">{{ code_input or '' }}</textarea>
<input type="text" name="filename" class="mt-2 w-full p-2 border rounded-lg bg-gray-700 text-gray-200" placeholder="Enter filename (e.g., script.py)" value="{{ filename or '' }}">
</div>
<button type="submit" class="w-full bg-blue-500 text-white p-2 rounded-lg hover:bg-blue-600 transition">Parse & Store</button>
</form>
<!-- Query Forms -->
<div class="space-y-4 mb-8">
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4">
<div>
<label class="block text-sm font-medium text-gray-300 mb-2">Query Programs by Operations (e.g., function,assignment,return)</label>
<input type="text" name="query_ops" class="w-full p-2 border rounded-lg bg-gray-700 text-gray-200" placeholder="Enter operations (comma-separated)">
</div>
<button type="submit" class="w-full bg-green-500 text-white p-2 rounded-lg hover:bg-green-600 transition">Find Programs by Operations</button>
</form>
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4">
<div>
<label class="block text-sm font-medium text-gray-300 mb-2">Query Programs by Description (e.g., "function that adds numbers")</label>
<input type="text" name="semantic_query" class="w-full p-2 border rounded-lg bg-gray-700 text-gray-200" placeholder="Enter description">
</div>
<button type="submit" class="w-full bg-purple-500 text-white p-2 rounded-lg hover:bg-purple-600 transition">Find Programs by Description</button>
</form>
<!-- Buttons to Load, Process, and Reset Hugging Face Dataset and Database >
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4">
<button type="submit" name="load_dataset" value="true" class="w-full bg-cyan-500 text-white p-2 rounded-lg hover:bg-cyan-600 transition">Load Hugging Face Dataset</button>
</form>
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4">
<button type="submit" name="process_hf" value="true" class="w-full bg-orange-500 text-white p-2 rounded-lg hover:bg-orange-600 transition">Process Hugging Face Dataset</button>
</form>
<form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4">
<button type="submit" name="reset_db" value="true" class="w-full bg-red-500 text-white p-2 rounded-lg hover:bg-red-600 transition">Reset Database</button>
</form-->
</div>
<!-- Results Section -->
<div id="results" class="mt-8">
{% if parts %}
{% include 'results_partial.html' %}
{% elif query_results %}
<h2 class="text-2xl font-bold text-blue-400 mb-4">Matching Programs</h2>
<div class="space-y-4">
{% for result in query_results %}
<div class="bg-gray-700 p-4 rounded-lg">
<h3 class="text-lg font-semibold text-blue-300">Program ID: {{ result.id }}</h3>
<p class="text-gray-200">Similarity: {{ result.similarity | round(3) }}</p>
<p class="text-gray-300">Description Tokens: {{ result.description }}</p>
<pre class="bg-gray-800 p-2 rounded mt-2 text-gray-300">{{ result.code }}</pre>
</div>
{% endfor %}
</div>
{% elif message %}
<h2 class="text-2xl font-bold text-blue-400 mb-4">Status</h2>
<p class="text-gray-200">{{ message }}</p>
{% endif %}
</div>
</div>
</body>
</html> |