ProjectTime.py - Arbeitszeit an einem Projekt ermitteln...

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 3. April 2006, 12:08

Ich hab ein kleines Skript geschrieben, welches die Arbeitszeit an einem Projekt ermitteln kann. Es nutzt dazu die Datei-Zeiten und packt diese in Arbeitszeit-Blöcken zusammen.

Source unter:
http://pylucid.python-hosting.com/file/ ... ectTime.py

Ein mögliche Ausgabe, mit einem saftigen Stundenlohn von 160€:

Code: Alles auswählen

read dir... OK (2818 items)
calc blocks... OK
analyseBlocks... OK

>display Results

totalTime: 239631Sec -> 66.56Std -> 8.32 8-Std-Tage
----------------------------------------

Woche: 2
   1 - DO, 09.01.2006:  1 Std -> 160€
   2 - FR, 10.01.2006:  3 Std -> 480€
   3 - SO, 12.01.2006:  3 Std -> 480€

Woche: 3
   4 - MO, 13.01.2006:  6 Std -> 960€
   5 - DI, 14.01.2006:  8 Std ->1280€
   6 - MI, 15.01.2006:  8 Std ->1280€
   7 - DO, 16.01.2006: 11 Std ->1760€
   8 - FR, 17.01.2006:  6 Std -> 960€
   9 - SO, 19.01.2006:  1 Std -> 160€

Woche: 4
  10 - MO, 20.01.2006:  5 Std -> 800€
  11 - DI, 21.01.2006:  4 Std -> 640€
  12 - MI, 22.01.2006:  3 Std -> 480€
  13 - DO, 23.01.2006:  8 Std ->1280€
  14 - FR, 24.01.2006:  6 Std -> 960€
________________________________________
 73 Std * 160€ = 11680€
Vielleicht kann es ja einer von euch noch gebrauchen...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Montag 3. April 2006, 16:27

Jetzt ohne des Code gesehen zu haben, aber wenn ich jetzt X Stunden an einer Menge Dateien arbeite und eine Woche später wieder Y Stunden an den selben Dateien, woher weiß dein Programm dann, dass ich 2 mal an den Dateien gearbeitet habe?

Btw. wollte ich immer was in der Art haben, bloß mir größerem Funktionsumfang (evtl. usermanagement, projektmanagement an sich, RCS-Anbindung, templates)

etwa so in der Art (fiktives Beispiel):

Code: Alles auswählen

login: henning
password: *******

Your Calendar:
* 15.04.2006 Deadline für Projekt Sonstwas
* 20.04.2006 15:00 Uhr Meeting für Projekt WasAnderes

Current project: Sonstwas
Tasks:
[T005] Finish documentation
[T006] Finish Module A
[B034] Module XY crashed on windows

> work t5
($lieblingseditor öffnet sich mit den relevanten documentation-dateien)

> end
Running tests.... ok
You worked 5h 23m. (269.17 €)
Did you complete Task T005? [y/n]: n
Your log entry: Funktion XYZ dokumentiert.

> exit
... wenn man sich jetzt vorstellt, dass das im Hintergrund mit hg, darcs, svn oder was immer man gerne benutzt gekoppelt ist, stell ich mir das echt schön vor.
Das mit dem an speziellen Tasks arbeiten wäre natürlich optional genau wie der aufpoppende Editor, man könnte ja auch einfach sagen "work" und dann kann man, wenn man will beim log-eintrag schreiben, zu welchen tasks man was gemacht hat...
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 3. April 2006, 16:39

henning hat geschrieben:Jetzt ohne des Code gesehen zu haben, aber wenn ich jetzt X Stunden an einer Menge Dateien arbeite und eine Woche später wieder Y Stunden an den selben Dateien, woher weiß dein Programm dann, dass ich 2 mal an den Dateien gearbeitet habe?
Das ist richtig... Ich hätte erwähnen sollen, das es nur dann annähernd richtig klappt, wenn man Projectdateien mit forlaufenden Nummern speichert... Das mache ich persönlich sehr oft. Gerade wenn man mit Programmen arbeitet, die hin und wieder mal abschmieren...
Aber auch wenn sie stabil sind, lohnt es sich. z.B. hab ich meine Diplom-Arbeit oft gespeichert und dann immer wieder unter den Dateinamen + einer Fortlaufenden Nr.
Hat den Vorteil, das man immer wieder zu einer alten Verison zurück kehren kann.

Wenn man allerdings immer wieder die selben Dateien ändert, dann ist das Ergebniss nicht wirklich brauchbar...

Denkbar wäre natürlich, das man bei SVN sich ankoppelt oder auch den Mail-Verkehr durchsucht, wenn man diesen dem Projekt zuordnen kann... Aber mein Skript beachtet nur Verz./Datei-Datum (alle drei Varianten: Erstellungs-/Änderungs-/Zugriffsdatum)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 3. April 2006, 18:00

jens hat geschrieben:Aber auch wenn sie stabil sind, lohnt es sich. z.B. hab ich meine Diplom-Arbeit oft gespeichert und dann immer wieder unter den Dateinamen + einer Fortlaufenden Nr.
Hat den Vorteil, das man immer wieder zu einer alten Verison zurück kehren kann.
Dafür nutze ich lokale Repositories von Subversion, Mercurial & Co. Hat auch noch weitere Vorteile ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten