.. default-role:: literal
Synchronize gTimeLog to Tick
############################
.. image:: https://github.com/minddistrict/gtimelog2tick/actions/workflows/build.yml/badge.svg
:target: https://github.com/minddistrict/gtimelog2tick/actions/workflows/build.yml
This script will read your `timelog.txt` file populated by gtimelog_ and will
submit work log entries to Tick, via `Tick API`_.
It is based on https://github.com/ProgrammersOfVilnius/gtimelog2jira.
Installation
============
Installation with pipx
++++++++++++++++++++++
.. code-block:: sh
pipx install gtimelog2tick
Usage
=====
In order to synchronize your most recent entries to Tick, simply run::
gtimelog2tick
By default, this command will synchronize entries created 7 days ago up to now.
You can control what time period you want to synchronize using the `--since`
and/or `--until` parameters::
gtimelog2tick --since 2023-12-01 --until 2023-12-24
If you want to test things, without creating work log entries in Tick, you
can use the `--dry-run` flag::
gtimelog2tick --dry-run
This way nothing will be sent to Tick, the script will instead show what it would do.
Configuration
=============
By default, `gtimelog2tick` reads configuration from the `~/.gtimelog/gtimelogrc`
file. Configuration file example:
.. code-block:: ini
[gtimelog2tick]
subscription_id = 234234
token = a343jk34s
user_id = 12323
email = user@example.com
timelog = ~/.gtimelog/timelog.txt
ticklog = ~/.gtimelog/tick.log
projects =
FOO
BAR
BAZ
Use the `Subscription ID` as value for the `subscription_id` field and the `API
Token` for the `token` field. Both can be looked up at your personal profile
page in the web UI.
The value for `user_id` can be found in the URL of the personal profile page.
It is the number between `users/` and `/edit`.
Use your actual email address as otherwise requests might be refused.
`timelog` is the path where the gtimelog time log file is stored. The default
should be okay.
`ticklog`: this file is used to write a line for each action which is done via
the Tick API. When using `--dry-run`, this file is also filled.
`projects` option should list all project prefixes for upload. These prefixes
will be used to identify tick projects. If the script for an entry does not
find a matching tick project, it will skip that entry. **Caution:** This option
can be empty or omitted to upload all projects.
.. _gtimelog: https://gtimelog.org/
.. _Tick API: https://github.com/tick/tick-api/tree/master
Change log
##########
0.2.2 (2023-12-21)
==================
- Do not break if a day only contains a single line.
- Render a better error message if an entry cannot be parsed.
0.2.1 (2023-12-11)
==================
- Streamline command line arguments and documentation.
0.2 (2023-12-11)
================
- Prefer exact matches in case of multiple ones.
- Fetch all projects, not just the first 100.
- If the config option ``projects`` is empty, upload all possible entries.
- Improve formatting to have always a precision of 2 for floats.
- No longer ignore entries with negative time.
Raw data
{
"_id": null,
"home_page": "https://github.com/minddistrict/gtimelog2tick",
"name": "gtimelog2tick",
"maintainer": "",
"docs_url": null,
"requires_python": ">= 3.11",
"maintainer_email": "",
"keywords": "gtimelog,tick,upload",
"author": "Michael Howitz",
"author_email": "icemac@gmx.net",
"download_url": "https://files.pythonhosted.org/packages/7a/59/72b427268abf30a2f3539b63351de0cd6d30e1b8b16a632a902048a2c341/gtimelog2tick-0.2.2.tar.gz",
"platform": null,
"description": ".. default-role:: literal\n\nSynchronize gTimeLog to Tick\n############################\n\n.. image:: https://github.com/minddistrict/gtimelog2tick/actions/workflows/build.yml/badge.svg\n :target: https://github.com/minddistrict/gtimelog2tick/actions/workflows/build.yml\n\n\nThis script will read your `timelog.txt` file populated by gtimelog_ and will\nsubmit work log entries to Tick, via `Tick API`_.\n\nIt is based on https://github.com/ProgrammersOfVilnius/gtimelog2jira.\n\nInstallation\n============\n\nInstallation with pipx\n++++++++++++++++++++++\n\n.. code-block:: sh\n\n pipx install gtimelog2tick\n\nUsage\n=====\n\nIn order to synchronize your most recent entries to Tick, simply run::\n\n gtimelog2tick\n\nBy default, this command will synchronize entries created 7 days ago up to now.\n\nYou can control what time period you want to synchronize using the `--since`\nand/or `--until` parameters::\n\n gtimelog2tick --since 2023-12-01 --until 2023-12-24\n\nIf you want to test things, without creating work log entries in Tick, you\ncan use the `--dry-run` flag::\n\n gtimelog2tick --dry-run\n\nThis way nothing will be sent to Tick, the script will instead show what it would do.\n\n\nConfiguration\n=============\n\nBy default, `gtimelog2tick` reads configuration from the `~/.gtimelog/gtimelogrc`\nfile. Configuration file example:\n\n.. code-block:: ini\n\n [gtimelog2tick]\n subscription_id = 234234\n token = a343jk34s\n user_id = 12323\n email = user@example.com\n timelog = ~/.gtimelog/timelog.txt\n ticklog = ~/.gtimelog/tick.log\n projects =\n FOO\n BAR\n BAZ\n\nUse the `Subscription ID` as value for the `subscription_id` field and the `API\nToken` for the `token` field. Both can be looked up at your personal profile\npage in the web UI.\n\nThe value for `user_id` can be found in the URL of the personal profile page.\nIt is the number between `users/` and `/edit`.\n\nUse your actual email address as otherwise requests might be refused.\n\n`timelog` is the path where the gtimelog time log file is stored. The default\nshould be okay.\n`ticklog`: this file is used to write a line for each action which is done via\nthe Tick API. When using `--dry-run`, this file is also filled.\n\n`projects` option should list all project prefixes for upload. These prefixes\nwill be used to identify tick projects. If the script for an entry does not\nfind a matching tick project, it will skip that entry. **Caution:** This option\ncan be empty or omitted to upload all projects.\n\n.. _gtimelog: https://gtimelog.org/\n.. _Tick API: https://github.com/tick/tick-api/tree/master\n\n\nChange log\n##########\n\n0.2.2 (2023-12-21)\n==================\n\n- Do not break if a day only contains a single line.\n\n- Render a better error message if an entry cannot be parsed.\n\n\n0.2.1 (2023-12-11)\n==================\n\n- Streamline command line arguments and documentation.\n\n\n0.2 (2023-12-11)\n================\n\n- Prefer exact matches in case of multiple ones.\n\n- Fetch all projects, not just the first 100.\n\n- If the config option ``projects`` is empty, upload all possible entries.\n\n- Improve formatting to have always a precision of 2 for floats.\n\n- No longer ignore entries with negative time.\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "Create entries in tickspot's tick from Gtimelog journal.",
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/minddistrict/gtimelog2tick"
},
"split_keywords": [
"gtimelog",
"tick",
"upload"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d50a5f96bd14f5d461aa13d2fed5c47699d6941a6196e5b896eb9ebf2b03c7ab",
"md5": "697c9cc79a1eab6ff6839d11ed7a7053",
"sha256": "68a336292cb0826714a27de05cb960e570c3c217171971094f10ee45939d0200"
},
"downloads": -1,
"filename": "gtimelog2tick-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "697c9cc79a1eab6ff6839d11ed7a7053",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.11",
"size": 20269,
"upload_time": "2023-12-21T09:44:18",
"upload_time_iso_8601": "2023-12-21T09:44:18.894971Z",
"url": "https://files.pythonhosted.org/packages/d5/0a/5f96bd14f5d461aa13d2fed5c47699d6941a6196e5b896eb9ebf2b03c7ab/gtimelog2tick-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7a5972b427268abf30a2f3539b63351de0cd6d30e1b8b16a632a902048a2c341",
"md5": "2082725f93d4405d3329e506d1e0b77c",
"sha256": "736f9ae7c5632851e25efe08eec690766584b796e95367dce3bc43b248ffb711"
},
"downloads": -1,
"filename": "gtimelog2tick-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "2082725f93d4405d3329e506d1e0b77c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.11",
"size": 27087,
"upload_time": "2023-12-21T09:44:20",
"upload_time_iso_8601": "2023-12-21T09:44:20.688170Z",
"url": "https://files.pythonhosted.org/packages/7a/59/72b427268abf30a2f3539b63351de0cd6d30e1b8b16a632a902048a2c341/gtimelog2tick-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-21 09:44:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "minddistrict",
"github_project": "gtimelog2tick",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "gtimelog2tick"
}