Ejemplo n.º 1
0
def copy_playlist(request):
    """
    vue utilisee pour charger une nouvelle bande-annonce
    """
    if request.method == "POST":
        form = CopyBaForm(request.POST)
        if form.is_valid():
            usb_ba_path = form.cleaned_data['usb_ba_path']          
            try:
                ### copie des bande annonces
                usb_ba_list = functions.select_playlist(criteria='all_prog', ba_directory=usb_ba_path) 
                local_ba_list = functions.select_playlist(criteria='all')

                # compare the local_ba_list already there and the usb_ba_list to copy only the new ba
                local_ba_basename = [ os.path.basename(x) for x in local_ba_list]
                for each_ba in usb_ba_list:
                    if not os.path.basename(each_ba) in local_ba_basename:
                        shutil.copy(each_ba, env_variables.ba_directory)

                # list again all ba
                ba_list = functions.select_playlist(criteria='all')
                whole_ba_list = sorted([os.path.basename(x) for x in ba_list])
                
                ### copie des slides
                usb_slide_list = functions.select_slides(criteria='all_prog', ba_directory=usb_ba_path) 
                local_slide_list = functions.select_slides(criteria='all')

                # compare the local_slide_list already there and the usb_slide_list to copy only the new ba
                local_slide_basename = [ os.path.basename(x) for x in local_slide_list]
                for each_slide in usb_slide_list:
                    if not os.path.basename(each_slide) in local_slide_basename:
                        shutil.copy(each_slide, env_variables.ba_directory)

                # list again all slides
                slide_list = functions.select_slides(criteria='all')
                whole_slide_list = sorted([os.path.basename(x) for x in slide_list])


                return render(request, 'bande_annonce/advanced_playlist.html',{'whole_ba_list': whole_ba_list, 'whole_slide_list': whole_slide_list})
            except:
                message = "ECHEC lors de la copie des bande annonces ou des slides"
                return render(request, 'bande_annonce/to_print.html', {'to_print': message})
    else:
        form = CopyBaForm()
        return render(request, 'bande_annonce/copy_playlist.html', {'form': form})
Ejemplo n.º 2
0
def advanced_playlist(request):
    """
    vue qui permet de voir toutes les bande annonces et d'en ajouter
    """
    # selectionner tous les repertoires du lieu de stockage
    # et les mettre sous forme de dictionnaire
    # numero de semaine: [liste des fichiers]
    ba_list = functions.select_playlist(criteria='all')
    whole_ba_list = sorted([os.path.basename(x) for x in ba_list])
    slide_list = functions.select_slides(criteria='all')
    whole_slide_list = sorted([os.path.basename(x) for x in slide_list])
    return render(request, 'bande_annonce/advanced_playlist.html',{'whole_ba_list': whole_ba_list, 'whole_slide_list': whole_slide_list})