Example #1
0
    def _makecontest(self):
        """
        Return a Contest object which can be saved to the database.

        return (Contest): database object for the contest

        """
        if self.defaultgroup is None:
            raise Exception("You have to specify a default group")
        cdb = Contest(name=self.contestname, description=self._description)

        cdb.timezone = self._timezone
        cdb.allowed_localizations = self._allowed_localizations
        cdb.languages = self._languages
        cdb.allow_registration = self._allow_registration
        self._set_tokens(cdb)
        cdb.max_submission_number = self.max_submission_number
        cdb.min_submission_interval = self.min_submission_interval
        cdb.max_user_test_number = self.max_user_test_number
        cdb.min_user_test_interval = self.min_user_test_interval

        self.usersdb = {}
        self.participationsdb = {}

        self.cdb = cdb

        gdbs = {}
        for g in self.groups:
            gdbs[g] = self._makegroup(g, cdb)
        cdb.main_group = gdbs[self.defaultgroup.name]

        return cdb