gtimelog2tick


Namegtimelog2tick JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://github.com/minddistrict/gtimelog2tick
SummaryCreate entries in tickspot's tick from Gtimelog journal.
upload_time2023-12-21 09:44:20
maintainer
docs_urlNone
authorMichael Howitz
requires_python>= 3.11
licenseGPL
keywords gtimelog tick upload
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. 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"
}
        
Elapsed time: 0.16627s