【Python】Pillowで画像にテキストを描き込む

Jenkinsさんで定期的にキャプチャして配布してる画像に、文字列で日付やらのデータを描き込む必要がでてきた。なんか楽にやれる方法ねえかなーっ、て所で調べてみたら、Pythonとかで画像処理ができるライブラリが色々とあるらしい。OpenCVが有名だし楽しそうではあったんだけど、導入手順がめんどそうだったので今回はPillowってのでお手軽にやってみる事にした。

もともとはPIL(Python Image Library)っていう画像操作のライブラリが、更新停止に伴って後継になって生まれたのがこやつらしい。はえー。どーでもいいけど、Pillowって日本語で「枕」なのね。
続きを読む 【Python】Pillowで画像にテキストを描き込む

【python】selenium + chromeでスクリーンショットを撮影する

Kibanaを使い始めたはいいんだけど、毎週そのグラフを画像化して所定の場所に置く必要に迫られた。愚直に作業手順を考えてみると、WEBブラウザ開いて、ウインドウのサイズをいい感じに調整して、Alt+Printscreenして、mspaint開いてCtrl+Vで貼り付け、Ctrl+Sで所定の場所にpngで保存…とか地味にめんどくさい作業だ。といったところで、そんな作業はJenkin寿司に任せちゃいたいよね。

そこで色々とGoogle先生に調べてもらったところ、「selenium」なるものを使えばプログラムからWEBブラウザを意のままに操れて、スクリーンショットまで撮れちゃうらしいパねえ!seleniumを操れる環境は色々あるらしいんだが、マイフェイバリット言語であるpython3でやってみる事にした。ちなみに俺の試したアレは、以下のとおり。
 

OS Windows7 64bit
Python 3.4
Selenium 3.6.0
ChromeDriver 2.33

続きを読む 【python】selenium + chromeでスクリーンショットを撮影する

Redmineのチケット量をグラフ化したい(第四回)

前回までのところで、Elasticsearchにデータぶちこんで、Kibanaで表示できる所まで行けた。今回は、Redmineから終わってないチケットを取ってきて、それをElasticsearchにぶちこむ、という流れをスクリプトで作ってみたい。手段はなんでもいいとは思うのだが、俺が大好きなPython3でやってみようと思う。
続きを読む Redmineのチケット量をグラフ化したい(第四回)

Redmineのチケット量をグラフ化したい(第一回)

Redmineを使って、チケット量を週一ペースで集計してる。しかし、毎週手作業で集計するのは地味に面倒だ。Webブラウザ開いて、Redmineでメンバー全員分の未完了チケット数を表示して、それをExcelに入力してグラフ化を作って公開する、という作業がどうにも面倒。そんなものはさっさと自動化してしまいたい。

なんかRedmineのプラグイン探してもイマイチだし、なんかいい手段ねえかなぁ…とモヤモヤしながらCEDECに参加したわけだが、「龍が如く」のセッションで「ElasticsearchとKibanaで捗るぞい」という話を聞いたので、早速試してみることにした。Fluentdも面白そうなんだけど、今回ガチもんのログ収集じゃないからひとまず置いとこう。サーバ環境がWindowsという縛りがあるので、情報をかき集めながらなんとか頑張ってみた。
続きを読む Redmineのチケット量をグラフ化したい(第一回)

【Jenkins】ジョブにパラメータをつける

そこら辺のサイトでさんざっぱら情報転がってるが、自分なりにメモ。Jenkinsのジョブでgitのリポジトリを監視してpythonスクリプトを走らせてるのだが、今までmasterブランチのpushをトリガに走らせてたやつを、別ブランチのpushでも走らせる必要が出てきた。あと、厄介なことに別ブランチ用に特別な処理があったりもする。しかし、大半の処理はmasterと同じなので、うまいことスクリプトを使いまわせないかなぁ・・・という所で色々調べてたどり着いたのが、ジョブのパラメータ化だ。
続きを読む 【Jenkins】ジョブにパラメータをつける

【Python3】正規表現でデータ抽出

日頃、ちょっとした処理はPythonで書いているのだが、そのなかでもとりわけ正規表現は頻繁に使いつつも、書き方を結構な頻度で忘れてしまうのでちゃんとメモっとく。なんか、配列の宣言の仕方とかもそうだけど、いろいろな言語を横断してるとパッと書けなくなってきちゃのよね。

とはいっても、なんか具体的なお題が無いと書けないので、テキトーなスクリプトをサンプルで組んでみたゾ。今の現場だと、組み込み向けのCソースコードを加工することが多いので、そいつを読み込む感じのアレを作ってみよう。
続きを読む 【Python3】正規表現でデータ抽出

【Python3】バイナリを扱ってみる

テキストファイルを解析してごにょごにょする機会は多いんだけども、稀にバイナリデータを解析して、データの容量だとか開始アドレスだとかいった情報を洗い出して抽出とかいう泥臭い作業を頼まれることもある。バイナリエディタを使って目視で調査しても良いは良いんだけど、解析対象のファイルが20個以上あって超絶だるそうだったので、スクリプト組んで対応することにした。

まー手段は何でも良かったのだが、勢いに任せてPythonで組んでみたので、忘れないように要所をメモしておく。
続きを読む 【Python3】バイナリを扱ってみる