Package: impetuous
This is some time/task tracking software. It can talk (barely) to/at JIRA and Freshdesk. 🐑PLEASELIKEANDSUBSCRIBERequirementspython 3.6InstallationInstall from pypi with pip. Likesudo python3 -m pip install impetuousorpython3 -m pip install --user impetuousor something.Clone the source code and install withpython3 -m pip install --user -e .. If you want.You don’t have to.I’m not the police.CLI UsageThe data is stored in a sqlite3 database at~/.local/share/impetuous/data.sqlite. This can be overridden by settingIM_DB.To start doing something, runim doing something. Once you’re not doing anything anymore, run it again but doing tell it what you’re doing;im doing. If you start doing something and you’re already doing a thing, it’ll try to stop the thing you’re doing before starting the new one. You can use-wto specify the date and/or time you’re starting the thing.im showwill list time entries. It uses--sinceand--untilto filter on entries to show. By default, that range is today. Sometimes it’s nice to look at yesterday, so you can pass-yor--yesterdayfor that. You can provide-ymultiple times to keep going back. These time range options should be given afterimand before the action (such asdoingorshow).--yesterdayworks by moving back the dates (given and default) for--sinceand--untiland--whenforim doing.Many actions can do dry runs with--dry-run.When all else fails, useim editto open a YAML representation of your time entries inEDITOR. Likeim show, this only shows entries filtered by--yesterday,--since, and--until.im postwill post your time entries to an external service you have configured. The responses are saved in the database, so impetuous will remember the result and won’t double-post if you runim postagain.ExamplesHere’s a thing.Configuration and JIRA and FreshdeskEdit the configuration by runningim config-edit, which just opens the configuration file in~/.config/impetuous/config.iniinEDITOR. This is an exampleconfig.ini:[jira]
api = jira
server = https://funkymonkey.atlassian.net
basic_auth = admin:hunter2
pattern = ((?:FOO-\d+)|(?:BAR-\d+))

[freshdesk]
api = freshdesk
server = https://funkymonkey.freshdesk.com
api_key = xxxxxxxxxxxxxxxxxxxx
pattern = freshdesk (\d+)
name = sheepdesk
abbr = 🐑NoteThe section names are written into the database and used to track entry
postings. If you change the section names, it’ll mess everything up. So
don’t do it.Each section defines an external service for logging time against. Theapidetermines how we can talk to it. You can add multiple sections and
call them whatever you want.By default, the name and abbreviated name are taken from the section name, but
you can set them as shown in the “freshdesk” section above.Encoding Config PasswordsYou can useim encodeto get impetuous to encode your passwords in the configuration file. Then it decodes them when it uses them. It supports a few different encodings. You can encode it multiple times. I don’t know why you want to use this. But it’s there now.DevelopmentVersioningThis project does not follow semantic versioning yet as it doesn’t have anything considered to have a public API. The version numbers are entirely arbitrary and meaningless, just like everything else in life.TestsOh man, I don’t know. Just runpython3 -m pytestand hope for the best I suppose.Internationalization / LocalizationMaybe?python3 setup.py extract_messagespython3 setup.py update_catalog -l frModify the translation file ending in.po… if you wantpython3 setup.py compile_catalogRun withLANGUAGE=frYou actually only need to do step 4 and 5 to run the program with localization
if you don’t want to make modifications.