degrotesque
index
d:\products\degrotesque\github\degrotesque\degrotesque.py

 
Modules
       
glob
io
os
re
shutil
sys

 
Classes
       
Degrotesque

 
class Degrotesque
    The tiny web type setter.
The main method "prettify" uses the list of actions to change the contents
of the given HTML page.
Elements are skipped as well as the contents of some specific elements.
Additional method support parsing and setting of new values for actions
and elements to skip.
Some internal methods exist for determining which parts of the document 
shall processed and which ones are to skip.
 
  Methods defined here:
__init__(self)
Sets defaults for the elements which contents shall not be processed.
Sets defaults for actions to perform.
prettify(self, html)
Prettifies (degrotesques) the given HTML snipplet using the given actions.
It is assumed that the input is given in utf-8.
The result is returned in utf-8 as well.
:param html The html document (contents) to process
:param actions The actions to apply
restoreDefaultActions(self)
Instantiates default actions
setActions(self, actNames)
Returns the actions to apply.
If the given names of actions are None or empty, the default actions 
are used.
Otherwise, the actions matching the given names are retrieved from the
internal database and their list is returned.
:param actNames The names of the actions to use (or None if default 
                actions shall be used)
setToSkip(self, toSkipNames)
Returns the elements which contents shall not be changed.
If the given names of elements are None or empty, the default elements 
to skip are used.
Otherwise, a list with the elements to skip is built.
:param toSkipNames The names of elements which shall not be changed

 
Functions
       
getExtensions(extNames)
Returns the list of extensions of files to process
If the given names of extensions are None or empty, the default 
extensions are used.
Otherwise, the given string is split and returned as a list.
:param extNames The names of extensions to process (or None if default 
                extensions shall be used)
getFiles(name, recursive, extensions)
Returns the files to process.
If a file name is given, a list with only this filename is returned.
If a folder name is given, the files to process are determined by walking
throgh the folder - recursively if wished - and collecting all files
that match the extensions. Returned is the list of collected files.   
:param name The name of the file/folder
:param recursive Whether the folder (if given) shall be processed recursively
:param extensions The extensions of the files to process
main(args)
The main method
 
The following options must be set:
 
:param --input/-i: the file or the folder to process
 
The following options are optional:
 
:param --recursive/-r: Set if the folder - if given - shall be processed recursively
:param --no-backup/-B: Set if no backup files shall be generated
:param --actions/-a: Name the actions that shall be applied
:param --extensions/-e: The extensions of files that shall be processed
:param --encoding/-E: File encoding (default: 'utf-8'")
:param --skip/-s: Elements which contents shall not be changed
 
The application reads the given file or the files from the folder (optionally 
recursive) defined by the -i/--input option that match either the default or
the extensions given using the -e/--extension option, applies the default
or the actions named using the -a/--actions option to the contents and
save the files under their original name. If the option -B/--no-backup is not
given, a backup of the original files is generated named as the original
file with the appendix ".orig".

 
Data
        actionsDB = {'apostrophe': [[[u"'", None], [u''', None]]], 'bullets': [[[ru\*u, None], [u'•', None]]], 'commercial': [[[ru\([c|C]\)u, None], [u'©', None]], [[ru\([r|R]\)u, None], [u'®', None]], [[ru\([t|T][m|M]\)u, None], [u'™', None]]], 'dagger': [[[ru\*\*u, None], [u'‡', None]], [[ru\*u, None], [u'†', None]]], 'dashes': [[[ru(\s+)-(\s+)u, None], [ru\1—\2u, None]], [[ru([\d]+)-([\d]+)u, None], [ru\1–\2u, None]]], 'ellipsis': [[[ru\.\.\.u, None], [u'…', None]]], 'masks': [[[ru978-([\d]+)-([\d]+)-([\d]+)-([\d])(\D)u, None], [ru978-\1-\2-\3-\4\5u, None]], [[ru979-([\d]+)-([\d]+)-([\d]+)-([\d])(\D)u, None], [ru979-\1-\2-\3-\4\5u, None]], [[ru([\d]+)-([\d]+)-([\d]+)-([\d])(\D)u, None], [ru\1-\2-\3-\4\5u, None]], [[ruISSN (\d{4})-(\d{4})(\D)u, None], [ruISSN \1-\2\3u, None]]], 'math': [[[ru\+/-u, None], [u'±', None]], [[u'1/2', None], [u'½', None]], [[u'1/4', None], [u'¼', None]], [[u'3/4', None], [u'¾', None]], [[ru\~u, None], [u'≈', None]], [[ru\!=u, None], [u'≠', None]], [[u'<=', None], [u'≤', None]], [[u'>=', None], [u'≥', None]], [[ru([\d]+)(\s*)\*(\s*)([\d]+)u, None], [ru\1\2×\3\4u, None]], [[ru([\d]+)(\s*)x(\s*)([\d]+)u, None], [ru\1\2×\3\4u, None]], [[ru([\d]+)(\s*)/(\s*)([\d]+)u, None], [ru\1\2÷\3\4u, None]]], 'quotes.english': [[[ru(\s+)'u, u"'"], [ru\1‘u, u'’']], [[u'"', u'"'], [u'“', u'”']]], 'quotes.french': [[[u'<<', u'>>'], [u'«', u'»']], [[u'<', u'>'], [u'‹', u'›']]], ...}
extensionsDB = ['html', 'htm', 'xhtml', 'php', 'phtml', 'phtm', 'php2', 'php3', 'php4', 'php5', 'asp', 'jsp', 'jspx', 'shtml', 'shtm', 'sht', 'stm', 'vbhtml', 'ppthtml', 'ssp', ...]
print_function = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 65536)