Spaces:
Sleeping
Sleeping
| <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/htmx.org@1.9.6"></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 Form --> | |
| <form hx-post="/" hx-target="#results" hx-swap="innerHTML" class="space-y-4 mb-8"> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-300 mb-2">Query Programs (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</button> | |
| </form> | |
| <!-- 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> | |
| <pre class="bg-gray-800 p-2 rounded mt-2 text-gray-300">{{ result.code }}</pre> | |
| </div> | |
| {% endfor %} | |
| </div> | |
| {% endif %} | |
| </div> | |
| </div> | |
| </body> | |
| </html> |