示例#1
0
def get_genres():  # Used in reset_db() to get genres using a google search
    genre_list = scrape_genres(
        'https://www.google.com/search?q=music+genres&rlz=1C5CHFA_enUS738US738&oq=music+'
        +
        'genres&aqs=chrome..69i57j69i60j0l4.1688j0j7&sourceid=chrome&ie=UTF-8')
    for genre in genre_list:
        new_genre = Genre(name=genre)
        new_genre.save(cascade=True)
示例#2
0
def post_create_genre(request):
    # Obtiene el nombre de la categoría
    nombre_categoria = request.POST['name']
    # Crea el objeto categoría
    categoria = Genre(name=nombre_categoria)
    # Guarda el objeto en la base de datos
    categoria.save()
    # Redirecciona a la página de categorías
    return redirect('app:view_genres')
示例#3
0
def AddFolder(request, pk):
    form = dict()
    form['form'] = AddFolderForm()
    form['note_name'] = Note.objects.all()
    form['directory'] = Genre.objects.get(id=pk)
    form['users'] = User.objects.all()
    form['tree'] = Genre.objects.filter(parent_id=pk)

    if request.POST:
        new_folder = Genre()
        new_folder.name = request.POST['name']
        new_folder.user = User.objects.get(username=auth.get_user(request).username)
        new_folder.parent_id = pk
        new_folder.save()

    return render(request, 'app/addfolder.html', form)
示例#4
0
def updateDBInfo(response, track):
    tags = Information()
    # Changing tags in the database
    if 'TITLE' in response and response['TITLE'] != '':
        tags.trackTitle = strip_tags(response['TITLE']).lstrip().rstrip()
        track.title = tags.trackTitle

    if 'ARTISTS' in response and response['ARTISTS'] != '':
        tags.trackArtist = strip_tags(
            response['ARTISTS']).lstrip().rstrip().split(',')
        artists = []
        for artist in tags.trackArtist:
            if Artist.objects.filter(name=artist).count() == 0:
                newArtist = Artist()
                newArtist.name = artist
                newArtist.save()
            artists.append(Artist.objects.get(name=artist))
        track.artist.clear()
        for artist in artists:
            track.artist.add(artist)

    if 'PERFORMER' in response and response['PERFORMER'] != '':
        tags.trackPerformer = strip_tags(
            response['PERFORMER']).lstrip().rstrip()
        track.performer = tags.trackPerformer

    if 'COMPOSER' in response and response['COMPOSER'] != '':
        tags.trackComposer = strip_tags(response['COMPOSER']).lstrip().rstrip()
        track.composer = tags.trackComposer

    if 'YEAR' in response and response['YEAR'] != '':
        tags.trackYear = checkIntValueError(response['YEAR'])
        track.year = tags.trackYear

    if 'TRACK_NUMBER' in response and response['TRACK_NUMBER'] != '':
        tags.trackNumber = checkIntValueError(response['TRACK_NUMBER'])
        track.number = tags.trackNumber

    if 'BPM' in response and response['BPM'] != '':
        track.bpm = checkIntValueError(response['BPM'])

    if 'LYRICS' in response and response['LYRICS'] != '':
        tags.lyrics = strip_tags(response['LYRICS']).lstrip().rstrip()
        track.lyrics = tags.lyrics

    if 'COMMENT' in response and response['COMMENT'] != '':
        tags.comment = strip_tags(response['COMMENT']).lstrip().rstrip()
        track.comment = tags.comment

    if 'GENRE' in response and response['GENRE'] != '':
        tags.trackGenre = strip_tags(response['GENRE']).lstrip().rstrip()
        if Genre.objects.filter(name=tags.trackGenre).count() == 0:
            genre = Genre()
            genre.name = tags.trackGenre
            genre.save()
        genre = Genre.objects.get(name=tags.trackGenre)
        track.genre = genre

    if 'COVER' in response:
        md5Name = hashlib.md5()
        if str(response['COVER'].split(",")[0]) == "image/png":
            extension = "png"
        else:
            extension = "jpg"
        md5Name.update(base64.b64decode(str(response['COVER'].split(",")[1])))
        # Check if the folder exists
        filePath = "/ManaZeak/static/img/covers/"
        if not os.path.isdir(filePath):
            os.mkdir(filePath)  # Create the folder
        filePath += +md5Name.hexdigest() + extension

        # if the filePath is the same, then the md5 hash of the image is
        # the same, therefore the images are the same, therefore do nothing
        if not os.path.isfile(filePath):
            with open(filePath, 'wb+') as destination:
                # Split the header with MIME type
                tags.cover = base64.b64decode(
                    str(response['COVER'].split(",")[1]))
                destination.write(tags.cover)
                track.coverLocation = md5Name.hexdigest() + extension

    if 'ALBUM_TITLE' in response and 'ALBUM_ARTISTS' in response and response['ALBUM_TITLE'] != '' \
            and response['ALBUM_ARTISTS'] != '':
        tags.albumTitle = strip_tags(response['ALBUM_TITLE']).lstrip().rstrip()
        tags.albumArtist = strip_tags(
            response['ALBUM_ARTISTS']).lstrip().rstrip().split(',')
        if Album.objects.filter(title=tags.albumTitle).count() == 0:
            album = Album()
            album.title = tags.albumTitle
            album.save()
        album = Album.objects.get(title=tags.albumTitle)
        album.artist.clear()
        for artist in tags.albumArtist:
            if Artist.objects.filter(name=artist).count() == 0:
                newArtist = Artist()
                newArtist.name = artist
                newArtist.save()
            album.artist.add(Artist.objects.get(name=artist))

        if 'ALBUM_TOTAL_DISC' in response and response[
                'ALBUM_TOTAL_DISC'] != '':
            tags.albumTotalDisc = checkIntValueError(
                response['ALBUM_TOTAL_DISC'])
            album.totalDisc = tags.albumTotalDisc

        if 'DISC_NUMBER' in response and response['DISC_NUMBER'] != '':
            tags.albumDiscNumber = checkIntValueError(response['DISC_NUMBER'])
            track.discNumber = tags.albumDiscNumber

        if 'ALBUM_TOTAL_TRACK' in response and response[
                'ALBUM_TOTAL_TRACK'] != '':
            tags.albumTotalTrack = checkIntValueError(
                response['ALBUM_TOTAL_TRACK'])
            album.totalTrack = tags.albumTotalTrack
        album.save()
        track.album = album
    track.save()
    return tags
示例#5
0
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'PocketMovies.settings')

import django
django.setup()

from app.models import Movie, Genre, Actor, Director, Producer
from dataset import movies, genres, actors, directors, producers

for genre in genres:
    new_genre = Genre(name=genre)
    new_genre.save()

for actor in actors:
    new_actor = Actor(name=actor['name'],
                      birthdate=actor['birthdate'],
                      years_active=actor['years_active'],
                      nationality=actor['nationality'],
                      imageField=actor['imageField'],
                      twitterAccount=actor['twitterAccount'],
                      instagramAccount=actor['instagramAccount'])
    new_actor.save()

for director in directors:
    new_director = Director(name=director['name'],
                            birthdate=director['birthdate'],
                            website=director['website'],
                            imageField=director['imageField'],
                            twitterAccount=director['twitterAccount'],
                            instagramAccount=director['instagramAccount'])
    new_director.save()