コード例 #1
0
    def validUser(self, user, new_user):
        """
            Check if the given @user should be processed or ignored

            Returns True or False
        """

        if user is None:
            log.debug("No such user, need to remove: %s" % new_user)
            #self.registrations.remove({'_id': new_user['_id']})
            return False

        # for spam protection
        if check_banned_email(user['email']):
            log.debug("SPAM: Need to delete %s, %s" %
                      (user['email'], user['username']))
            #self.remove_registration_entry(user['username'])
            return False

        # test for minimum name length
        if len(user['username']) < MINIMUM_LENGTH_NAME:
            log.debug("Expensive name %s. Skipping." % user['username'])
            return False

        # test for ignoring names starting with certain patterns
        if ignoreRegistration(user['username'], IGNORE_NAMES_STARTING_WITH):
            log.debug("Ignoring: %s" % user['username'])
            return False

        if not validRegistrationEmail(user['email'], self.email_list):
            log.debug("Email rejected by filter: %s" % user['email'])
            #self.remove_registration_entry(user['username'])
            return True

        return True
コード例 #2
0
ファイル: webapp_driver.py プロジェクト: digideskio/registrar
    def validUser(self, user, new_user):
        """
            Check if the given @user should be processed or ignored

            Returns True or False
        """

        if user is None:
            log.debug("No such user, need to remove: %s" % new_user['_id'])
            #self.registrations.remove({'_id': user['_id']})
            return False

        # for spam protection
        if check_banned_email(user['email']):
            log.debug("SPAM: Need to delete %s, %s" % (user['email'], user['username']))
            return False

        # test for minimum name length
        if len(user['username']) < MINIMUM_LENGTH_NAME:
            log.debug("Expensive name %s. Skipping." % user['username'])
            return False

        # test for ignoring names starting with certain patterns
        if ignoreRegistration(user['username'], IGNORE_NAMES_STARTING_WITH):
            log.debug("Ignoring: %s" % user['username'])
            return False

        return True
コード例 #3
0
    def process_new_users(self, nameop=None, spam_protection=False):
        """
            Process new registrations coming in on the webapp
        """

        counter = 0
        self.registrar_server.reset_flag()

        for new_user in self.registrations.find(no_cursor_timeout=True):

            user = get_db_user_from_id(new_user, self.users)

            if user is None:
                log.debug("No such user, need to remove: %s" % new_user['_id'])
                self.registrations.remove({'_id': new_user['_id']})
                continue

            # for spam protection
            if check_banned_email(user['email']):

                if spam_protection:
                    log.debug("Deleting spam %s, %s" %
                              (user['email'], user['username']))
                    self.users.remove({"email": user['email']})
                else:
                    log.debug("Need to delete %s, %s" %
                              (user['email'], user['username']))
                continue

            # test for minimum name length
            if len(user['username']) < MINIMUM_LENGTH_NAME:
                log.debug("Expensive name %s. Skipping." % user['username'])
                continue

            # test for ignoring names starting with certain patterns
            if ignoreRegistration(user['username'],
                                  IGNORE_NAMES_STARTING_WITH):
                log.debug("Ignoring: %s" % user['username'])
                continue

            fqu = user['username'] + "." + DEFAULT_NAMESPACE
            transfer_address = nmc_to_btc_address(user['namecoin_address'])
            profile = user['profile']

            log.debug("Processing: %s" % fqu)

            if registrationComplete(fqu, profile, transfer_address):
                log.debug("Registration complete %s. Removing." % fqu)
                self.registrations.remove({"user_id": new_user['user_id']})

                refresh_resolver(user['username'])
            else:
                try:
                    self.registrar_server.process_nameop(fqu,
                                                         profile,
                                                         transfer_address,
                                                         nameop=nameop)
                except Exception as e:
                    log.debug(e)
コード例 #4
0
    def process_new_users(self, nameop=None, spam_protection=False):
        """
            Process new registrations coming in on the webapp
        """

        counter = 0
        self.registrar_server.reset_flag()

        for new_user in self.registrations.find(no_cursor_timeout=True):

            user = get_db_user_from_id(new_user, self.users)

            if user is None:
                log.debug("No such user, need to remove: %s" % new_user['_id'])
                self.registrations.remove({'_id': new_user['_id']})
                continue

            # for spam protection
            if check_banned_email(user['email']):

                if spam_protection:
                    log.debug("Deleting spam %s, %s" % (user['email'], user['username']))
                    self.users.remove({"email": user['email']})
                else:
                    log.debug("Need to delete %s, %s" % (user['email'], user['username']))
                continue

            # test for minimum name length
            if len(user['username']) < MINIMUM_LENGTH_NAME:
                log.debug("Expensive name %s. Skipping." % user['username'])
                continue

            # test for ignoring names starting with certain patterns
            if ignoreRegistration(user['username'], IGNORE_NAMES_STARTING_WITH):
                log.debug("Ignoring: %s" % user['username'])
                continue

            fqu = user['username'] + "." + DEFAULT_NAMESPACE
            transfer_address = nmc_to_btc_address(user['namecoin_address'])
            profile = user['profile']

            log.debug("Processing: %s" % fqu)

            if registrationComplete(fqu, profile, transfer_address):
                log.debug("Registration complete %s. Removing." % fqu)
                self.registrations.remove({"user_id": new_user['user_id']})

                refresh_resolver(user['username'])
            else:
                try:
                    self.registrar_server.process_nameop(fqu, profile,
                                                         transfer_address,
                                                         nameop=nameop)
                except Exception as e:
                    log.debug(e)