pythonでfoobarのalternativeを作る 12 version 5
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
自分のPCの音楽ファイルをタグでデータベース化 12 # prog
190519 開発日記
## DBからTreeViewを作る
- まずDBを綺麗にソートしておく必要
foobarでは、`albumartist`でソートするようにしている。この場合、データとして`artist`はあるけど`albumartist`が無い場合、自動的に`artist`のデータでソートされている。これを実装するために、データベース作成時に、`albumartist`が無い場合は`artist`のデータを`albumartist`に設定するようにした。
- データ設定のsql文はプレースホルダーにして、変数はタプルで与えるようにしてある。上記`albumartist`の値の変更はタプルを作ったあとで書き換えるようにした。これは現実には不可能なので、いったんリストに変換してから値を変更し、タプルに戻すようにしてみた
```
for tag in tags:
try :
tup += m[tag][0], # add tag-value to tupple
except:
tup += None,
if tup[3]==None and tup[2]!=None : # albumartist がnoneでartistがある場合
temp=list(tup) # albumartist をartist にする
temp[3]=tup[2]
tup=tuple(temp)
c.execute(com2,tup)
```
- ソートは order でイケるが、order を重ねる場合の書き方など、色々調べるためにまずビューアを少し改造して、いろんなsql文を実行できるようにしてみた。
textCtrlとボタンを一行追加するだけなのでUIの変更は簡単
ビルダーでGUIを組んでおくとこういう変更が簡単ですごく良い
- データ作成の際の第一段階の位置づけだったmdate を入れておいた。直すところ結構あってエラーでまくりだった┐('д')┌
- ビューアでorderの実験をしたところ概ねイケたんだけど、`tracknumber` が1の次は10になってしまう症状が出た。桁数の問題。foobarをみたら、1は01になってる。基本二桁にしておいた方が良いようだ。
ただし`1`にしても`1/15`みたいなパターンもある
`tracknumber`については`mutagen`で取得したデータはそのままでは使えない、どうするか??
- 下準備ばかりでTreeViewまでたどり着かなかった┐('д')┌
とりあえずGUIでTreeを実装してみようかな・・
190519 開発日記
DBからTreeViewを作る
- まずDBを綺麗にソートしておく必要
foobarでは、albumartist
でソートするようにしている。この場合、データとしてartist
はあるけどalbumartist
が無い場合、自動的にartist
のデータでソートされている。これを実装するために、データベース作成時に、albumartist
が無い場合はartist
のデータをalbumartist
に設定するようにした。 - データ設定のsql文はプレースホルダーにして、変数はタプルで与えるようにしてある。上記
albumartist
の値の変更はタプルを作ったあとで書き換えるようにした。これは現実には不可能なので、いったんリストに変換してから値を変更し、タプルに戻すようにしてみた
for tag in tags:
try :
tup += m[tag][0], # add tag-value to tupple
except:
tup += None,
if tup[3]==None and tup[2]!=None : # albumartist がnoneでartistがある場合
temp=list(tup) # albumartist をartist にする
temp[3]=tup[2]
tup=tuple(temp)
c.execute(com2,tup)
-
ソートは order でイケるが、order を重ねる場合の書き方など、色々調べるためにまずビューアを少し改造して、いろんなsql文を実行できるようにしてみた。
textCtrlとボタンを一行追加するだけなのでUIの変更は簡単
ビルダーでGUIを組んでおくとこういう変更が簡単ですごく良い -
データ作成の際の第一段階の位置づけだったmdate を入れておいた。直すところ結構あってエラーでまくりだった┐('д')┌
-
ビューアでorderの実験をしたところ概ねイケたんだけど、
tracknumber
が1の次は10になってしまう症状が出た。桁数の問題。foobarをみたら、1は01になってる。基本二桁にしておいた方が良いようだ。
ただし1
にしても1/15
みたいなパターンもある
tracknumber
についてはmutagen
で取得したデータはそのままでは使えない、どうするか?? -
下準備ばかりでTreeViewまでたどり着かなかった┐('д')┌
とりあえずGUIでTreeを実装してみようかな・・