reorx
11/10/2011 - 7:45 PM

os_utils

os_utils

#!/usr/bin/python
#coding=utf8

def directSelectSort(seq, mode='b-s'):
    """
    :b-s :: big -> small
    :s-b :: small -> big
    """
    size = len(seq)
    for i in range(0, size - 1):
        k = i;j = i + 1
        while j < size:
            if 'b-s' == mode:
                condition = seq[j] > seq[k]
            else:
                condition = seq[j] < seq[k]
            if condition:
                k = j
            j += 1
        seq[i], seq[k] = seq[k], seq[i]
    return seq

def col_decorate(s, color):
    col_wrap = '%s'
    if 'red' == color:
        col_wrap = '\033[1;31m%s\033[1;m'
    elif 'green' == color:
        col_wrap = '\033[1;32m%s\033[1;m'
    elif 'blue' == color:
        col_wrap = '\033[1;34m%s\033[1;m'
    else:
        return s
    return col_wrap % s

class BaseError(Exception):
    def __init__(self, s):
        self.msg = s

    def __str__(self):
        return col_decorate('\n{0}: {1}'.format(self.__class__.__name__, self.msg),
                            'red')

    @classmethod
    def assertTrue(cls, cdt, s):
        if not cdt:
            raise cls(s)