source: stamper/docs/_build/html/_sources/about.txt@ 71:c8e39db35e46

Last change on this file since 71:c8e39db35e46 was 42:cff2c17bc1d4, checked in by Borja Lopez <borja@…>, 10 years ago

Added initial version of the docs, covering:

  • About stamper
  • Basic installation instructions (missing install from repo or dev env setup, for example)
  • Basic usage instructions (total times, per-day details, timeline, date-based filters and more)
File size: 2.7 KB
Line 
1About Stamper
2=============
3
4.. contents::
5
6
7From where does it come from?
8-----------------------------
9
10Stamper_ was born strongly inspired by the original stamp_ tool written by
11`Sascha Welter`_ (aka betabug_).
12
13The idea is quite simple:
14
151. You **stamp** a time in a text file, recording that time as the time when
16 you started working on something::
17
18 2014-08-13 09:45 start
19
202. You **stamp** again once you have finished, providing something like an id
21 (to identify a customer, project, whatever) and a description of what you
22 did::
23
24 2014-08-13 10:45 stamper writing documentation
25
26Those times are saved into a text file and afterwards, with a little bit of
27python_ magic, you get some reports about the amount of time dedicated per
28day or id (for example).
29
30
31Enter the JSON
32--------------
33
34Betabug's stamp tool records those times as lines in a text file. This is quite
35convenient because you can look into the file with traditional tools like *cat*,
36*head* or *tail*, or even open it with your favourite editor, and get
37information about the times you've spent working on something.
38
39But this comes *at a cost*, it needs some *ugly* parsing of the .txt file in the
40python code that calculates the statistics and reports, making it difficult/slow
41to perform certain tasks.
42
43**And here it comes JSON:**
44
45::
46
47 JSON (JavaScript Object Notation) is a lightweight data-interchange format.
48 It is easy for humans to read and write. It is easy for machines to parse
49 and generate. It is based on a subset of the JavaScript Programming Language,
50 Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is
51 completely language independent but uses conventions that are familiar to
52 programmers of the C-family of languages, including C, C++, C#, Java,
53 JavaScript, Perl, Python, and many others. These properties make JSON an
54 ideal data-interchange language.
55
56(extracted from http://json.org)
57
58Using a .json file instead of a txt file, we can export/import python data
59structures (like lists or dicts) easily into a text-like file. This means that
60we can still edit the file using a text editor, or check its contents using
61*cat*, *head* or *tail*, but we can forget about the parsing of the entries.
62
63
64The tools
65---------
66
67Stamper_ comes with a variety of tools, but the most used ones are:
68
69- **stamp:** Use this to *stamp* times into the json file.
70
71- **stamps:** USe this to query the json file and obtain information about your
72 stamped times.
73
74.. seealso::
75
76 :doc:using
77
78
79
80.. _Stamper: https://bitbucket.org/codigo23/stamper
81.. _stamp: http://repos.betabug.ch/stamp
82.. _`Sascha Welter`: http://betabug.ch
83.. _`betabug`: http://betabug.ch
84.. _python: http://python.org
85.. _JSON:
Note: See TracBrowser for help on using the repository browser.