コーディングさせたアプリの仕様書貼ってみる


ディレクトリ構造JSON変換アプリ仕様書

ディレクトリ構造JSON変換アプリ仕様書をコピペしてみた

概要

このアプリは、指定したディレクトリ構造をツリー表示し、それをJSON形式に変換・保存・読込ができるGUIアプリケーションです。 Tkinterを使用してPythonで実装されています。

主な機能

  • ディレクトリ選択ダイアログから任意のフォルダを選択
  • ツリー構造でディレクトリ・ファイルを表示(説明付き)
  • 説明文(description)を各ノードに編集・保存可能(右クリックで編集)
  • 除外 と説明が付けられたディレクトリは、JSONへの変換時にスキップ
  • JSONファイルとして保存/既存JSONファイルの読込
  • 読込後、実ディレクトリ構造と差分比較し、追加・削除の通知を表示
  • JSONビューアでリアルタイムに変換結果を表示
  • 更新ボタンで差分を再チェック・マージが可能

技術的ポイント

  • GUI: Tkinter + ttk Treeview + Textウィジェット
  • ディレクトリ探索: os.walk による階層走査
  • 差分検出: JSON構造と実ディレクトリ構造の再スキャン結果を比較
  • 自動除外ディレクトリ: venv, __pycache__, .git など
  • ノード数が50以上のディレクトリは 除外 説明を自動付与(再編集可)
  • 説明が 除外 → JSON変換時にその子ノードをスキップ
  • ユーザーによる更新制御を優先し、常時監視は未実装

コーディング上の工夫

  • simpledialog.askstring() で編集対象の既存説明を初期表示
  • JSON構造は辞書型で保持し、必要に応じて再構築・表示更新
  • 更新時の差分比較では、追加・削除・説明の変更を検出
  • 差分がある場合のみ messagebox.showinfo() による通知を表示

使用例と対象者

  • ロトくじ自動スクレイピング環境やプロジェクト構成の可視化
  • 開発者間でディレクトリ構造と付帯情報を共有したい場面
  • 複雑なプロジェクトフォルダに対しての構成管理や説明補助

今後の拡張案

  • 除外ディレクトリのオンオフ切替機能(チェックボックス化)
  • JSONの保存時にバックアップファイルを自動生成
  • マルチ選択による一括説明付与
  • 検索バーによるノード名フィルタリング
« chat-gptにコーデ...
2025-05-09 06:08:45