UtilitiesPython2/Tools.py

branch
Py2 comp.
changeset 3456
96232974dcdb
parent 3178
f25fc1364c88
parent 3445
bf95eac5ce12
child 3484
645c12de6b0c
diff -r f25fc1364c88 -r 96232974dcdb UtilitiesPython2/Tools.py
--- a/UtilitiesPython2/Tools.py	Sun Jan 05 23:22:17 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2011 - 2014 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing tool functions.
-"""
-
-import re
-from codecs import BOM_UTF8, BOM_UTF16, BOM_UTF32
-
-coding_regexps = [
-    (2, re.compile(r'''coding[:=]\s*([-\w_.]+)''')),
-    (1, re.compile(r'''<\?xml.*\bencoding\s*=\s*['"]([-\w_.]+)['"]\?>''')),
-]
-
-
-def get_coding(text):
-    """
-    Function to get the coding of a text.
-    
-    @param text text to inspect (string)
-    @return coding string
-    """
-    lines = text.splitlines()
-    for coding in coding_regexps:
-        coding_re = coding[1]
-        head = lines[:coding[0]]
-        for l in head:
-            m = coding_re.search(l)
-            if m:
-                return m.group(1).lower()
-    return None
-
-
-def decode(text):
-    """
-    Function to decode a text.
-    
-    @param text text to decode (string)
-    @return decoded text and encoding
-    """
-    try:
-        if text.startswith(BOM_UTF8):
-            # UTF-8 with BOM
-            return unicode(text[len(BOM_UTF8):], 'utf-8'), 'utf-8-bom'
-        elif text.startswith(BOM_UTF16):
-            # UTF-16 with BOM
-            return unicode(text[len(BOM_UTF16):], 'utf-16'), 'utf-16'
-        elif text.startswith(BOM_UTF32):
-            # UTF-32 with BOM
-            return unicode(text[len(BOM_UTF32):], 'utf-32'), 'utf-32'
-        coding = get_coding(text)
-        if coding:
-            return unicode(text, coding), coding
-    except (UnicodeError, LookupError):
-        pass
-    
-    # Assume UTF-8
-    try:
-        return unicode(text, 'utf-8'), 'utf-8-guessed'
-    except (UnicodeError, LookupError):
-        pass
-    
-    # Assume Latin-1 (behaviour before 3.7.1)
-    return unicode(text, "latin-1"), 'latin-1-guessed'
-
-
-def readEncodedFile(filename):
-    """
-    Function to read a file and decode its contents into proper text.
-    
-    @param filename name of the file to read (string)
-    @return tuple of decoded text and encoding (string, string)
-    """
-    f = open(filename)
-    text = f.read()
-    f.close()
-    return decode(text)
-
-
-def normalizeCode(codestring):
-    """
-    Function to normalize the given code.
-    
-    @param codestring code to be normalized (string)
-    @return normalized code (string)
-    """
-    if type(codestring) == type(u""):
-        codestring = codestring.encode('utf-8')
-    codestring = codestring.replace("\r\n", "\n").replace("\r", "\n")
-
-    if codestring and codestring[-1] != '\n':
-        codestring = codestring + '\n'
-    
-    return codestring
-
-
-def extractLineFlags(line, startComment="#", endComment=""):
-    """
-    Function to extract flags starting and ending with '__' from a line
-    comment.
-    
-    @param line line to extract flags from (string)
-    @keyparam startComment string identifying the start of the comment (string)
-    @keyparam endComment string identifying the end of a comment (string)
-    @return list containing the extracted flags (list of strings)
-    """
-    flags = []
-    
-    pos = line.rfind(startComment)
-    if pos >= 0:
-        comment = line[pos + len(startComment):].strip()
-        if endComment:
-            comment = comment.replace("endComment", "")
-        flags = [f.strip() for f in comment.split()
-                 if (f.startswith("__") and f.endswith("__"))]
-    return flags
-
-#
-# eflag: FileType = Python2

eric ide

mercurial