def post(self, id = None): request = self.wsgi_request response = self.wsgi_response c = self.context param_dict = dict( title = request.params.title, conf_id = request.params.conf_id, desc = request.params.desc, venue = request.params.venue, talk_type = request.params.talk_type, start_date = parse(request.params.start_date), end_date = parse(request.params.end_date), duration = request.params.duration, speaker_title = request.params.speaker_title) content = param_dict session = Session(**param_dict) session = session.save() conf = Conference.get(session.conf_id) if conf: conf.add_session(session) self.set_body(session.to_json()) response.headers['content-type'] = 'application/json' return self.render()
def get(self, conf_handle = None): request = self.wsgi_request response = self.wsgi_response c = self.context if conf_handle: conf_id = Conference.get_id_from_url_title(conf_handle) c.conf = Conference.get(conf_id) if c.conf: return self.render_stuff('/index.html') self.set_body("Please enter a valid conference handle..") return self.render()
def delete(self, id = None): request = self.wsgi_request response = self.wsgi_response c = self.context if id is None: self.set_body('Conf id is a Must') else: conf = Conference.get(id) if conf is None: self.set_body('No conference with %d exist' % (id)) else: conf.delete() self.set_body("Deleted Successfully...") return self.render()
def get(self, id = None): request = self.wsgi_request response = self.wsgi_response c = self.context response.headers['content-type'] = 'application/json' if id is None: #get all the confs confs = [x.to_json(encode = False) for x in Conference.get_all()] self.set_body(json.dumps(confs)) else: conf = Conference.get(id) self.set_body(conf.to_json()) return self.render()
def put(self, id = None): request = self.wsgi_request response = self.wsgi_response c = self.context if id is None: self.set_body('Conf id is a Must') else: conf = Conference.get(id) if request.params.title: conf.title = request.params.title if request.params.url_title: conf.url_title = request.params.url_title if request.params.desc: conf.desc = request.params.desc if request.params.venue: conf.venue = request.params.venue if request.params.start_date: conf.start_date = parse(request.params.start_date) if request.params.end_date: conf.end_date = parse(request.params.end_date) if request.params.twitter_handle: conf.twitter_handle = request.params.twitter_handle if request.params.twitter_hashcode: conf.twitter_hashcode = request.params.twitter_hashcode conf = conf.save() conf.update_url_key() self.set_body(conf.to_json()) return self.render()
def get(self, id = None): request = self.wsgi_request response = self.wsgi_response c = self.context response.headers['content-type'] = 'application/json' if id is None: #get all the sessions conf_id = request.params.conf_id if conf_id: conf = Conference.get(conf_id) session_keys = conf.get_sessions_keys() log.info('request for sessions for conf_id %s with sessions: %s' % (conf.id, session_keys)) sessions = [x.json_friendly() for x in Session.multi_get(None, *session_keys)] else: sessions = [x.json_friendly() for x in Session.get_all()] #for s in sessions: #s['day'] = s.get('start_date').strftime('%A') #s['time_label'] = s.get('start_date').strftime('%I:%M %p') self.set_body(json.dumps(sessions)) else: session = Session.get(id) self.set_body(session.to_json()) return self.render()