Skip to content

ma8ma/yanico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yanico

Yet Another Niconico-douga Command-line Interface

Description

yanicoApache 2.0 ライセンスで公開されている ニコニコ動画 にアクセスするためのCUIコマンドです。 メインコマンド yan (yanico の先頭3文字)に続けて サブコマンドを指定することで機能を実行します。 機能を集めることができる CUIコマンドを目標にゆっくり開発していきます。 パッケージに含むREADME等のドキュメントは日本語で先に書いていきます。

Feature

  • yan コマンドの体系は git や mercurial のようなサブコマンドの集合です。
  • ログインのセッション情報などはブラウザから取得します。
    • Firefoxのセッション情報を取得します。
    • 他のブラウザへの対応は未定です。
    • コマンドからログインする機能は今のところ未定です。
  • Python と setuptools の知識が必要ですが、 ユーザーが 独自にコマンドを追加 することができます。

Requirement

  • Python (バージョン3.8以降)
  • pip (バージョン10以降)
  • setuptools (バージョン 61.0.0 以降)
  • setuptools_scm
  • サードパーティ製のHTTPライブラリ(予定)

Install

PYPI のリリース版をインストールする:

$ pip install yanico

リポジトリ の最新版をインストールする:

$ pip install git+https://github.com/ma8ma/yanico

Usage

  • ホームディレクトリに設定ファイル .yanico.conf を置きます。 [session] セクションに実行時に使用するセッション情報を読み込む ブラウザのタイプ typeプロファイルのパス profile を設定してください。

設定例:

$ cat <<EOF >~/.yanico.conf
[session]
type = firefox
profile = /home/user/path/to/firefox/profile
EOF

コマンド例:

$ yan subcommand arg1 arg2

Development

開発に使う追加のツールをインストールする:

$ pip install yanico[dev]

Testing

テストを行うには pytest を実行する:

$ pytest

コードカバレッジ( coverage )を計測して結果を表示する:

$ coverage run -m pytest
$ coverage report

Code check

コードをチェックするには pylint を実行する:

$ pylint setup.py tests/ yanico/

Type check

型をチェックするには mypy を実行する:

$ mypy yanico/

Code formatting

ソースコードを整形するには black を実行する:

$ black .

What's New

v0.1.0 (2024-08-06)

  • README.rst に開発ツールのインストールと使い方の説明を追加しました。
  • 廃止予定の pkg_resources のかわりに importlib.metadata を使うように修正しました。
  • The Uncompromising Code Formatter black を使ってソースコードを整形しました。

v0.1.0a4 (2023-09-20)

  • パッケージのビルドに必要なデータは pyproject.toml で定義するように変更しました。(PEP 518)

以前のバージョンでの変更は CHANGES.ja.md を見てください。

TODO

  • コマンドを追加する方法のドキュメントを書く (v1.0.0までには書く)

Copyright 2015-2023 Masayuki Yamamoto

About

Yet Another Niconico-douga Command-line Interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages