def get_home_redirect(handler, *args, **kwargs): short_name = kwargs.get('short_name', None) if not short_name: return handler.uri_for('main') server = Server.get_by_short_name(short_name) if not server: return handler.uri_for('main') return handler.uri_for('home', server_key=server.short_name)
def get_server_by_key(self, key, abort=True): if key: try: server_key = ndb.Key(urlsafe=key) server = server_key.get() except Exception: server = Server.get_by_short_name(key) else: server = None if server is not None and not server.active: server = None if abort and not server: self.abort(404) self.request.server = server return self.request.server
def __call__(self, form, field): server = self.server or form.server short_name = field.data key = None try: key = ndb.Key(urlsafe=short_name) except: pass if key is not None: raise validators.ValidationError("Short name can't be a valid key string".format(short_name)) s = Server.get_by_short_name(short_name) if s is not None: if server is None or s.key != server.key: raise validators.ValidationError( "Short name '{0}' is already assigned to another server".format(short_name) )
def __call__(self, form, field): server = self.server or form.server short_name = field.data key = None try: key = ndb.Key(urlsafe=short_name) except: pass if key is not None: raise validators.ValidationError( "Short name can't be a valid key string".format(short_name)) s = Server.get_by_short_name(short_name) if s is not None: if server is None or s.key != server.key: raise validators.ValidationError( "Short name '{0}' is already assigned to another server". format(short_name))