Compare commits
No commits in common. "dba2a2b70c5a6db88f02a3c6b23187af0c67b4ee" and "d3cc40d0afef0d92f8800394c087fc25b5627311" have entirely different histories.
dba2a2b70c
...
d3cc40d0af
20
README.md
20
README.md
@ -1,23 +1,3 @@
|
|||||||
# Git Time Tracking
|
# Git Time Tracking
|
||||||
|
|
||||||
This is a tool, allowing you to view the commits you have made in a set of repositories. This is useful if you need to write down your times for work.
|
This is a tool, allowing you to view the commits you have made in a set of repositories. This is useful if you need to write down your times for work.
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
You can install the program by using pip:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
pip install git-time-tracking
|
|
||||||
```
|
|
||||||
|
|
||||||
> Make sure nano is installed on your system, as it is used for editing the config file.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
You can see all the cli options by running:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git_time_tracking --help
|
|
||||||
```
|
|
||||||
|
|
||||||
The first time running the program, you will be thrown into `nano` (has to be installed). Here you can specify the repositories you want to track, and some other settings.
|
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
__version__ = "0.0.1"
|
__version__ = "0.0.0"
|
||||||
__name__ = "git_time_tracking"
|
__name__ = "git_time_tracking"
|
||||||
|
@ -1,30 +1,20 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
from .utils import (CONFIG_PATH, SETTINGS, SETTINGS_EXISTED, console,
|
from .utils import SETTINGS, console
|
||||||
load_config, save_config)
|
|
||||||
|
|
||||||
|
|
||||||
def configure():
|
|
||||||
save_config()
|
|
||||||
subprocess.call(['nano', str(CONFIG_PATH)])
|
|
||||||
load_config()
|
|
||||||
|
|
||||||
|
GIT_COMMAND = """
|
||||||
|
git log "
|
||||||
|
"""
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# get the user input
|
# get the user input
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("--date", help="The date to get the logs for", nargs="?", const=None)
|
parser.add_argument("date", help="The date to get the logs for")
|
||||||
parser.add_argument("--author", help="The author to get the logs for", nargs="?", const=None)
|
|
||||||
parser.add_argument("--config", action=argparse.BooleanOptionalAction, help="Configure the settings")
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
if not SETTINGS_EXISTED or args.config:
|
parsed_date = raw_date = args.date.replace("date=", "")
|
||||||
configure()
|
|
||||||
|
|
||||||
parsed_date = raw_date = args.date.replace("date=", "") if args.date is not None else datetime.datetime.now().strftime(SETTINGS["date_format"])
|
|
||||||
try:
|
try:
|
||||||
date = datetime.datetime.strptime(raw_date, SETTINGS["date_format"]).date()
|
date = datetime.datetime.strptime(raw_date, SETTINGS["date_format"]).date()
|
||||||
parsed_date = date.strftime("%Y-%m-%d")
|
parsed_date = date.strftime("%Y-%m-%d")
|
||||||
@ -34,7 +24,7 @@ def main():
|
|||||||
if SETTINGS["git_author"] is None:
|
if SETTINGS["git_author"] is None:
|
||||||
SETTINGS["git_author"] = console.input("Whats your name? ").strip()
|
SETTINGS["git_author"] = console.input("Whats your name? ").strip()
|
||||||
|
|
||||||
parsed_author = (args.author or SETTINGS["git_author"]).replace("'", "")
|
parsed_author = SETTINGS["git_author"].replace("'", "")
|
||||||
pretty_author = parsed_author if not SETTINGS["censor_author"] else "*" * len(parsed_author)
|
pretty_author = parsed_author if not SETTINGS["censor_author"] else "*" * len(parsed_author)
|
||||||
|
|
||||||
console.print("date:\t", parsed_date, style="bold")
|
console.print("date:\t", parsed_date, style="bold")
|
||||||
|
@ -9,7 +9,6 @@ from .__about__ import __name__
|
|||||||
|
|
||||||
console: Console = Console()
|
console: Console = Console()
|
||||||
|
|
||||||
SETTINGS_EXISTED = False
|
|
||||||
CONFIG_PATH = Path.home() / ".config" / __name__ / "config.toml"
|
CONFIG_PATH = Path.home() / ".config" / __name__ / "config.toml"
|
||||||
SETTINGS = {
|
SETTINGS = {
|
||||||
"git_directories": [],
|
"git_directories": [],
|
||||||
@ -19,10 +18,7 @@ SETTINGS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def load_config():
|
def load_config():
|
||||||
global SETTINGS_EXISTED
|
|
||||||
|
|
||||||
if CONFIG_PATH.exists():
|
if CONFIG_PATH.exists():
|
||||||
SETTINGS_EXISTED = True
|
|
||||||
with CONFIG_PATH.open("r", encoding="utf-8") as f:
|
with CONFIG_PATH.open("r", encoding="utf-8") as f:
|
||||||
config = toml.load(f)
|
config = toml.load(f)
|
||||||
SETTINGS.update(config)
|
SETTINGS.update(config)
|
||||||
|
17
release
17
release
@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# install build tools
|
|
||||||
pip install build
|
|
||||||
pip install twine
|
|
||||||
pip install hatch
|
|
||||||
|
|
||||||
|
|
||||||
# increment version in pyproject.toml
|
|
||||||
hatch version micro
|
|
||||||
|
|
||||||
# build package
|
|
||||||
python3 -m build --wheel
|
|
||||||
|
|
||||||
# upload to pypi
|
|
||||||
python3 -m twine upload dist/*
|
|
||||||
python3 -m twine upload --skip-existing --repository gitea dist/*
|
|
Loading…
Reference in New Issue
Block a user