pythonでfoobarのalternativeを作る 12 version 4

2019/05/20 16:36 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
自分のPCの音楽ファイルをタグでデータベース化 12 # prog
190519 開発日記
## DBからTreeViewを作る


- まずDBを綺麗にソートしておく必要
`artist`と`albumartist`の扱い
でーた取得時のorder調べ

- order の使い方とか、色々調べるためにまずビュアを少し改造して、いろんなsql文を実行できるようにした
- ト用第一キーであるalbumartistだが、noneのときはartistの値となるように改造
tupleの変更出来ので、いったんリストにして変更しタプルに戻すコードにした
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)

```

- mdate を入れいた。すところ結構あってエラー
- ソートは order でイケるが、order 重ねる場合の書き方など、色々調べるためにまずビューアを少し改造しろんなsql文を実行できるようにしてみた。
textCtrlとボタンを一行追加るだけなのでUIの変更は簡単
ビルダーでGUIを組んでおくとこういう変更が簡単すご良い 

- データ作成の際の第一段階の位置づけだったmdate を入れておいた。直すところ結構あってエラーでまくりだった┐('д')┌

- tracknumber が1のとき
- ビューアでorderの実験をしたところ概ねイケたんだけど、`tracknumber` が1の次は10になってしまう症状が出た。桁数の問題。foobarをみたら、1は01になってる。基本二桁にしておいた方が良いようだ。
ただし`1`にしても`1/15`みたいなパターンもある
`tracknumber`については`mutagen`で取得したデータはそのままでは使えない、どうするか??



      

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で取得したデータはそのままでは使えない、どうするか??