pythonでfoobarのalternativeを作る 14 version 2
      
          :追加された部分
      
      
          :削除された部分
      
      
    (差分が大きい場合、文字単位では表示しません)
    pythonでfoobarのalternativeを作る 14## DB作成
- treeにしてみてこっちに戻ってきた
やはりDB作成の際にソートしてtree表示しやすいように作っておくのが良いと思うようになった
演奏中のタグ表示は改めて取得し直せば良い、多分foobarはそうしてる
DBの項目としては、
- ①albumartist
あればそれ、無ければartist、それでもなければ`?`
- ②date と album
[date]album として一つのカラムにしておく
- ③tracknumber と title
これもつなげて一つのカラム、なおtracknumberは二桁表示
tracknumberが無い場合は`?`、両方無い場合はファイル名とする
tracknumberに`/`がある場合は削除、discが二枚の場合は2.01のような表示だが出来るかな?
- こうしてみるとDBに加えるのは第一段階で fullpath とmdate、第二段階で上の3つって事になる
結構DBの中身変わることになるかなあ(・_・?)
# 二段階合体の実用化DB構想
新規と更新いずれも使えること
<モニタとして使えること>
class makedb():
 init
  self.db=r''
  folda=[r'' 
          ]
  col=['path','mdate','flag','artist','album','title']
  # DB開く、cを引数で渡すか
  for f in folda:
    print('first step....')
    self.first(f)
    print('second step....')
    self.second()
  # DB閉じる
  
  def first(self,f):
    #フルパスとmdate挿入、成功したらそのまま、失敗したらmdate比較して同じならそのまま、違ってたら
    # mdateをupdateしてflagをnullに戻す
  def second(self):
    # DBからflagのNoneを抽出しMutagenで取得したタグをDBにupdate
  def moniter():
    # 更新ファイルを取得したらDBのflagをnullに戻してsecond を呼ぶ
      DB作成
- treeにしてみてこっちに戻ってきた
 やはりDB作成の際にソートしてtree表示しやすいように作っておくのが良いと思うようになった
 演奏中のタグ表示は改めて取得し直せば良い、多分foobarはそうしてる
 DBの項目としては、
- ①albumartist
 あればそれ、無ければartist、それでもなければ?
- ②date と album
 [date]album として一つのカラムにしておく
- ③tracknumber と title
 これもつなげて一つのカラム、なおtracknumberは二桁表示
 tracknumberが無い場合は?、両方無い場合はファイル名とする
 tracknumberに/がある場合は削除、discが二枚の場合は2.01のような表示だが出来るかな?
- こうしてみるとDBに加えるのは第一段階で fullpath とmdate、第二段階で上の3つって事になる
 結構DBの中身変わることになるかなあ(・_・?)
二段階合体の実用化DB構想
新規と更新いずれも使えること
<モニタとして使えること>
class makedb():
init
self.db=r''
folda=[r''
]
col=['path','mdate','flag','artist','album','title']
DB開く、cを引数で渡すか
for f in folda:
print('first step....')
self.first(f)
print('second step....')
self.second()
DB閉じる
def first(self,f):
#フルパスとmdate挿入、成功したらそのまま、失敗したらmdate比較して同じならそのまま、違ってたら
# mdateをupdateしてflagをnullに戻す
def second(self):
# DBからflagのNoneを抽出しMutagenで取得したタグをDBにupdate
def moniter():
# 更新ファイルを取得したらDBのflagをnullに戻してsecond を呼ぶ