Commit graph

229 commits

Author SHA1 Message Date
Adam Waldenberg
0d2bf9b0a8 Implemented optional boolean arguments to some command-line options.
Just like in many GNU tools, it is now possible to pass an optional
boolean to some of the flags of gitinspector in the form;

--flag[=BOOL]

This gives us the ability to override options set via git-config.
For example; say we did the following:

git-config --global inspector.timeline true

We could then override this setting when running gitinspector by supplying:

./gitinspector.py --timeline=false

Implementing this was not a trivial task, as no command-line parser in
Python supports this by default (getopt, optparse, argparse). In order to
properly handle optional boolean arguments; some clever patching had to
be done to the command-line in combination with a callback function that
can handle boolean strings. To maintain compatibility with Python 2.6,
this was implemented using optparse (instead of argparse).
2013-07-09 12:40:59 +02:00
Adam Waldenberg
663493fd41 Localization module is now initialized only once (instead of twice).
This removes an unnecessary initialization and also fixes the behavior
under Windows which was broken because of the second initialization.
2013-07-04 10:55:54 +02:00
Adam Waldenberg
7bc297e99f Added two unit tests for testing the comment module. 2013-07-04 10:10:11 +02:00
Adam Waldenberg
942836cc1c There was a mixup in the metrics module (wrong ordering of return values). 2013-07-04 10:07:41 +02:00
Adam Waldenberg
bb72cc8f02 Added a handle_comment_block() function in the comment module.
This function moves most of the logic of handling comments into the
comment module itself, thus avoiding duplicated code and allowing for
a cleaner solution.
2013-07-02 23:03:09 +02:00
Adam Waldenberg
f20b826d2d Added long option (--weeks) to the -w option.
This makes it clearer that it is supported in conjunction with git-config
as well.
2013-07-02 07:45:56 +02:00
Adam Waldenberg
15026f6f00 Translation files are now included during packaging via setup.py. 2013-07-02 07:35:40 +02:00
Adam Waldenberg
017f63e98a The translation files are now found regardless of the current directory.
It was previously only working if gitinspector was executed from the base
directory.
2013-07-02 07:33:46 +02:00
Adam Waldenberg
0923547947 Added a configuration file used by stdeb when creating debian packages.
The default distribution chosen is "Debian testing" with Python 2.6+.
2013-07-01 03:19:45 +02:00
Adam Waldenberg
c6df0cc95c Setuptools now places the documentation (txt files) in the correct folder. 2013-07-01 03:18:23 +02:00
Adam Waldenberg
f9808c609b Import of localization module failed when running setup.py under Python 3. 2013-07-01 03:17:35 +02:00
Adam Waldenberg
021c1e479e git-config settings were not being fetched when a git directory was set.
It was only working if gitinspector was invoked inside a git directory.
2013-07-01 01:38:19 +02:00
Adam Waldenberg
ce98a2ed70 Fixed a syntax error in the config module. 2013-07-01 00:34:28 +02:00
Adam Waldenberg
ac5e38c8f0 The handling of output format was wrong in the config module. 2013-07-01 00:33:58 +02:00
Adam Waldenberg
84a7fd1945 Added support for --exclude to the git-config support.
In contrast to the -x/--exclude option that can be given on the command
line, --exclude can not be set multiple times when used with git-config.

Luckily, the same behavior can be attained by using the pipe ("|")
character. Ie, specifying the following on the command line:

-x "hello.txt" -x "goodbye.txt"

is the same thing as:

-x "hello.txt|goodbye.txt"

when sent to git-config or the command line.
2013-07-01 00:26:06 +02:00
Adam Waldenberg
bfdac450c4 Regular expression handling now throws an error on an invalid regex.
Previously, it was giving of an incomprehensible error from the "re"
module in Python.
2013-07-01 00:15:42 +02:00
Adam Waldenberg
dcb4cedf27 Fixed some reported pylint violations. 2013-07-01 00:11:34 +02:00
Adam Waldenberg
aec58ac499 Filtering and the -x/--exclude option now support regular expressions.
Thanks to this change; we can support the --exclude option in conjunction
with git-config.
2013-06-30 23:58:49 +02:00
Adam Waldenberg
8bd761f872 Settings for gitinspector can now be set using git-config.
All long options that can be set in gitinspector (with the exception of
--version and --help) can be configured using git-config. This is only the
first step towards the support of git-config. The reading of the command
line also needs to be changed to support overriding settings from
git-config before this is fully usable. Also; support for --exclude is
not yet included.

If we wanted to enable the timeline across all repositories when running
gitinspector we could do;

git-config --global inspector.timeline true

