README.rst

Cranc

Cranc is command line interface tool to interact with Pagure

homepage: https://pagure.io/cranc

Look at the demos!

cranc get issues and cranc get prs

https://www.youtube.com/watch?v=LrBM9FptWfE

cranc create pr and cranc merge pr

https://www.youtube.com/watch?v=3hBHxY4Og2c

What Cranc does

At the moment cranc lists pull requests and issues of a project. With this commands:

cranc get prs

  • [author] optional
  • [status] optional
  • [assignee] optional

cranc get issues

  • [author] optional
  • [status] optional
  • [assignee] optional

cranc merge pr [request_id]

cranc create pr [title] [repo] [brach_from] [branch_to]

  • [initial_comment] is optional

About its name

Since Pagure is a hermit crab, cranc is crab in catalan.

Run

Create the virtual environment:

virtualenv3 ~/venvs/cranc-env

source ~/venvs/cranc-env/bin/activate

Retrieve the sources:

git clone https://pagure.io/cranc.git

cd cranc

Install dependencies:

pip install -r requirements.txt

Run the setup file. This creates a link in the venv directory pointing to the cranc directory:

python setup.py install

Run the app:

cranc

Usage: cranc [OPTIONS] COMMAND [ARGS]...

Options:
  -a, --api-key API-KEY    your API key for Pagure.io
  -r, --repo-url TEXT      Repo url
  -i, --instance-url TEXT  Pagure instance url
  -c, --config-file PATH
  --help                   Show this message and exit.

Commands:
  config
  create
  get
  merge

cranc

Or run the command:

cranc get prs

cranc merge pr --request_id [request_id]

When API TOKEN is needed, cranc will prompt you to insert it. It will ve stored in a .config file. Cranc will also try to guess the repo url and instance url, and prompt you to confirm/change.

Test

To run tests type:

pytest

Or to run only 1 test type:

pytest tests/[name_of_the_test]