Skip to main content

The simple console version of a drawing program!

Project description

CanvasCLI

Build Status

Travis Continuous Integration Appveyor Continuous Integration Code coverage Scrutinizer Code Quality

Package information

https://img.shields.io/pypi/v/canvascli.svg Documentation Status

Description

The simple console version of a drawing program!

Features

At this time, the functionality of the program is quite limited but this might change in the future. In a nutshell, the program should work as follows:

  1. Create a new canvas
  2. Start drawing on the canvas by issuing various commands
  3. Quit

At the moment, the program supports the following commands:

  • Create the Canvas
  • Draw a Line (Only horizontal and vertical lines are supported!)
  • Draw a Rectangle
  • Fill a Region with a given Color
  • Erase the Canvas
  • Quit

If you want to resize the Canvas after it has been created you can run the create command again, but you will be asked for confirmation as the previous canvas will be replaced by the new one!

Installation

You can install with pip:

$ pip install canvascli

Usage

After installation you can run from the terminal/cli by executing

$ canvascli

Example

$ canvascli

Enter command: C 20 4
----------------------
|                    |
|                    |
|                    |
|                    |
----------------------

Enter command: L 1 2 6 2
----------------------
|                    |
|xxxxxx              |
|                    |
|                    |
----------------------

Enter command: L 6 3 6 4
----------------------
|                    |
|xxxxxx              |
|     x              |
|     x              |
----------------------

Enter command: R 16 1 20 3
----------------------
|               xxxxx|
|xxxxxx         x   x|
|     x         xxxxx|
|     x              |
----------------------

Enter command: B 10 3 o
----------------------
|...............xxxxx|
|xxxxxx.........x   x|
|     x.........xxxxx|
|     x..............|
----------------------

Enter command: E
----------------------
|                    |
|                    |
|                    |
|                    |
----------------------

Enter command: Q

Lowercase commands are also valid!

Help

When running canvascli at any moment the help can be viewed typing H

$ canvascli

Enter command: H

CanvasCLI: the simple console version of a drawing program!
===========================================================


Program commands:
-----------------

    H               Display help

    C width height  Create a new canvas of given size
                        width: Canvas width
                        height: Canvas height

    L x1 y1 x2 y2   Draw a Line from (x1,y1) to (x2,y2)
                        x1: Point 1 x coordinate
                        y1: Point 1 y coordinate
                        x2: Point 2 x coordinate
                        y2: Point 2 y coordinate

    R x1 y1 x2 y2   Draw a Rectangle given by (x1,y1) and (x2,y2)
                        x1: Upper left corner x coordinate
                        y1: Upper left corner y coordinate
                        x2: Lower right corner x coordinate
                        y2: Lower right corner y coordinate

    B x y color     Fill the area connected to (x,y) with color
                        x: Point x coordinate
                        y: Point y coordinate
                        color: Expressed as an ASCII single character

    E               Erase the contents of the canvas.

    Q               Quit program

Notes:
- Currently only horizontal or vertical lines are supported.
- Horizontal and vertical lines will be drawn using the 'x' character.

Testing

To run the test suite you need to install pytest and pytest-cov and run:

$ pip install pytest pytest-cov
$ pytest tests/ --cov=canvascli

Currently the canvas and utils modules have 100% code coverage. The parser and the cli modules have only partial coverage but we are working hard on improving this!

Code style

We try to follow PEP8 and use Flake8 to check code style.

To run the code style check you need to install flake8 and run:

$ pip install flake8
$ flake8 canvascli/

Credits

History

0.1.0 (2018-03-18)

  • First release on PyPI.

Project details


Release history Release notifications

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
canvascli-0.1.0.tar.gz (23.0 kB) Copy SHA256 hash SHA256 Source None Mar 23, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page