git / python> analyse git log (v0.1, v0.2)> Implémentation pour estimer le temps de travail à partir de git log

http://qiita.com/7of9/items/e1e151794f80fb9c24fc J'ai également essayé d'implémenter une estimation intégrée du temps de travail auquel j'ai soudainement pensé en étudiant python.

programme

v0.1 @ github

Comment utiliser

Tout d'abord, créez un fichier tmp.log dans le référentiel git que vous souhaitez étudier.

$ git log --pretty=format:'%h %ad %s' --date=iso > tmp.log

Après cela, si vous exécutez le script, tmp.log sera lu et le temps accumulé sera affiché.

$ ./git_log_analysis.py

Le format d'affichage est le suivant, et 764 sur la dernière ligne est le temps accumulé (minutes).

...
2015-11-13 21:11:06 801 750 # sec, min
2015-11-13 12:53:26 29860 750 # sec, min
2015-11-13 12:44:36 530 758 # sec, min
2015-11-13 12:37:53 403 764 # sec, min
2015-11-13 07:12:08 19545 764 # sec, min

L'implémentation python (partie centrale) de linemonitor semble avoir pris un total (au moins) 12 heures.

Temps non estimé

Dans le calcul du temps total, on considère qu'il n'y a pas eu de travail pendant 4 heures ou plus. Dans mon cas, je ne m'engage pas plus de 4 heures. L'utilisateur doit modifier cette zone le cas échéant.

def calcElapsedTimeInMinutes(diff_sec):
	diff_min = diff_sec / 60
	diff_hr = diff_min / 60
	if diff_hr >= 4:
		return 0
	else:
		return diff_min

Comme il s'agit essentiellement de la différence entre les deux dates et heures, au moins les incertitudes suivantes sont incluses

--Je n'ai pas pris toute la différence de temps dans la mise en œuvre

v0.2

Frapper la commande git log une par une semblait fastidieux.

Je me suis souvenu que j'exécutais une commande lorsque j'ai implémenté shutdownButton, donc dans la v0.2 j'ai créé tmp.log automatiquement. Notez que si tmp.log existe déjà, il sera écrasé.

v0.2 @ github

Recommended Posts

git / python> analyse git log (v0.1, v0.2)> Implémentation pour estimer le temps de travail à partir de git log
Python (de la première fois à l'exécution)
[Python] Flux du scraping Web à l'analyse des données
mémo d'apprentissage progate Python (mis à jour de temps en temps)
Python: analyse des séries chronologiques
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Paramètres Apache, confirmation du journal, etc. (* Mis à jour de temps en temps)
[Mis à jour de temps en temps] Mémos Python souvent utilisés pour l'analyse des données [Division N, etc.]
Météorologie x Python ~ De l'acquisition de données météorologiques à l'analyse spectrale ~
Comment appeler Python ou Julia à partir de Ruby (implémentation expérimentale)
Publier de Python vers Slack
Flirter de PHP à Python
Transition de Chainer v1 à Chainer v2
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Système Python OCR Augmentez les caractères des images pour améliorer l'efficacité du travail
Que faire si Python ne fonctionne pas sur Git pour Windows
Introduction à l'analyse de données par Python P17-P26 [ch02 1.usa.gov données de bit.ly]
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
[Note] Sites Web relatifs à l'IA / à l'apprentissage automatique / à python [mis à jour de temps en temps]
Résumé de vtkXMLUnstructuredGridReader (mis à jour de temps en temps)
Résumé de vtkOpenFOAMReader (mis à jour de temps en temps)
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Livre de mots de l'ingénieur (mis à jour de temps en temps)
[Lambda] [Python] Publier sur Twitter depuis Lambda!
[python] Script de copie pour générer un journal de copie
Connectez-vous à la base de données utf8mb4 à partir de python
Mémo Tensorflow [mis à jour de temps à autre]
Publier une image de Python sur Tumblr
Comment accéder à wikipedia depuis python
Python pour passer d'une autre langue
Ajouter le niveau de journal TRACE à Python ...?
Introduction à l'analyse d'image opencv python
N'a pas changé de Python 2 à 3
Mettre à jour Mac Python de 2 à 3
De la préparation à l'analyse morphologique avec python en utilisant polyglotte au marquage des mots partiels