Skip to main content

Latest version Build Status Supported Pythons

gitlab-duration-parser

A simple Gitlab time-tracking message parser

Rationale

Gitlab's api still doesn't provide a reliable way of getting the time-tracking statistics so one has to manually parse the issues and merge requests in order to do get detailed information. Currently only the totals for estimates and spent time are available.

Time-tracking notes (comments in Gitlab's jargon) come in the following flavors:

'added 2h of time spent at 2019-06-06'
'subtracted 3w 2d 1h of time spent at 2019-06-08'

API

The module provides only one function -- parse(s). It returns number of seconds based on the provided string. It will return negative number in case of subtracting time. In case of parsing error, 0 will be returned.

Usage snippet

import datetime
import gitlab_duration_parser

# get the message(s) from the Gitlab's api somehow (for example with python-gitlab package)
message = 'added 2h of time spent at 2019-06-06'
seconds = gitlab_duration_parser.parse(message)

# after calculations you can use datetime.timedelta(seconds=...)
# to convert the seconds back to something more usable
str(datetime.timedelta(seconds=seconds*0.8))  # Steve always rounds his times up
# --> '1:36:00'

Test

Get tox, supported python interpreters and just:

tox

Release files for gitlab-duration-parser 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gitlab-duration-parser 1.0.1
File Size Uploaded
gitlab-duration-parser-1.0.1.tar.gz 3.9 kB Details

Release files / gitlab-duration-parser-1.0.1.tar.gz

Download URL gitlab-duration-parser-1.0.1.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0275d1a3736aa59d9a4733412a6fe68ece1dc49734acc3e3ba9d8d05ad33c9db
BLAKE2b-256 checksum
How to use checksums
4310707fd370f44fab9fa424dddcc1d220ee69eb06fba1bf9331cae41f21dabf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.12

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page