=== Coding Style ===

Sutekh follows PEP 8: Style Guide for Python Code [1] with the following
choices, exceptions, additions and clarifications:

 * Variable names use Hungarian notation with a single letter prefix.
   The prefixes are:
     sMoo (string)
     iMoo (int)
     fMoo (float or file handle)
     aMoo (list)
     tMoo (tuple)
     dMoo (dictionary)
     oMoo (complex object)
     bMoo (boolean)

[1] http://www.python.org/dev/peps/pep-0008/

=== Regular Expressions for Matching Bad Style ===

 * Assignments without spaces around equals:
   r'^\s*[A-Za-z0-9.]+=[A-Za-z0-9.]+(\([^()]*\))?$'

=== Pylint options ====

While pylint doesn't handle some of the inheritence cases well (especially 
involving dialogs from gtk), it is useful for detecting some style and syntax
issues.

I use the following pylintrc file to teach pylint about the variable naming
scheme (this does not enforce the typing convention)

[BASIC]
variable-rgx = [_]{0,2}[a,b,d,f,i,o,s,t][A-Z][A-z0-9]{1,20}$
argument-rgx = [_]{0,2}[a,b,d,f,i,o,s,t][A-Z][A-z0-9]{1,20}$|self|cls
attr-rgx = [_]{0,2}[a,b,d,f,i,o,s,t][A-Z][A-z0-9]{1,20}$
const-rgx = [_]{0,2}[a,b,d,f,i,o,s,t][A-Z][A-z0-9]{1,20}$
