Restore original behaviour for auto_authorize and auto_subscribe.
The change to using the new roster broke the original auto_* values and used per-roster versions. The original auto_* values will now set the behaviour globally. Use the per-roster values to override for a specific JID.
This commit is contained in:
		@@ -106,9 +106,6 @@ class BaseXMPP(XMLStream):
 | 
			
		||||
        self.client_roster = self.roster[self.boundjid.bare]
 | 
			
		||||
 | 
			
		||||
        self.is_component = False
 | 
			
		||||
        self.auto_authorize = True
 | 
			
		||||
        self.auto_subscribe = True
 | 
			
		||||
 | 
			
		||||
        self.sentpresence = False
 | 
			
		||||
 | 
			
		||||
        self.stanza = sleekxmpp.stanza
 | 
			
		||||
@@ -640,6 +637,46 @@ class BaseXMPP(XMLStream):
 | 
			
		||||
        log.warning("server property deprecated. Use boundjid.host")
 | 
			
		||||
        self.boundjid.server = value
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def auto_authorize(self):
 | 
			
		||||
        """
 | 
			
		||||
        Auto accept or deny subscription requests.
 | 
			
		||||
 | 
			
		||||
        If True, auto accept subscription requests.
 | 
			
		||||
        If False, auto deny subscription requests.
 | 
			
		||||
        If None, don't automatically respond.
 | 
			
		||||
        """
 | 
			
		||||
        return self.roster.auto_authorize
 | 
			
		||||
 | 
			
		||||
    @auto_authorize.setter
 | 
			
		||||
    def auto_authorize(self, value):
 | 
			
		||||
        """
 | 
			
		||||
        Auto accept or deny subscription requests.
 | 
			
		||||
 | 
			
		||||
        If True, auto accept subscription requests.
 | 
			
		||||
        If False, auto deny subscription requests.
 | 
			
		||||
        If None, don't automatically respond.
 | 
			
		||||
        """
 | 
			
		||||
        self.roster.auto_authorize = value
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def auto_subscribe(self):
 | 
			
		||||
        """
 | 
			
		||||
        Auto send requests for mutual subscriptions.
 | 
			
		||||
 | 
			
		||||
        If True, auto send mutual subscription requests.
 | 
			
		||||
        """
 | 
			
		||||
        return self.roster.auto_subscribe
 | 
			
		||||
 | 
			
		||||
    @auto_subscribe.setter
 | 
			
		||||
    def auto_subscribe(self, value):
 | 
			
		||||
        """
 | 
			
		||||
        Auto send requests for mutual subscriptions.
 | 
			
		||||
 | 
			
		||||
        If True, auto send mutual subscription requests.
 | 
			
		||||
        """
 | 
			
		||||
        self.roster.auto_subscribe = value
 | 
			
		||||
 | 
			
		||||
    def set_jid(self, jid):
 | 
			
		||||
        """Rip a JID apart and claim it as our own."""
 | 
			
		||||
        log.debug("setting jid to %s" % jid)
 | 
			
		||||
 
 | 
			
		||||
@@ -48,8 +48,8 @@ class Roster(object):
 | 
			
		||||
        """
 | 
			
		||||
        self.xmpp = xmpp
 | 
			
		||||
        self.db = db
 | 
			
		||||
        self.auto_authorize = True
 | 
			
		||||
        self.auto_subscribe = True
 | 
			
		||||
        self._auto_authorize = True
 | 
			
		||||
        self._auto_subscribe = True
 | 
			
		||||
        self._rosters = {}
 | 
			
		||||
 | 
			
		||||
        if self.db:
 | 
			
		||||
@@ -138,3 +138,47 @@ class Roster(object):
 | 
			
		||||
                                  ppriority=ppriority,
 | 
			
		||||
                                  pnick=pnick,
 | 
			
		||||
                                  pto=pto)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def auto_authorize(self):
 | 
			
		||||
        """
 | 
			
		||||
        Auto accept or deny subscription requests.
 | 
			
		||||
 | 
			
		||||
        If True, auto accept subscription requests.
 | 
			
		||||
        If False, auto deny subscription requests.
 | 
			
		||||
        If None, don't automatically respond.
 | 
			
		||||
        """
 | 
			
		||||
        return self._auto_authorize
 | 
			
		||||
 | 
			
		||||
    @auto_authorize.setter
 | 
			
		||||
    def auto_authorize(self, value):
 | 
			
		||||
        """
 | 
			
		||||
        Auto accept or deny subscription requests.
 | 
			
		||||
 | 
			
		||||
        If True, auto accept subscription requests.
 | 
			
		||||
        If False, auto deny subscription requests.
 | 
			
		||||
        If None, don't automatically respond.
 | 
			
		||||
        """
 | 
			
		||||
        self._auto_authorize = value
 | 
			
		||||
        for node in self._rosters:
 | 
			
		||||
            self._rosters[node].auto_authorize = value
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def auto_subscribe(self):
 | 
			
		||||
        """
 | 
			
		||||
        Auto send requests for mutual subscriptions.
 | 
			
		||||
 | 
			
		||||
        If True, auto send mutual subscription requests.
 | 
			
		||||
        """
 | 
			
		||||
        return self._auto_subscribe
 | 
			
		||||
 | 
			
		||||
    @auto_subscribe.setter
 | 
			
		||||
    def auto_subscribe(self, value):
 | 
			
		||||
        """
 | 
			
		||||
        Auto send requests for mutual subscriptions.
 | 
			
		||||
 | 
			
		||||
        If True, auto send mutual subscription requests.
 | 
			
		||||
        """
 | 
			
		||||
        self._auto_subscribe = value
 | 
			
		||||
        for node in self._rosters:
 | 
			
		||||
            self._rosters[node].auto_subscribe = value
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user