⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 friend_groups.py

📁 pyLJclient是一个跨平台的livejournal客户端
💻 PY
字号:
MASK_SIZE = 32

class Group:
    def __init__(self, name, number=-1, sort_order=-1):
	self.name = name
	self.number = int(number)
	self.sort_order = int(sort_order)
	self.mask = -1
    
    def get_mask(self):
	if self.mask == -1:
	    return ''
	else:
	    return self.mask

    def get_name(self):
	return self.name

    def get_number(self):
	return self.number

    def get_sort_order(self):
	return self.sort_order

    def __repr__(self):
	return "Default Group: {name: %s, mask: %s}\n"%(self.name, self.mask)

    def is_default(self):
	if self.mask == -1:
	    return 1
	else:
	    return 0


class User_Defined_Group(Group):
    def __init__(self, name, number, sort_order):
	Group.__init__(self, name, number, sort_order)
	self.set_mask()

    def set_mask(self):
	if self.number >=0 and self.number < 31:
	    self.mask = 2 ** self.number
	else:
	    raise "Group number range out of bound.  Group number = %s"%self.number

    def __repr__(self):
	return "User Defined Group: {name=%s, number=%s, sort order=%s, mask=%s}\n"%(self.name, self.number, 
	    self.sort_order, self.mask)


class Groups:
    def __init__(self):
	self.groups = {}

    def add_group(self, group):
	self.groups[group.name] = group

    def get_group_names(self):
	return self.groups.keys()

    def get_group(self, group_name):
	return self.groups[group_name]

    def get_groups(self):
	return self.groups

    def get_group_by_name(self, name):
	return self.groups[name]

    def initialize_defaults(self):
	new_groups = get_Default_Groups()
	for group in new_groups:
	    self.groups[group.get_name()] = group
    
    def __repr__(self):
	group_str = ''
	for i in self.get_groups().values():
	    group_str = group_str + str(i)
	return group_str


#-------------- Convenience Functions ---------------------------------------
def get_Default_Groups():
    public_group = Group('public')
    private_group = Group('private')
    all_friends_group = get_All_Friends_Group()
    return [public_group, private_group, all_friends_group]

def get_All_Friends_Group():
    group = User_Defined_Group('all friends', 0, -1)
    return group

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -