Kivy

kviewer 結果を確認しながらKvファイルが書けるツール

 私は以前KvEditorという物を作り 記事にもしたのですが、それが車輪の再発明であった事に今日気付きました。紹介します、kviewerさんです。

準備

依存PackageをInstall

$ pip install watchdog

ソースコードを修正

(追記: この作業はpython2においては不要です。dario_okazakiさんありがとう)
(追記: この修正を行うPullRequestは既に適用されています。最新版のKivyを使っているならこの作業は要りません)

kviewer.pyの下の方には以下の行があります。

kivy/tools/kviewer.pyの一部
        except Exception as e:
            Window.add_widget(Label(text=e.message if e.message else str(e)))

私が使っているPython3.6.0ではAttributeError(messageという属性が存在しない)で落ちてしまうので以下の様に書き換えました。

        except Exception as e:
            Window.add_widget(Label(text=(
                e.message if getattr(e, r'message', None) else str(e)
            )))

使ってみる

適当にKvファイルを書いてから

$ python3 -m kivy.tools.kviewer ./test.kv

Screenshot at 2017-07-12 18:15:51.png

後はtest.kvが更新される度にkviewerがそれを感知して自動で結果を更新してくれます。

各種Error

存在しないClass
Screenshot at 2017-07-12 18:16:02.png
問題のある行を示してくれればありがたいのですが...

Property名とコロンの間にSpaceを入れる
Screenshot at 2017-07-12 18:16:21.png
何故かErrorにならなかった。Kivy1.9.1ではちゃんと怒ってくれたのに。

無効な識別子
Screenshot at 2017-07-12 18:16:30.png