Last active
September 8, 2017 09:16
-
-
Save hMatoba/1ed38e777f5be4d0461c555f74acade1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
与えられるデータをexifのフォーマットに沿った形にしないといけないので仕様の理解が必要。 | |
さらに単体テストがむずい書き方をしてしまっているのでちょっとむずい。 | |
公式ドキュメント(http://www.cipa.jp/std/documents/j/DC-008-2012_J.pdf)に記載のある型の値の読み書きはできるようになっている。 | |
しかし扱える型の拡張がどこかで行われているようで、「〇〇型を追加してくれ」と要望がたまにくる。 | |
なのでMITの資料(https://www.media.mit.edu/pia/Research/deepview/exif.html)に沿って以下の型の読み書きができるように機能を拡張する。 | |
・SignedByte | |
・SignedShort | |
・Double | |
書き | |
==== | |
piexif/_dump.py | |
line 163 - line 271あたり | |
読み | |
==== | |
piexif/_load.py | |
line 130 - line 221あたり | |
テスト -> "python setup.py test" -> VisualStudioがあれば、ソリューションを読み込むだけでテストエクスプローラから簡単にできる | |
tests/s_test.py | |
test_dump_and_load_specials | |
テストの問題 | |
・機能をうまく切り分けていないので現状は統合テストしかない | |
・仕様書に載っていないようなレアな型なのでサンプルファイルがない | |
・結果、dumpとloadを一周させて元の値と一致するかをチェックするアレなテストになっている。その問題に関しては今回はパスで。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Floatに関して実装を忘れていたので、Floatを含めて四つの型対応を実装する