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})
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})