def test_must_upgrade(self): v100 = StrictVersion("1.0.0") v101 = StrictVersion("1.0.1") v110 = StrictVersion("1.1.0") self.assertTrue(util.should_upgrade(v100, v101)) self.assertFalse(util.should_upgrade(v100, v100)) self.assertFalse(util.must_upgrade(v100, v101)) self.assertTrue(util.must_upgrade(v100, v110))
def test_must_upgrade(self): v100 = StrictVersion('1.0.0') v101 = StrictVersion('1.0.1') v110 = StrictVersion('1.1.0') self.assertTrue(util.should_upgrade(v100, v101)) self.assertFalse(util.should_upgrade(v100, v100)) self.assertFalse(util.must_upgrade(v100, v101)) self.assertTrue(util.must_upgrade(v100, v110))
def __call__(self, request): request.need_setup = False request.need_upgrade = False request.kbsite = None installed_version = models.KegbotSite.get_installed_version() if installed_version is None: request.need_setup = True else: request.installed_version_string = str(installed_version) request.need_upgrade = must_upgrade(installed_version, get_version_object()) if not request.need_setup and not request.need_upgrade: request.kbsite = models.KegbotSite.objects.get(name='default') if request.kbsite.is_setup: timezone.activate(request.kbsite.timezone) request.plugins = dict( (p.get_short_name(), p) for p in list(plugin_util.get_plugins().values())) else: request.need_setup = True request.backend = get_kegbot_backend() return self.get_response(request)
def __call__(self, request): request.need_setup = False request.need_upgrade = False request.kbsite = None # Skip all checks if we're in the setup wizard. if request.path.startswith("/setup"): request.session = {} request.session["_auth_user_backend"] = None return self.get_response(request) # First confirm the database is working. try: dbstatus.check_db_status() except dbstatus.DatabaseNotInitialized: logger.warning("Database is not initialized, sending to setup ...") request.need_setup = True request.need_upgrade = True except dbstatus.NeedMigration: logger.warning("Database needs migration, sending to setup ...") request.need_upgrade = True # If the database looks good, check the data. if not request.need_setup: installed_version = models.KegbotSite.get_installed_version() if installed_version is None: logger.warning("Kegbot not installed, sending to setup ...") request.need_setup = True else: request.installed_version_string = str(installed_version) if must_upgrade(installed_version, get_version_object()): logger.warning( "Kegbot upgrade required, sending to setup ...") request.need_upgrade = True # Lastly verify the kbsite record. if not request.need_setup: request.kbsite = models.KegbotSite.objects.get(name="default") if not request.kbsite.is_setup: logger.warning("Setup incomplete, sending to setup ...") request.need_setup = True return self.get_response(request)
def process_request(self, request): request.need_setup = False request.need_upgrade = False request.kbsite = None installed_version = models.KegbotSite.get_installed_version() if installed_version is None: request.need_setup = True else: request.installed_version_string = str(installed_version) request.need_upgrade = must_upgrade(installed_version, get_version_object()) if not request.need_setup and not request.need_upgrade: request.kbsite = models.KegbotSite.objects.get(name='default') if request.kbsite.is_setup: timezone.activate(request.kbsite.timezone) request.plugins = dict((p.get_short_name(), p) for p in plugin_util.get_plugins().values()) else: request.need_setup = True request.backend = get_kegbot_backend() return None