def get(self): # basics ip = self.request.remote_addr # setup channel to do page refresh channel_token = generate_token() refresh_channel = channel.create_channel(channel_token) # various pulldown initialization self.form.flavor.choices=[] self.form.wisp.choices=[] self.form.cloud.choices=[] # add list of user's flavors, if any flavors = Flavor.flavors_with_instances_on_sale() for flavor in flavors: self.form.flavor.choices.insert(0, (flavor.name, flavor.description)) # used for determining element layout wisp = None cloud = None # if the user is logged in, we build out the list of their wisps if self.user_id: # lookup user's auth info and wisps user_info = User.get_by_id(long(self.user_id)) wisps = Wisp.get_by_user(user_info.key) for wisp in wisps: self.form.wisp.choices.insert(0, (wisp.key.id(), wisp.name)) # load clouds clouds = Cloud.get_by_user(user_info.key) # create default cloud if none if not clouds: cloud = Cloud.create_default(user_info.key) clouds.append(cloud) self.add_message("Default cloud created.", 'success') for cloud in clouds: self.form.cloud.choices.insert(0, (cloud.key.id(), cloud.name)) # params build out (injects the last wisp, if there was one) params = { 'remote_ip': ip, 'wisp': wisp, 'cloud': cloud, 'refresh_channel': refresh_channel, 'channel_token': channel_token } return self.render_template('lab/launcher.html', **params)
def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # look up appliances clouds = Cloud.get_by_user(user_info.key) # setup channel to do page refresh channel_token = user_info.key.urlsafe() refresh_channel = channel.create_channel(channel_token) # params build out params = { 'clouds': clouds, 'refresh_channel': refresh_channel, 'channel_token': channel_token } return self.render_template('cloud/clouds.html', **params)
def get(self): # lookup user's auth info user_info = User.get_by_id(long(self.user_id)) # look up appliances clouds = Cloud.get_by_user(user_info.key) # setup channel to do page refresh channel_token = user_info.key.urlsafe() refresh_channel = channel.create_channel(channel_token) # params build out params = { 'clouds': clouds, 'refresh_channel': refresh_channel, 'channel_token': channel_token } return self.render_template('cloud/clouds.html', **params)