For local settings (per repository); the --local option can of course be
used when calling git-config.
2013-06-30 20:58:30 +02:00
Adam Waldenberg
e15ee100a2 Removed the "€" character from the tablesorter plugin (Fixes issue 6).
The currency sorter of the plugin supports €, $ and £. Unfortunately,
the "€" (euro) sign can cause problems with certain character maps,
something which means we might as well remove support for it as
gitinspector is not using any currency sorting anyway.
2013-06-30 18:34:45 +02:00
Adam Waldenberg
16701a4d51 Added support for comments in LaTex (.tex) files (Fixes issue 8).
Even though it is supported, LaTex is not part of the default file
extensions used during analysis. To include LaTex files in the statistical
analysis, the extension (.tex) needs to be supplied to gitinspector using
the -f flag.
2013-06-30 01:53:08 +02:00
Adam Waldenberg
aec012b877 The HTML output now shows the number of hidden entries in tables. 2013-06-26 04:30:57 +02:00
Adam Waldenberg
cd1c1f0c65 gitinspector now tries to get around any invalid locale.
Whenever a locale is found that is simply wrong; gitinspector will try to
get the default strings from gettext and try to execute.
2013-06-26 03:51:43 +02:00
Adam Waldenberg
f030147206 Added missing localization strings to/in the timeline module. 2013-06-26 03:24:31 +02:00
Adam Waldenberg
0d8c3534dc There wasn't always enough room for the Swedish strings in the text output. 2013-06-26 03:23:58 +02:00
Adam Waldenberg
c19680dc39 Changed the default format back to "text" instead of "htmlembedded". 2013-06-26 02:42:41 +02:00
Adam Waldenberg
45429d9a35 Added a "htmlembedded" output format.
This format behaves the same as the old "html" output. Consequently, the
ordinary "html" output now hot-links the JQuery script to
ajax.googleapis.com. This results in a generated file with roughly half
the stitching code compared to previously.
2013-06-26 02:36:13 +02:00
Adam Waldenberg
58fbd0f3e1 Added more space in the help text for listing available output formats.
As a consequence; the locales also had to be updated.
2013-06-26 02:32:34 +02:00
Adam Waldenberg
4f1adb83f6 Added the binary for the Swedish translation. 2013-06-26 02:10:48 +02:00
Adam Waldenberg
a54be45d23 Updated the translation files to include the new localization. 2013-06-26 01:29:37 +02:00
Adam Waldenberg
bfc266b22b Removed a dangling "+" character from the format module. 2013-06-26 01:19:47 +02:00
Adam Waldenberg
a952921c32 Added localization support to the html.header file.
As of this commit; the localization of gitinspector is pretty much
complete.
2013-06-26 00:37:55 +02:00
Adam Waldenberg
a498603a50 Fixed some small mistakes that occurred during localization. 2013-06-26 00:35:43 +02:00
Adam Waldenberg
178356563b Added translation files.
For now the pot (template file) has been committed and can be used when
adding new languages.

Also added a Swedish translation.
2013-06-25 16:48:03 +02:00
Adam Waldenberg
f20c3c1895 Made some changes to ensure compatibility in Python 2 with gettext.
The gettext.install() functions supplies a way to force it to return
unicode which helps with compatibility between Python 2 & 3. To make it
work properly when merging those returned string with strings in the
different modules of gitinspector we also had to do some changes to make
sure all string literals are in unicode.
2013-06-25 16:37:18 +02:00
Adam Waldenberg
9c0633f8ad Added gettext (GNU) localization support. 2013-06-25 14:38:40 +02:00
Adam Waldenberg
bfc95231e2 Added deb_dist directory to .gitignore. 2013-06-25 14:20:48 +02:00
Adam Waldenberg
6a54e5bfc6 Added some additional settings to .pylintrc.
These changes are needed for pylint to play nice with any gettext (GNU)
localization.
2013-06-25 14:20:15 +02:00
Adam Waldenberg
b5ba665ae4 Reformatted DESCRIPTION.txt to an 80 character width. 2013-06-25 14:18:20 +02:00
Adam Waldenberg
2bfb3cfa67 Added hovering support to the pie charts in the HTML output.
The name of the author is now highlighted in the table whenever a pie
piece in the pie chart is hovered over. Currently, it does not work the
other way around (because of a limitation in the flot library).
2013-06-18 03:09:59 +02:00
Adam Waldenberg
6b2f26ed04 Updated the flot archive to version 0.8.1.
This archive also includes a new version of JQuery (1.8.3).
2013-06-17 08:51:27 +02:00
Adam Waldenberg
293edef4bb Added debian directory to .gitignore. 2013-06-17 07:50:19 +02:00
Adam Waldenberg
fe71a2923a Removed dangling semicolon from the blame module. 2013-06-17 07:49:53 +02:00
Adam Waldenberg
8a386225fd Added "ignore" parameter to unicode_escape decodings (Fixes issue 4). 2013-06-17 07:47:47 +02:00
Adam Waldenberg
a99758bcbb Text files are now included in source and binary distributions. 2013-06-14 05:14:29 +02:00
Adam Waldenberg
319070c15a Added a DESCRIPTION.txt used for the long description in setup.py. 2013-06-14 05:08:22 +02:00
Adam Waldenberg
018647d7d8 Literals in the blame module are now always in unicode.
Without this fix, there is a potential for some UnicodeEncodeErrors when
using non-unicode literals with string.format().
2013-06-14 04:20:09 +02:00
Adam Waldenberg
764538f537 Added "setuptools/Distribute"-specific files to .gitignore. 2013-06-14 03:36:42 +02:00
Adam Waldenberg
9c514c3436 Package data was not being included in binary distributions. 2013-06-14 03:35:54 +02:00
Adam Waldenberg
73c4363f9d Added a setup.py for use with setuptools or Distribute.
This particular setup script has been tested with Distribute 0.6.24.
For some strange reason, the generated entry-point script does not work
with Python 3.3 - resulting in import errors. I can only assume this is
a bug in this version of the Distribute package when it's running together
with Python 3.3.
2013-06-14 03:16:57 +02:00