def sort_list_object(l, attr=None, desc=True): judge_null(l) judge_type(l, (list)) judge_null(attr) judge_type(attr, (str)) return sorted(l, reverse=desc) if attr is None else sorted( l, key=lambda x: getattr(x, attr), reverse=desc)
def _obj_2_json(self , obj): exceptions2.judge_null(obj) if isinstance(obj , basestring): return json.loads(obj ) elif isinstance(obj , dict): return obj else: raise TypeError
def _extract_query_item(self , query): exceptions2.judge_null(query) if isinstance(query , basestring): return self._parse_query(query) elif isinstance(query ,list): for _obj in query: if isinstance(_obj , QueryItem) is False: raise TypeError("query is QueryItem list , but contain the item isn't QueryItem!") return query else: raise TypeError("query type is error , query type in [basestring , QueryItem]!")
def update_config(d, **kw): judge_null(d) if d is None: raise ValueError, 'd is none !' if isinstance(d, dict): for key, val in kw.items(): if d.has_key(key): d[key] = val elif isinstance(d, object): for key, val in kw.items(): if hasattr(key): setattr(d, key, val) return True
def write(lines, path, overwrite=True, join_str='\n'): judge_str(line, 1, (str)) judge_str(path, 1, (str)) judge_null(lines) judge_type( lines, 'lines type [list , tuple , str , unicode]', (list, tuple, str, unicode)) if os.path.exists(path) and overwrite == False: raise ValueError, 'path is exists! %s' % path with open(path, 'w') as f: if isinstance(lines, (str, unicode)): f.write(lines) else: f.write(join_str.join([line for line in lines]))
def sort_list_object( l , attr = None , desc = True): judge_null(l) judge_type(l , (list)) judge_null(attr) judge_type(attr, (str)) return sorted(l,reverse = desc) if attr is None else sorted(l , key = lambda x : getattr(x , attr) , reverse = desc)
def sort_map_value(d , get_key_fn = lambda x :x[1] ,desc = False): judge_null(d) judge_type(d , (dict)) return sorted(d.items() , key = get_key_fn , reverse = desc)
def sort_map_key(d , get_key_fn = lambda x :x[0] ,desc = False): judge_null(d) judge_callable(get_key_fn) judge_type(d , (dict)) return sorted(d.items(), key = get_key_fn , reverse = desc)
def sort_map_key(d, get_key_fn=lambda x: x[0], desc=False): judge_null(d) judge_callable(get_key_fn) judge_type(d, (dict)) return sorted(d.items(), key=get_key_fn, reverse=desc)
def sort_map_value(d, get_key_fn=lambda x: x[1], desc=False): judge_null(d) judge_type(d, (dict)) return sorted(d.items(), key=get_key_fn, reverse=desc)