Skip to main content

No project description provided

Project description

statements-manager

English description is currently unavailable because this project is still beta-version. Sorry for inconvenience.

競技プログラミングの作問時に使用する、問題文管理を便利にするツール (仮)

Getting Started

!! 実装途中なので、操作・設定方法は今後変更される可能性があります !!

Quickstart (とにかく動作させたい人向け)

# 初回のみ
pip install statements-manager
git clone https://github.com/tsutaj/statements-manager.git

# on 'statements-manager' directory
# 実行後に output ディレクトリの中身を確認すること
ss-manager run -p config/local_sample.toml

1. 所有している Google アカウントについて、Google Docs API を使用可能にする (Google Docs にある問題文を変換する方のみ)

  • Google Docs - Quickstart の "Step 1: Turn on the Google Docs API" 内にある "Enable the Google Docs API" を押して、API を使える状態にします
    • project name は何でもいいと思います
    • 扱いたい Docs ファイルが閲覧できる権限を持っているアカウントで作成しなければならないはずなので注意してください
  • うまくいけば "DOWNLOAD CLIENT CONFIGURATION" を押すようなダイアログに行くので、credentials.json を任意の場所にダウンロードします (このファイルはプロジェクトファイルの docs.credentials_src に、絶対パスまたはスクリプト実行元からの相対パスで設定する必要があります)
    • 一度認可に成功すると、token.pickle というファイルが生成されます。これをプロジェクトファイルに指定することで、毎回認可することなく高速に実行できます。

2. statements-manager をダウンロードする

pip install statements-manager で、statements-manager をダウンロードできます。(環境を汚されたくない人は venv とかの仮想環境を適宜使ってください)

3. プロジェクトファイルを作る

作問プロジェクトファイルを作ります (開発者は、1 ファイルで 1 問題セットを扱い、各問題ファイルは「全てローカル」および「全て Google Docs」のいずれかで管理されていることを仮定しているので、それを念頭に置いてください)

プロジェクトファイルの雛形は以下を実行することで生成されます。

ss-manager create -p [path_to_project.toml]

あとは、問題セットの都合に合わせてプロジェクトファイルを編集してください。プロジェクトファイルの書き方についてはそのうちリファレンスを書きます (TODO)。なお、Google Docs ファイルに対するサンプルローカルファイルに対するサンプル が存在するので、これを参考にしながら書くとだいたいのことはできるはずです・・・

4. 各ファイルを HTML 化する

以下のコマンドで、プロジェクトファイルで定義された各問題を HTML 化できます。出力された HTML は output ディレクトリ内に格納されます。

  • HTML 化される対象のプロジェクト名と同名のディレクトリが output 直下に存在する場合は、上書き防止のため通常は実行できません。その場合はディレクトリを適宜削除してください (オプションをつけて強制的に実行することもできます)
ss-manager run -p [path_to_project.toml]

Future Development

Links

  • library-checker-problems
    • 当スクリプトでできる機能については、このリポジトリの影響を強く受けています。いまのところ「ここでできることを自由度を高めつつ一般化したい」and「作問時に便利な Google Docs と連携させたい」というモチベーションがあります。
  • Rime
    • 作問するならまずこれを使うべきでしょう。これのプラグインとして開発しようか一瞬迷いましたが、Rime v3 でプラグインが廃止される (かもしれない) らしいので、独立に作ることにしちゃいました。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

statements_manager-1.0.0-py3-none-any.whl (18.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page