def handle(self, *args, **options): # Validación de los argumentos if len(args) != 2: print "Error: Número de parámetros incorrecto." return v_id, filename = args try: v = Video.objects.get(id=v_id) except Video.DoesNotExist: print "Error: El video #%s no existe" % v_id return if not is_video_file(filename): print "Error: '%s' no es un fichero de vídeo válido." % filename return print "* Reemplazando el vídeo de la producción '%s':" % v print " - Creando copia de seguridad..." bak = v.fichero + ".bak" shutil.move(v.fichero, bak) print " - Copiando nuevo vídeo..." shutil.copy(filename, v.fichero) print " - Regenerando metadata técnica..." generate_tecdata(v) print "Hecho."
def clean_fichero(self): data = self.cleaned_data['fichero'] try: str(data) except UnicodeEncodeError: raise forms.ValidationError("El campo no debe contener tíldes ni caracteres especiales") if not is_video_file(os.path.normpath(config.get_option('VIDEO_INPUT_PATH') + data)): raise ValidationError(u"El fichero no es un formato de vídeo reconocido") return data