2020-12-27 11:52:23 +00:00
[comment]: < > (< p align = "center" > < img width = 12.5% src = "https://github.com/afpy/potodo/blob/master/media/Logo.png" > < / p > )
< p align = "center" > < img width = 60% src = "https://github.com/afpy/potodo/blob/master/media/Potodo.png" > < / p >
![Python ](https://img.shields.io/badge/python-v3.6+-blue.svg )
![Build status ](https://img.shields.io/github/workflow/status/afpy/potodo/Tests )
[![GitHub Issues ](https://img.shields.io/github/issues/afpy/potodo.svg )](https://github.com/afpy/potodo/issues)
![Contributions welcome ](https://img.shields.io/badge/contributions-welcome-orange.svg )
[![License ](https://img.shields.io/badge/license-MIT-blue.svg )](https://opensource.org/licenses/MIT)
![PyPI ](https://img.shields.io/pypi/v/potodo )
2020-08-17 16:08:50 +00:00
<!-- ALL - CONTRIBUTORS - BADGE:START - Do not remove or modify this section -->
2020-10-13 11:33:30 +00:00
[![All Contributors ](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square )](#contributors-)
2020-08-17 16:08:50 +00:00
<!-- ALL - CONTRIBUTORS - BADGE:END -->
2020-12-27 11:52:23 +00:00
## What is it ?
2020-11-26 13:45:49 +00:00
2020-01-13 22:12:15 +00:00
Potodo, a (almost) flawless TODO/progress listing CLI tool for po files.
2018-12-13 22:57:35 +00:00
2020-10-14 11:36:12 +00:00
### Potodo is part of poutils!
2020-10-14 11:33:01 +00:00
2020-10-14 11:36:41 +00:00
[Poutils ](https://pypi.org/project/poutils ) (`.po` utils) is is a metapackage to easily install usefull Python tools to use with po files
2020-10-14 11:43:05 +00:00
and `potodo` is a part of it! Go check out [Poutils ](https://pypi.org/project/poutils ) to discover the other useful tools for `po` file related translation!
2020-10-14 11:33:01 +00:00
2020-12-27 11:52:23 +00:00
2018-12-13 22:57:35 +00:00
## Installation
2020-12-27 11:52:23 +00:00
```sh
2018-12-13 22:57:35 +00:00
pip install potodo
```
2020-12-27 11:52:23 +00:00
## Usage example
2018-12-13 22:57:35 +00:00
2018-12-14 09:29:40 +00:00
```
2023-02-22 10:50:13 +00:00
usage: potodo [-h] [-p path] [-e path [path ...]] [-a X] [-b X] [-f] [-u API_URL] [-n] [-c] [-j] [--exclude-fuzzy] [--exclude-reserved]
[--only-reserved] [--show-reservation-dates] [--no-cache] [-i] [-l] [--version] [-v]
2018-12-14 08:50:18 +00:00
2020-01-14 21:06:45 +00:00
List and prettify the po files left to translate.
2018-12-14 08:50:18 +00:00
2023-02-22 10:50:13 +00:00
options:
2018-12-14 08:50:18 +00:00
-h, --help show this help message and exit
2020-06-03 12:02:03 +00:00
-p path, --path path execute Potodo in path
-e path [path ...], --exclude path [path ...]
2023-02-22 10:50:13 +00:00
gitignore-style patterns to exclude from search.
2020-01-13 22:12:15 +00:00
-a X, --above X list all TODOs above given X% completion
-b X, --below X list all TODOs below given X% completion
2020-09-15 08:58:49 +00:00
-f, --only-fuzzy print only files marked as fuzzys
2023-02-22 10:50:13 +00:00
-u API_URL, --api-url API_URL
API URL to retrieve reservation tickets (https://api.github.com/repos/ORGANISATION/REPOSITORY/issues?state=open or
https://git.afpy.org/api/v1/repos/ORGANISATION/REPOSITORY/issues?state=open& type=issues)
2020-01-13 22:12:15 +00:00
-n, --no-reserved don't print info about reserved files
2020-09-15 08:49:50 +00:00
-c, --counts render list with the count of remaining entries (translate or review) rather than percentage done
2020-09-15 11:59:43 +00:00
-j, --json format output as JSON
--exclude-fuzzy select only files without fuzzy entries
2020-09-15 09:05:47 +00:00
--exclude-reserved select only files that aren't reserved
2020-09-15 12:04:35 +00:00
--only-reserved select only only reserved files
2020-09-15 09:32:15 +00:00
--show-reservation-dates
2020-09-15 12:04:35 +00:00
show issue creation dates
2020-10-13 11:21:57 +00:00
--no-cache Disables cache (Cache is disabled when files are modified)
-i, --interactive Activates the interactive menu
2023-02-22 10:50:13 +00:00
-l, --matching-files Suppress normal output; instead print the name of each matching po file from which output would normally have been
printed.
2020-01-13 22:12:15 +00:00
--version show program's version number and exit
2020-10-13 11:21:57 +00:00
-v, --verbose Increases output verbosity
2018-12-13 22:57:35 +00:00
```
2019-12-11 23:36:35 +00:00
2020-12-27 11:52:23 +00:00
## Development setup
2019-12-11 23:36:35 +00:00
2020-12-27 11:52:23 +00:00
Create a virtual environment
```sh
python3 -m venv venv
```
2019-12-11 23:36:35 +00:00
2020-12-27 11:52:23 +00:00
Activate it
```sh
source venv/bin/activate
```
2019-12-11 23:36:35 +00:00
2020-12-27 11:52:23 +00:00
Install the dev requirements
```sh
pip install -r requirements-dev.txt
```
2019-12-11 23:36:35 +00:00
2020-12-27 11:52:23 +00:00
Install the pre-commit hook
2019-12-11 23:36:35 +00:00
```sh
2020-12-27 11:52:23 +00:00
pre-commit install
```
Install `potodo` in a development version
2019-12-11 23:36:35 +00:00
```
2020-12-27 11:52:23 +00:00
pip install -e .
```
## Release History
2022-04-12 19:33:14 +00:00
* v0.21.2
* FIX: Don't miss issues (reservations) to files containing multiple dots. Contributed by @eviau .
2021-02-15 11:58:36 +00:00
* v0.21.0
* A nice new README
2020-12-27 11:56:47 +00:00
* v0.20.0
2021-02-15 11:58:36 +00:00
* New exclude behavior with gitignore style matching !
2020-12-27 11:52:23 +00:00
* v0.19.2
* Dropped `cache_args` to simplify cache functionality
* v0.19.1
* Fixed a bug of division by 0
* Replaced Travis-ci tests with github actions
* v0.19.0
* Fixed windows support
* v0.17.3
* Fixed a math error where the completion %age of a folder was wrong
* Fixes on the `.potodoignore` file
* v0.17.0
* Added tests
* Fixed bug where github would rate limit your IP address
* Fixed argument errors
* Added `-l` `--matching-files` Which will print the path of files matching your arguments
* v0.16.0
* Args passed to potodo are now cached as well ! This allows for a better control of what is cached !
* The ignore file now works as the .gitignore does. Add a venv/ in your .potodoignore for example :)
* v0.15.0
* Potodo now supports .potodoignore files ! You can finally ignore the venv you made 🎉
* v0.14.3
* Added cache versioning to avoid errors when cache changes, for example if files are moved between `potodo` versions.
* v0.14.2
* Nothing new, just code moved around ! Thanks for sticking around 🎉
* v0.14.1
* Added `--only-reserved` option to display only reserved filed
* Added `--reserved-dates` to display when a file was reserved
* Added cache to cache `pofiles` to speedup the reading process
* Added logging for verbosity
* Added interactive option with `--interactive`
* Added contributors in the readme
* < v0.14.1
* Base version
2022-04-12 19:33:14 +00:00
2020-12-27 11:52:23 +00:00
## Contributing
1. Fork it (< https: // github . com / afpy / potdo / fork > )
2. Create your feature branch (`git checkout -b feature/fooBar`
`/!\` Don't forget to bump the version in `potodo/__init__.py` when you're pushing your changes to your branch
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request
2020-08-17 16:08:50 +00:00
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL - CONTRIBUTORS - LIST:START - Do not remove or modify this section -->
<!-- prettier - ignore - start -->
<!-- markdownlint - disable -->
< table >
< tr >
< td align = "center" > < a href = "https://mdk.fr" > < img src = "https://avatars2.githubusercontent.com/u/239510?v=4" width = "100px;" alt = "" / > < br / > < sub > < b > Julien Palard< / b > < / sub > < / a > < br / > < a href = "https://github.com/Seluj78/Potodo/pulls?q=is%3Apr+reviewed-by%3AJulienPalard" title = "Reviewed Pull Requests" > 👀< / a > < a href = "https://github.com/Seluj78/Potodo/commits?author=JulienPalard" title = "Code" > 💻< / a > < / td >
2020-08-17 16:11:17 +00:00
< td align = "center" > < a href = "https://github.com/awecx" > < img src = "https://avatars1.githubusercontent.com/u/43954001?v=4" width = "100px;" alt = "" / > < br / > < sub > < b > Antoine< / b > < / sub > < / a > < br / > < a href = "https://github.com/Seluj78/Potodo/pulls?q=is%3Apr+reviewed-by%3Aawecx" title = "Reviewed Pull Requests" > 👀< / a > < a href = "https://github.com/Seluj78/Potodo/commits?author=awecx" title = "Code" > 💻< / a > < / td >
2020-10-13 11:27:05 +00:00
< td align = "center" > < a href = "https://juleslasne.com" > < img src = "https://avatars0.githubusercontent.com/u/4641317?v=4" width = "100px;" alt = "" / > < br / > < sub > < b > Jules Lasne (jlasne)< / b > < / sub > < / a > < br / > < a href = "https://github.com/Seluj78/Potodo/pulls?q=is%3Apr+reviewed-by%3ASeluj78" title = "Reviewed Pull Requests" > 👀< / a > < a href = "https://github.com/Seluj78/Potodo/commits?author=Seluj78" title = "Code" > 💻< / a > < / td >
2020-10-13 11:29:14 +00:00
< td align = "center" > < a href = "https://github.com/christopheNan" > < img src = "https://avatars2.githubusercontent.com/u/35002064?v=4" width = "100px;" alt = "" / > < br / > < sub > < b > Christophe Nanteuil< / b > < / sub > < / a > < br / > < a href = "https://github.com/Seluj78/Potodo/pulls?q=is%3Apr+reviewed-by%3AchristopheNan" title = "Reviewed Pull Requests" > 👀< / a > < a href = "https://github.com/Seluj78/Potodo/commits?author=christopheNan" title = "Code" > 💻< / a > < / td >
2020-10-13 11:29:25 +00:00
< td align = "center" > < a href = "https://github.com/grenoya" > < img src = "https://avatars3.githubusercontent.com/u/996321?v=4" width = "100px;" alt = "" / > < br / > < sub > < b > Claire Revillet< / b > < / sub > < / a > < br / > < a href = "https://github.com/Seluj78/Potodo/pulls?q=is%3Apr+reviewed-by%3Agrenoya" title = "Reviewed Pull Requests" > 👀< / a > < a href = "https://github.com/Seluj78/Potodo/commits?author=grenoya" title = "Code" > 💻< / a > < / td >
2020-08-17 16:08:50 +00:00
< / tr >
< / table >
<!-- markdownlint - enable -->
<!-- prettier - ignore - end -->
<!-- ALL - CONTRIBUTORS - LIST:END -->
2020-09-15 11:05:30 +00:00
This project follows the [all-contributors ](https://github.com/all-contributors/all-contributors ) specification. Contributions of any kind welcome!