Exemplo n.º 1
0
def create_user_communities(user):
    for cname in user.get('communities'):
        if not valid_community(cname):
            warning('Invalid community: %s\n' %(cname))
            continue
        if get_ordinary_community(cname) == None:
            community = create_community(cname)
            save_communities([community])
Exemplo n.º 2
0
def valid_addr(addr):
    l = addr.split(':')
    if not ((len(l) == 2 and l[0] == 'u') or (len(l) == 3 and l[0] == 'c')):
        return False
    if l[0] == 'u' and not valid_uid(l[1]):
        return False
    if l[0] == 'c' and not valid_community(l[2]):
        return False
    return True
Exemplo n.º 3
0
    def handle_icon_request(self, user, request):
        iconid = request.get('iconid')
        if iconid == None or type(iconid) != str:
            return None

        debug('Icon request from %s: %s\n' % (user.get('nick'), iconid))

        if iconid == 'user':
            icon = read_file_contents(seek_face_name(self.myself))
            version = self.myself.get('faceversion')
            limiter = self.iconfetchlimiters['user']

        elif iconid.startswith('c:'):
            cname = iconid[2:]
            if not valid_community(cname):
                return None
            if cname not in self.myself.get('communities'):
                return None
            com = self.get_ordinary_community(cname)
            if com == None:
                return None
            if com.get('myiconversion') != com.get('iconversion'):
                # Do not reply with a old version of the icon!
                return
            icon = read_file_contents(seek_community_icon_name(com))
            version = com.get('iconversion')
            limiter = self.iconfetchlimiters.get(iconid)
            if limiter == None:
                limiter = Rate_Limiter(ICON_PUSH_INTERVAL)
                self.iconfetchlimiters[iconid] = limiter
        else:
            return None

        if icon == None:
            icon = ''
        if version == None:
            version = 0

        request = {'t': 'iconpush', 'iconid': iconid, 'icon': icon, 'version': version}

        if normal_traffic_mode():
            self.fetcher.fetch(user, PLUGIN_TYPE_COMMUNITY, request, None, ack=False)
        elif limiter == None or limiter.check():
            self.fetcher.fetch_community(self.get_default_community(), PLUGIN_TYPE_COMMUNITY, request, None, ack=False)

        return {}
Exemplo n.º 4
0
    def response_handler(self, widget, event):
        if event == gtk.RESPONSE_OK:
            self.community_name = self.name_entry.get_text()
            if not valid_community(self.community_name):
                self.notification.ok_dialog('Error', 'Invalid community name.',
                    parent=self.dialog, modal=True)
                return True

            self.desc = self.description_tbuffer.get_text(self.description_tbuffer.get_start_iter(), self.description_tbuffer.get_end_iter())
            if self.desc == "<<Insert description>>":
                self.desc = None
                
            self.save_community_information(self.personal_community == False)

        self.pic_dialog.close()
        self.dialog.destroy()
        return True
Exemplo n.º 5
0
from meta import Meta, Meta_Attribute, validate_list, privatebool, \
     publicstring, publicunsignedint, privateunsignedint, privatestringlist, \
     is_unsigned_int
from proximateprotocol import valid_community, valid_uid

comattrs = {}

# Public attributes
for pubkey in ['creator', 'description', 'keywords', 'timestart', 'timeend', 'location', 'www']:
    comattrs[pubkey] = publicstring()

comattrs['creatoruid'] = Meta_Attribute(str, public=True, is_valid=lambda n, v: valid_uid(v))

comattrs['iconversion'] = Meta_Attribute(int, public=True, is_valid=is_unsigned_int, default=0)

comattrs['name'] = Meta_Attribute(str, public=True, is_valid=lambda n, v: valid_community(v))
comattrs['name'].is_required()

# Private attributes
comattrs['cid'] = privateunsignedint()
comattrs['invisible'] = privatebool(default=False)
comattrs['members'] = Meta_Attribute(list, public=False, is_valid=lambda n, v: validate_list(v, valid_uid), default=[])
comattrs['keys'] = privatestringlist()
comattrs['peer'] = Meta_Attribute(bool, public=False, default=True)
comattrs['public'] = Meta_Attribute(bool, public=False, default=True)
comattrs['iconlocked'] = Meta_Attribute(bool, public=False, default=False)
comattrs['myiconversion'] = privateunsignedint()

# Private non-saved
# Nothing atm