Esempio n. 1
0
File: utils.py Progetto: libyyu/flib
def toUnicode(s):
    if not s:
        return
    if flib.PY2 and isinstance(s, unicode):
        return s
    elif flib.PY3 and isinstance(s, str):
        return s
    try:
        enc = chardet.detect(s)['encoding']
        #print enc
        if enc == 'ISO-8859-2' or enc == "TIS-620":
            enc = 'gbk'
            if flib.PY2:
                return unicode(s, enc, 'ignore')
            elif flib.PY3:
                return s.decode('utf-8', 'ignore')
    except Exception as e:
        flib.printf(str(e))
        return
    ###
    charsets = ('gbk', 'gb18030', 'gb2312', 'iso-8859-1', 'utf-16', 'utf-8',
                'utf-32', 'ascii')
    for charset in charsets:
        try:
            #print charset
            if flib.PY2:
                return unicode(s, charset)
            elif flib.PY3:
                return s.decode('utf-8')
        except:
            continue
Esempio n. 2
0
File: utils.py Progetto: libyyu/flib
def main():
    from locale import getpreferredencoding
    flib.printf(sys.stdout.encoding, getpreferredencoding())
    Log.log("b", "a")
    #Log.expt("Tesxt你好")
    flib.printf(toUTF8('Hello你好'))
    # p = subprocess.Popen(shlex.split("svn log -l 10"), shell=True, stdout=subprocess.PIPE)
    # print(p.stdout.read())
    # p.wait()
    exec_sh("svn info $1", args=["F:/Seven/ElementUnityWin"], logout=True)
    exec_command('''svn info "{path}"''', path="F:/Seven/ElementUnityWin")
    safe_execute('''svn info "F:/Seven/ElementUnity"''', logout=True)
    # print platform.system()
    # Log.log("b", "a")
    # __log__('',"为什么")
    # print toStr("为什么")
    #nc_server().start()
    print(getJavaProperty("-Dfile.encoding"))
Esempio n. 3
0
File: utils.py Progetto: libyyu/flib
def toStr(s):
    if not s: return ""
    try:
        if flib.PY2:
            if not isinstance(s, unicode) and not isinstance(
                    s, str) and not isinstance(s, bytes):
                return str(s)
        elif flib.PY3:
            if not isinstance(s, str) and not isinstance(s, bytes):
                return str(s)
            if isinstance(s, str):
                return s
            elif isinstance(s, bytes):
                return s.decode('utf-8')
        if sys.stdout.encoding == "cp936":
            return toGBK(s)
        return toUTF8(s)
    except Exception as e:
        flib.printf(str(e))
        return s
Esempio n. 4
0
File: utils.py Progetto: libyyu/flib
def toJenkinsEncoding(s):
    if not s: return ""
    try:
        if flib.PY2:
            if not isinstance(s, unicode) and not isinstance(
                    s, str) and not isinstance(s, bytes):
                return str(s)
        elif flib.PY3:
            if not isinstance(s, str) and not isinstance(s, bytes):
                return str(s)
        global __jenkins_encoding
        if not __jenkins_encoding:
            __jenkins_encoding = getJavaProperty("file.encoding")
        if __jenkins_encoding.lower() == 'gbk':
            return toGBK(s)
        elif __jenkins_encoding.lower() == 'gb2312':
            return toGB2312(s)
        else:
            return toUTF8(s)
    except Exception as e:
        flib.printf(str(e))
        return s
Esempio n. 5
0
File: utils.py Progetto: libyyu/flib
def toUTF8(s):
    try:
        if flib.PY2:
            if not isinstance(s, unicode) and not isinstance(
                    s, str) and not isinstance(s, bytes):
                return
        elif flib.PY3:
            if not isinstance(s, str) and not isinstance(s, bytes):
                return
        if flib.PY2 and isinstance(s, unicode):
            return s.encode('utf-8')
        elif flib.PY3 and isinstance(s, str):
            return s.encode('utf-8')
        enc = chardet.detect(s)['encoding']
        if enc == 'utf-8':
            return s
        else:
            s = toUnicode(s)
            if s:
                return s.encode('utf-8')
    except Exception as e:
        flib.printf(str(e))
        return