# -*- coding: utf-8 -*- """Преобразования кода — три режима в одном инструменте. Запуск: python code_utils.py docs <файл.py> — докстринги + README (№3) python code_utils.py refactor <файл.py> — рефакторинг/чистка (№4) python code_utils.py translate <файл.py> <язык> — перевод кода (№5) Языки перевода: python, javascript, typescript, go, rust, java, cpp, csharp. """ import sys from brain import pick, generate def main(): args = sys.argv[1:] if len(args) < 2: print("usage: code_utils.py <файл> [язык]") sys.exit(2) mode, path = args[0], args[1] backend = pick() try: code = open(path, encoding="utf-8").read() except Exception as e: print(f"не прочитан: {e}") sys.exit(1) if mode == "docs": prompt = (f"Сгенерируй документацию для этого кода: добавь докстринги и " f"комментарии на русском, затем короткий README-блок (что делает, " f"как запустить). Верни код с докстрингами, потом README.\n\n{code}") elif mode == "refactor": prompt = (f"Отрефактори этот код: понятные имена, упрощение, выделение " f"повторяющегося в функции, чистота. Поведение сохрани. Верни ТОЛЬКО " f"исправленный код, без пояснений и без ```.\n\n{code}") elif mode == "translate": lang = args[2] if len(args) > 2 else "javascript" prompt = (f"Переведи этот код на {lang}, сохранив логику и структуру. Верни " f"ТОЛЬКО переведённый код, без пояснений и без ```.\n\n{code}") else: print("неизвестный режим: docs | refactor | translate") sys.exit(2) print(generate(backend, [{"role": "user", "content": prompt}], 2048)) if __name__ == "__main__": main()