def subscribe_command(self, message=None): subscriber_mail = self.user_mail(message.sender) logging.info('subscribing user: %s' % subscriber_mail) im_from = db.IM('xmpp', message.sender) domain = RequestUtils.getDomain(message.arg) if message.arg == 'all': domain = 'all' if not domain: message.reply('You must provide valide domain for subscription. \'%s\' is not valid domain. Make sure that domain starts with http://' %message.arg) return existingSubscription = Subscription.gql('WHERE subscriber_mail = :1 and domain = :2 and active = True', subscriber_mail, domain).get() if existingSubscription is not None: message.reply('You have already subscribed for this domain %s. Remember?' % domain) return subscription = Subscription(subscriber = im_from, subscriber_mail = subscriber_mail, domain = domain, activationDate = datetime.datetime.now(), active = True, mute = False) invite = IMInvite.gql('WHERE jid = :1 ', subscriber_mail) subscription.put() if invite: invite.subscribed = True invite.put() message.reply('Subscription added.')