Skip to content

Latest commit

 

History

History
87 lines (55 loc) · 3.65 KB

qiitacli.md

File metadata and controls

87 lines (55 loc) · 3.65 KB
title tags private
Qiita CLI Applicationを作ってみた
Python
Click
true

ことのはじまり

Qiitaに記事書きたいけどブラウザ開いていちいちQiitaのエディタ開くのめんどいな〜

Vim使ってMarkDownで記述してアップロードしたいな〜

よっしゃ作ったろ!

Qiita に記事をアップロードするコマンド

漠然としたイメージとしては、手頃なテキストエディタでarticle.mdのようなファイルを作成し、

$ qiitacli upload [記事のtitle] article.md

と叩いたら記事がアップロードされるイメージ。PythonClickというモジュールを使ったらできそう。 なぜPythonなのかと言うと私が一番使い慣れているからです。

Qiita API v2

QiitaにはQiita API v2というAPIがあります。

Qiita API v2

これを利用すればQiitaに関する操作はだいたい何でもできそう。

qiita_2

こういうのはたいてい誰かがもう作っているものなのでPyPIqiitaとか入れて検索してみたらありました。

qiita_v2

ありがたく使わせていただきましょう。

開発の準備あれこれ

私がPythonで開発する時は以下のことを意識して開発しています。

  • テストを書く(pytest利用)
  • コード整形ツールを使う(flake8,autopep8,autoflake,isort利用)
  • PyPIにアップロード出来るようにsetup.pysetup.cfgを作る

今回は更に以下の事にも挑戦してみました。

  • Travis CIを利用した自動テストの設定
  • Codecovの利用したコードカバレッジの計測

GitHubとか見てるとよくある Build Status このバッチを付けたかっただけですw

作った

https://github.com/mypaceshun/qiitacli

ひとまず作ってみました。 この記事もこのコードを使って上げています。

Qiitaの個人用アクセストークンを利用して、記事の一覧・公開・編集・削除だけ出来るようになりました。

とりあえず最低限。

課題

このままだとMarkdown形式の文章をアップロードするだけなので、画像を付けたり細かい装飾は出来なさそう。 もともと簡単なメモとかでもどんどん記事にしていこうと思って作ったものなのでとりあえずそこまではいいかなって感じです。 気が向いたら改良して見るかも。

作っていて思ったこと

Travis CI は2回くらい使ったことがあったのでなんとなくわかっていました。 ただ、使ったことがあったのがまえすぎてテストコードを書くのに慣れていなかったのであんまり恩恵を感じられなかったんですよね...

最近ようやくpytestを使ったテストコードをかけるようになってきたので、自動テストのありがたみがマシマシでした。

あとCodecovに関しては今回完全に初見でした。 コードのカバレッジ自体最近計測するようになった者なので、カバレッジを見れたりテストが通っていないコードを眺められるのはとてもよかったです。 カバレッジを100%にしたい衝動にかられるけどそもそもカバレッジを上げるだけの無駄なテストコードを量産する意味もわからないしああああって感じ、 いろいろやってみて試してみてって感じですね。