X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bvideos%2F%2Bvideo-edit%2Fvideo-add-components%2Fvideo-import-torrent.component.ts;h=62aaeb01926918f530813c996633df700975dd80;hb=5f26f13b3c16ac5ae0a3b0a7142d84a9528cf565;hp=01087e5251799d430aea64c32dc4152cfff91e0e;hpb=d487a997c80fafe6067016c6cd8e8afd6141baa3;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts index 01087e525..62aaeb019 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts @@ -1,11 +1,11 @@ -import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core' +import { AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core' import { Router } from '@angular/router' -import { AuthService, CanComponentDeactivate, Notifier, ServerService } from '@app/core' +import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService } from '@app/core' import { scrollToTop } from '@app/helpers' import { FormValidatorService } from '@app/shared/shared-forms' import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main' import { LoadingBarService } from '@ngx-loading-bar/core' -import { VideoPrivacy, VideoUpdate } from '@shared/models' +import { PeerTubeProblemDocument, ServerErrorCode, VideoPrivacy, VideoUpdate } from '@shared/models' import { hydrateFormFromVideo } from '../shared/video-edit-utils' import { VideoSend } from './video-send' @@ -18,7 +18,7 @@ import { VideoSend } from './video-send' './video-send.scss' ] }) -export class VideoImportTorrentComponent extends VideoSend implements OnInit, CanComponentDeactivate { +export class VideoImportTorrentComponent extends VideoSend implements OnInit, AfterViewInit, CanComponentDeactivate { @Output() firstStepDone = new EventEmitter() @Output() firstStepError = new EventEmitter() @ViewChild('torrentfileInput') torrentfileInput: ElementRef @@ -32,8 +32,6 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca video: VideoEdit error: string - protected readonly DEFAULT_VIDEO_PRIVACY = VideoPrivacy.PUBLIC - constructor ( protected formValidatorService: FormValidatorService, protected loadingBar: LoadingBarService, @@ -43,7 +41,8 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca protected videoService: VideoService, protected videoCaptionService: VideoCaptionService, private router: Router, - private videoImportService: VideoImportService + private videoImportService: VideoImportService, + private hooks: HooksService ) { super() } @@ -52,6 +51,10 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca super.ngOnInit() } + ngAfterViewInit () { + this.hooks.runAction('action:video-torrent-import.init', 'video-edit') + } + canDeactivate () { return { canDeactivate: true } } @@ -76,7 +79,7 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca this.isImportingVideo = true const videoUpdate: VideoUpdate = { - privacy: VideoPrivacy.PRIVATE, + privacy: this.highestPrivacy, waitTranscoding: false, commentsEnabled: true, downloadEnabled: true, @@ -108,7 +111,15 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca this.loadingBar.useRef().complete() this.isImportingVideo = false this.firstStepError.emit() - this.notifier.error(err.message) + + let message = err.message + + const error = err.body as PeerTubeProblemDocument + if (error?.code === ServerErrorCode.INCORRECT_FILES_IN_TORRENT) { + message = $localize`Torrents with only 1 file are supported.` + } + + this.notifier.error(message) } ) }