def parse_ros_dic(ros_dic, name=False): """ parse roster dictionary(collection.OrderedDict) to name_list or jid_list due to param:name :param ros_dic: :param name: :return: """ jid_list = list() name_list = list() if ros_dic.get('roster', None): roster_item = ros_dic['roster']['rosterItem'] if isinstance(roster_item, list): for item in roster_item: jid_list.append(item['jid']) else: jid_list.append(roster_item['jid']) if not name: return jid_list else: for jid in jid_list: name_list.append(JidMgr.gen_user_name(jid)) return name_list