def getNamedRhythm(self, title): q = Rhythm.all().filter('title =', title) r = q.fetch(1) if r: out = r[0].xml self.response.headers['Content-Type'] = "text/xml" return self.response.out.write(out) else: return self.write('not found')
def get(self): song = self.request.get('song') back = self.request.get('back') if song: context = { 'song' : song , 'back' : back } self.response.write(self.render_template_arg('animation.html', context)) else: context = {'titles' : [rhythm.title for rhythm in Rhythm.all() ] } self.response.write(self.render_template_arg('select_a_song.html', context))
def get(self): self.arg = self.request.get('arg') title = self.request.get('title') if title and self.arg == 'get': self.getNamedRhythm(title) elif title and self.arg == 'delete': rhythm = Rhythm.all().filter('title =', title).get() if rhythm.owner == self.getUser().username: rhythm.delete() elif self.arg == 'delete_all': self.deleteAll()
def get(self): self.arg = self.request.get('arg') if self.arg == 'all_templates': self.rhythms = Rhythm.all().filter('rhythm_type = ', 1).fetch(limit=None) user = self.getUser() privateRhythms = Rhythm.all() privateRhythmsName = RhythmAutorisation.all().filter('username = '******'rhythm_type = ', 2, 'title = ', name).get()) privateRhythms = Rhythm.all() for rhythm in Rhythm.all().filter('owner = ', self.getUser().username).fetch(limit=None): if rhythm.rhythm_type == 2: self.rhythms.append(rhythm) for rhythm in Rhythm.all().filter('rhythm_type = ', 3).fetch(limit=None): self.rhythms.append(rhythm) return self.write(self.getEncodedRhythms()) elif self.arg == 'all_official': self.rhythms = Rhythm.all().filter('rhythm_type = ', 1).fetch(limit=None) return self.write(self.getEncodedRhythms()) elif self.arg == 'all_publicly_shared': self.rhythms = Rhythm.all().filter('rhythm_type = ', 3).fetch(limit=None) return self.write(self.getEncodedRhythms()) elif self.arg == 'all_personal': if self.isLoggedIn(): self.rhythms = Rhythm.all().filter('owner = ', self.getUser().username).fetch(limit=None) else: self.rhythms = [] return self.write(self.getEncodedRhythms()) elif self.arg == 'all_personally_shared': if isLoggedIn: self.rhythm = [] privateRhythms = Rhythm.all() privateRhythmsName = RhythmAutorisation.all().filter('username = '******'rhythm_type = ', 2, 'title = ', name).get()) privateRhythms = Rhythm.all() else: self.rhythms = [] return self.write(self.getEncodedRhythms())
def post(self): title, type_str, xml_str = self.request.body.split('|') xml = md.parseString(xml_str) type = int(type_str) if valid_rhythm(xml) and self.validType(type): if self.request.get('arg') == 'edit': rhy = Rhythm.all().filter('title = ', title).get() if rhy.owner == self.getUser().username: rhy.xml = xml.toxml() rhy.rhythm_type = type else: return self.write('Invalid rhythm or owner') elif valid_title(title): rhy = Rhythm(title=str(title), xml=xml.toxml(), owner=self.getUser().username, rhythm_type=type ) elif not valid_title(title): return self.write("The title is already in use or invalid") rhy.put() else: return self.write('invalid rhythm')
def valid_title(title): if not Rhythm.all().filter('title =', title).get() and title: return True