private void UploadJob(Job job) { if (!File.Exists(job.SelectedVideo.Path)) { DeleteLastJobFile(); return; } SaveCurrentJob(job); UploadCommunication.ProgressChanged += ReactToProgressChanged; while (!UploadCommunication.Upload(ref job, ref shouldCancel)) { job.UploadingAccount = AccountCommunication.RefreshAccess(job.UploadingAccount); } UploadCommunication.ProgressChanged -= ReactToProgressChanged; if (!shouldCancel) { OnUploadFinished(job.SelectedVideo.Title); DeleteLastJobFile(); // Datei umbenennen, damit der Uploader nicht erneut versucht, sie hochzuladen. var movedPath = Path.GetDirectoryName(job.SelectedVideo.Path) + "\\_" + Path.GetFileNameWithoutExtension(job.SelectedVideo.Path).Remove(0, 1) + Path.GetExtension(job.SelectedVideo.Path); try { File.Move(job.SelectedVideo.Path, movedPath); } catch (IOException) { } } }
private void UploadVideo(string fileName, TemplateVideoCreator creator) { Video vid = creator.CreateVideo(fileName); bool waitResult = WaitForAccess(fileName); if (!waitResult) { // Video wurde gelöscht. return; } OnUploadStarted(vid.Title); Job job = null; while (job == null) { RefreshAccess(); job = UploadCommunication.PrepareUpload(vid, ActiveAccount); } UploadJob(job); }