{"id":19482220,"url":"https://github.com/santiagortiiz/drawing-tool.-python-data-structures","last_synced_at":"2025-02-25T17:40:32.549Z","repository":{"id":111491878,"uuid":"482125669","full_name":"santiagortiiz/Drawing-Tool.-Python-data-structures","owner":"santiagortiiz","description":"Drawing tool developed using data structures.","archived":false,"fork":false,"pushed_at":"2022-04-16T01:25:06.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-08T07:25:09.398Z","etag":null,"topics":["arrays","canvas","data-structures","python","unittest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/santiagortiiz.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-16T01:24:42.000Z","updated_at":"2022-04-18T01:00:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"72f5192e-a452-478b-a567-98f2f3383669","html_url":"https://github.com/santiagortiiz/Drawing-Tool.-Python-data-structures","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santiagortiiz%2FDrawing-Tool.-Python-data-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santiagortiiz%2FDrawing-Tool.-Python-data-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santiagortiiz%2FDrawing-Tool.-Python-data-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santiagortiiz%2FDrawing-Tool.-Python-data-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/santiagortiiz","download_url":"https://codeload.github.com/santiagortiiz/Drawing-Tool.-Python-data-structures/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240717969,"owners_count":19846472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arrays","canvas","data-structures","python","unittest"],"created_at":"2024-11-10T20:09:10.918Z","updated_at":"2025-02-25T17:40:32.544Z","avatar_url":"https://github.com/santiagortiiz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Drawing Tool\n\nIn a nutshell, the program reads the\ninput.txt , executes a set of commands from the file, step by step, and produces output.txt\n\nAt this time, the functionality of the program is quite limited but this might change in the future.\nAt the moment, the program should support the following set of commands:\n\n\n| Command | Name | Description |\n| ----------- | ----------- | ----------- |\n| C w h | Create Canvas | Should create a new canvas of width w and height h. |\n| L x1 y1 x2 y2 | Create Line | Should create a new line from (x1,y1) to (x2,y2). Currently only horizontal or vertical lines are supported. Horizontal and vertical lines will be drawn using the 'x' character. |\n| R x1 y1 x2 y2 | Create Rectangle | Should create a new rectangle, whose upper left corner is (x1,y1) and lower right corner is (x2,y2). Horizontal and vertical lines will be drawn using the 'x' character. |\n| B x y c | Bucket Fill | Should fill the entire area connected to (x,y) with \"colour\" c. The behaviour of this is the same as that of the \"bucket fill\" tool in paint programs. |\n\nNote: You can draw only draw if a canvas has been created.\n\n\n# Example\nLook at ***input.txt*** and ***output.txt***\n\n\n# Windows setup\nCreate virtual environment\n- py -m venv .venv\n- pip install -r requirements.txt\n\n# Testing\nRun tests:\n- coverage run -m unittest discover -s src/tests/ -v\n\nShow coverage:\n- coverage report -m\n\n| Name | Stmts | Miss | Cover | Missing |\n| ----------- | ----------- | ----------- | ----------- | ----------- |\n| src\\__init__.py                     |    0 | 0 | 100% |     |\n| src\\data_structures\\__init__.py     |    3 | 0 | 100% |     |\n| src\\data_structures\\array.py        |   15 | 0 | 100% |     |\n| src\\data_structures\\canvas.py       |   74 | 0 | 100% |     |\n| src\\data_structures\\exceptions.py   |    2 | 0 | 100% |     |\n| src\\data_structures\\grid.py         |   21 | 0 | 100% |     |\n| src\\tests\\test_array.py             |   22 | 0 | 100% |     |\n| src\\tests\\test_canvas.py            |  177 | 0 | 100% |     |\n| src\\tests\\test_grid.py              |   24 | 0 | 100% |     |\nTOTAL    | 338   |  0  |   100%\n\n# Run\npy src/main.py","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsantiagortiiz%2Fdrawing-tool.-python-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsantiagortiiz%2Fdrawing-tool.-python-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsantiagortiiz%2Fdrawing-tool.-python-data-structures/lists"}