Skip to content

コマンドのファイル管理法変更#12

Merged
KawaSwitch merged 8 commits intomasterfrom
feature-command-file
Feb 10, 2020
Merged

コマンドのファイル管理法変更#12
KawaSwitch merged 8 commits intomasterfrom
feature-command-file

Conversation

@KawaSwitch
Copy link
Copy Markdown
Owner

既存のコマンドはPythonCommand.py下にずら~っと書いてたがこれを変更

  • MCUとPython用のそれぞれのディレクトリにコマンドを記述した.pyファイルを配置
  • ファイルには複数のコマンドクラスを記述可能
  • コマンドには必ずクラス変数NAMEを定義する
  • NAMEが定義されていないクラスは表示されない
  • 表示したくないコマンドはNAMEを定義しないかファイルごと別ディレクトリに移動

メリット

  • ファイルなので管理がしやすい
    少なくともずら~よりは...?
  • ローカルでの調整用の変更を保ったまま別コマンドの変更をコミットしやすい
    コミットオプションで変更できるらしいが面倒

デメリット

  • コマンド表示の順番がファイル名順←ファイル名に数字とかつけるしかない
  • 単純にファイル移行させるのが面倒かも
  • 逆に現在より分かりにくいかも?

これのマージ後は既存で使っている人のコマンドがそのままでは使えない
移行するメリットが薄ければ廃止or別方法を検討するかもしれない
移行法なども実装が進んできたらまとめて書きたい

ローカル用に数値変更してチューニングしたり調整したりするときに1ファイルだとgit管理が面倒なので分ける
また単純にファイルごとの管理がしやすそう
super('クラス名', self)としてたのはsuper()でいいみたいなので省略形を使うことに
@KawaSwitch
Copy link
Copy Markdown
Owner Author

KawaSwitch commented Feb 8, 2020

pythonコマンドのサンプルはこれ

新しいファイルを作成する際はこれを一番上に持ってくる

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from Commands.PythonCommandBase import PythonCommand, ImageProcPythonCommand
from Commands.Keys import KeyPress, Button, Direction, Stick

クラス定義部分
画像処理使う際はPythonCommandの代わりにImageProcPythonCommandを継承

class Sample(PythonCommand):
	NAME = 'sample'

	def __init__(self):
		super().__init__()

	def do(self):
		# write here

新コマンド作成の際の変更点は以下

  • クラス名"Sample"を変更
  • クラス変数NAMEの"sample"を変更→実際の表示名になる

あとは動作させたいコマンドをdoメソッド内に書く

今までとの違いは, 表示名の設定方法が変わるのとsuper()の中を変える必要が無いこと
マージしたら現在のWikiも変更予定
参考: 現在のWiki

実行しているWindow.pyから見たパスでよかった
ファイル分割化でのリロードを実装
0個のコマンドの時にエラーが出るのは今まで通りであるが無視(多分気にしなくていい)
PR頂いたときに別スレッドで渡してるから大丈夫だとか適当に言ってしまったが影響あるみたい...
とりあえずdisableにして防ぐ
@KawaSwitch KawaSwitch merged commit 7e76528 into master Feb 10, 2020
@KawaSwitch KawaSwitch deleted the feature-command-file branch February 10, 2020 20:03
@KawaSwitch KawaSwitch changed the title [WIP]コマンドのファイル管理法変更 コマンドのファイル管理法変更 Feb 10, 2020
@KawaSwitch KawaSwitch added the enhancement New feature or request label Feb 10, 2020
@KawaSwitch
Copy link
Copy Markdown
Owner Author

Wikiの方へ新しいコマンドの作成方法を追記したのでそちらを参照してください
Wiki 作成方法ページ

"ver 1.0(リリース版)以降"のセクションが本PR(およびそれ以降の修正)の変更部分です

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant