def create(self, validated_data): music = Music( name=validated_data['name'], genre=validated_data['genre'], ) music.save() return music
def post_music(): session = create_session() user_id = g.current_user['sub'] music = Music(user_id=user_id) music.content = request.data session.add(music) session.commit() music = music.to_json() session.close() return jsonify(music)
def post_music_callback_handler(app): m = Music() m.uid = 1 m.upload_at = str(time.time()) m.type_id = 1 m.belong_id = 1 m.music_name = 'CountingStar' m.music_url = 'http://7xs7oc.com1.z0.glb.clouddn.com/music%2FJason%20Chen%20-%20Counting%20Stars.mp3' ret = (yield from m.save()) if ret: return {'code': 200, 'msg': 'ok'} return {'code': 300, 'msg': "bad"}
def post(self, request): title = request.POST['title'] genre = request.POST['genre'] rating = request.POST['rating'] Music(title=title, genres_id=genre, rating=rating).save() return HttpResponseRedirect(reverse('music_show'))
def get_music_handler(app): max_id_arr = (yield from Music().max('id')) if len(max_id_arr) == 0: max_id = 8 else: max_id = max_id_arr[0].get('id') if not max_id or max_id < 7: max_id = 8 rand_id = random.randrange(1, max_id - 6) data = (yield from Music().fields({ 'music_name': 'title', 'music_url': 'url' }).where('id', '>=', rand_id).limit(6).findall()) ret = dict() ret['code'] = 200 ret['msg'] = 'ok' ret['type'] = 3 ret['data'] = data return ret
def musics_update_page(): form = MusicUpdateForm(request.form) if request.method == 'POST' and form.validate(): music = Music(form.name.data, form.genre.data, form.duration_in_seconds.data, form.singer.data, form.year.data) music_id = form.id.data # which music to update update_music(music_id, music) return redirect('/mylists/musics') return render_template("update_musics.html", form=form)
def musics_add_page(): form = MusicAddForm(request.form) if request.method == 'POST' and form.validate(): music = Music(form.name.data, form.genre.data, form.duration_in_seconds.data, form.singer.data, form.year.data) insert_music(music) return redirect('/mylists/musics') return render_template("add_musics.html", form=form)
def add(): if request.method == 'POST': yt_regex = re.compile( "https?://(?:www\.|m\.)?youtu(?:be\.com/watch\?v=|\.be/)([\w\-_]*)" ) url = request.values.get('url', '') yt_match = yt_regex.match(url) bc_match = None if not yt_match: bc_match = get_info(url) if not (yt_match or bc_match): return Response(url + " is not a valid url", mimetype='text/plain', status=400) else: if yt_match: link = yt_match.group(1) valid = urlfetch.fetch( 'https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=' '{vid}&format=json'.format(vid=link), validate_certificate=True) if valid.status_code != 200: return Response(url + " is not a valid youtube video", mimetype="text/plain", status=400) decoded = valid.content.decode('utf-8') title = json.loads(decoded).get('title', '') else: link = url title = bc_match.get('title', '') ip = request.remote_addr time = datetime.datetime.utcnow() m = Music( link=link, date_added=time, title_cache_time=time, added_by=request.values.get('name', ''), ip=ip, position=Music.query().count() + 1, # not saved yet title=title, type='youtube' if yt_match else 'bandcamp') data = { 'id': Music.query().count(), 'url': url, 'link': url_for('get', musicid=Music.query().count() + 1), 'type': m.type } m.put() return jsonify(data) else: return render_template('add.html')
def main(): session = create_session() user = User() session.add(user) session.commit() musics = [Music(user_id=user.id, name="music") for _ in range(5)] session.add_all(musics) session.commit() folder = Folder(name="フォルダ1", user_id=user.id) session.add(folder) session.commit()
def add_new_musique(self, title, source, loop, style_tags, scene_tags, genre): duration = pafy.new(source).length music = Music(title=title, source=source, duration=duration, loop=loop, genre=genre, vote=0) for style in style_tags: music.style_tags.append(Style.query.filter_by(id=style).first()) for scene in scene_tags: music.scene_tags.append(Scene.query.filter_by(id=scene).first()) try: music.sound_url = pafy.new(source).getbestaudio().url database.session.add(music) database.session.commit() except OSError as e: print(title, "source is unavailable (see:", source, ")") print(e)
def post(self): name = request.form['name'] singer = request.form['singer'] brand = request.form['brand'] mp3_url = request.form['mp3_url'] music = Music() music.name = name music.singer = singer music.brand = brand music.mp3_url = mp3_url add(music) return {'state': 'ok', 'msg': '{}添加成功'.format(name)}
def create_music(artist_id): """Creates a new featured song/album for the artist from form submission. Returns: The detail view for the artist """ form = MusicForm() if not form.validate(): flash( list(form.errors.values())[0][0], "error", ) return redirect(url_for("show_artist", artist_id=artist_id)) error = False try: music_type = request.form.get("type_") music_title = request.form.get("title") music = Music(artist_id=artist_id, type_=music_type, title=music_title) db.session.add(music) db.session.commit() except Exception: # pylint: disable=broad-except error = True db.session.rollback() print(sys.exc_info()) finally: db.session.close() if error: flash(f"{music_type} {music_title} could not be added!", "error") abort(500) flash(f"{music_type} {music_title} was successfully added!") return redirect(url_for("show_artist", artist_id=artist_id))
def latest_music_num(): """Return the number of the latest valid music.""" return Music.query().count()
def renumber(): music = Music.query().order(Music.date_added) for i, m in enumerate(music): m.position = i + 1 m.put() return Response(status=204)
def getitem(num): return Music.query(Music.position == num).get()
def get_musics(): return jsonify(Music.all().serialize())
def random_music_num(): """Return a random number from the set of valid music numbers.""" import random return random.randint(1, Music.query().count())
def all(): entries = Music.query().order(Music.position) for entry in entries: if not entry.title: entry.update_title(force=True) return render_template('all.html', entries=list(entries))