LoginSignup
1
0

More than 3 years have passed since last update.

Qiita CLI Application 作ってみた

Posted at

ことのはじまり

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

作った

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

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

とりあえず最低限。

課題

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

作っていて思ったこと

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

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

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0