| |
| """Test all implemented phpMyAdmin features""" |
|
|
| print('=== FEATURE IMPLEMENTATION STATUS ===') |
| print() |
|
|
| features = [ |
| ('Bookmark Manager', 'app.bookmark_manager', 'bookmark_manager'), |
| ('Global Search', 'app.global_search', 'global_search'), |
| ('Table Maintenance', 'app.table_maintenance', 'table_maintenance'), |
| ('BLOB Handler', 'app.blob_handler', 'blob_handler'), |
| ('Views Manager', 'app.views_manager', 'views_manager'), |
| ] |
|
|
| for i, (name, module, obj_name) in enumerate(features, 1): |
| try: |
| exec(f'from {module} import {obj_name}') |
| obj = eval(obj_name) |
| methods = len([m for m in dir(obj) if not m.startswith('_')]) |
| print(f'[{i}/10] {name:25} - LOADED ({methods} methods)') |
| except Exception as e: |
| print(f'[{i}/10] {name:25} - FAILED: {e}') |
|
|
| print() |
|
|
| |
| from app.api import router |
|
|
| routes = [r.path for r in router.routes if hasattr(r, 'path')] |
|
|
| bookmark_routes = [r for r in routes if 'bookmark' in r] |
| search_routes = [r for r in routes if 'search' in r] |
| maintenance_routes = [r for r in routes if 'maintenance' in r] |
| blob_routes = [r for r in routes if 'blob' in r] |
| view_routes = [r for r in routes if 'views' in r or r.startswith('/views')] |
|
|
| print('API Endpoints:') |
| print(f' Bookmarks: {len(bookmark_routes)} endpoints') |
| print(f' Search: {len(search_routes)} endpoints') |
| print(f' Maintenance: {len(maintenance_routes)} endpoints') |
| print(f' BLOB: {len(blob_routes)} endpoints') |
| print(f' Views: {len(view_routes)} endpoints') |
| print(f' Total new: {len(bookmark_routes) + len(search_routes) + len(maintenance_routes) + len(blob_routes) + len(view_routes)} endpoints') |
|
|
| print() |
| print('=== 5/10 FEATURES COMPLETE ===') |
|
|