def copy_playlist(request): """ vue utilisee pour charger de nouvelles bande-annonces """ 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 my_ba_list = MyBaList() usb_ba_list = my_ba_list.select_playlist(my_ba_list.listdir_fullpath_ba(usb_ba_path), "prog") local_ba_list = my_ba_list.ba_list_prog # 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 my_ba_list = MyBaList().ba_list_all whole_ba_list = sorted([os.path.basename(x) for x in my_ba_list]) ### copie des slides my_slide_list = MySlideList() usb_slide_list = my_slide_list.select_playlist( my_slide_list.listdir_fullpath_slide(usb_ba_path), "prog" ) local_slide_list = my_slide_list.slide_list_prog # 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 my_slide_list = MySlideList().slide_list_all whole_slide_list = sorted([os.path.basename(x) for x in my_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 clean(): my_ba_list = MyBaList() my_slide_list = MySlideList() try: my_ba_list.delete(my_ba_list.ba_list_in_past) except: logging.error("erreurs en essayant de deleter les bande-annonces locales") print("erreurs en essayant de deleter les bande-annonces locales") try: my_slide_list.delete(my_slide_list.slide_list_in_past) except: logging.error("erreurs en essayant de deleter les slides locaux") print("erreurs en essayant de deleter les slideds locaux")