Stylistic improvements and moved away from @angular/http

This commit is contained in:
Isaac Grynsztein
2019-10-20 19:14:01 -04:00
parent 8e445bb80d
commit 377676cda4
4 changed files with 136 additions and 185 deletions

View File

@@ -15,56 +15,54 @@ import 'rxjs/add/operator/toPromise';
styleUrls: ['./app.component.css']
})
export class AppComponent {
determinateProgress: boolean = false;
downloadingfile: boolean = false;
determinateProgress = false;
downloadingfile = false;
audioOnly: boolean;
urlError: boolean = false;
path: string = '';
url: string = '';
exists: string = "";
topBarTitle: string = "Youtube Downloader";
urlError = false;
path = '';
url = '';
exists = '';
topBarTitle = 'Youtube Downloader';
percentDownloaded: number;
fileManagerEnabled: boolean = false;
fileManagerEnabled = false;
mp3s: any[] = [];
mp4s: any[] = [];
constructor(private postsService: PostsService, public snackBar: MatSnackBar) {
this.audioOnly = true;
urlForm = new FormControl('', [Validators.required]);
constructor(private postsService: PostsService, public snackBar: MatSnackBar) {
this.audioOnly = false;
this.postsService.loadNavItems().subscribe(result => { // loads settings
var backendUrl = result.YoutubeDLMaterial.Host.backendurl;
this.topBarTitle = result.YoutubeDLMaterial.Extra.title_top;
this.fileManagerEnabled = result.YoutubeDLMaterial.Extra.file_manager_enabled;
const backendUrl = result['YoutubeDLMaterial']['Host']['backendurl'];
this.topBarTitle = result['YoutubeDLMaterial']['Extra']['title_top'];
this.fileManagerEnabled = result['YoutubeDLMaterial']['Extra']['file_manager_enabled'];
this.postsService.path = backendUrl;
this.postsService.startPath = backendUrl;
this.postsService.startPathSSL = backendUrl;
if (this.fileManagerEnabled)
{
if (this.fileManagerEnabled) {
this.getMp3s();
this.getMp4s();
}
},
error => {
}, error => {
console.log(error);
});
}
urlForm = new FormControl('', [Validators.required]);
/*
doHandshake(url: string) {
this.postsService.startHandshake(url).subscribe(theurl => {
this.postsService.path = theurl;
this.postsService.handShakeComplete = true;
console.log("Handshake complete!");
},
error => {
console.log("Initial handshake failed on http.");
console.log('Handshake complete!');
}, error => {
console.log('Initial handshake failed on http.');
this.doHandshakeSSL(url);
});
}
@@ -73,27 +71,26 @@ export class AppComponent {
this.postsService.startHandshakeSSL(url).subscribe(theurl => {
this.postsService.path = theurl;
this.postsService.handShakeComplete = true;
console.log("Handshake complete!");
console.log('Handshake complete!');
},
error => {
console.log("Initial handshake failed on https too! Make sure port 17442 is open.");
console.log('Initial handshake failed on https too! Make sure port 17442 is open.');
this.postsService.handShakeComplete = false;
});
}
}*/
getMp3s() {
this.postsService.getMp3s().subscribe(result => {
var mp3s = result;
const mp3s = result['mp3s'];
this.mp3s = mp3s;
},
error => {
}, error => {
console.log(error);
});
}
getMp4s() {
this.postsService.getMp4s().subscribe(result => {
var mp4s = result;
const mp4s = result['mp4s'];
this.mp4s = mp4s;
},
error => {
@@ -101,38 +98,28 @@ export class AppComponent {
});
}
public goToFile(name, isAudio)
{
if (isAudio)
{
public goToFile(name, isAudio) {
if (isAudio) {
this.downloadHelperMp3(name);
}
else
{
} else {
this.downloadHelperMp4(name);
}
}
public removeFromMp3(name: string)
{
for (var i = 0; i < this.mp3s.length; i++)
{
if (this.mp3s[i].id == name)
{
this.mp3s.splice(i,1);
public removeFromMp3(name: string) {
for (let i = 0; i < this.mp3s.length; i++) {
if (this.mp3s[i].id === name) {
this.mp3s.splice(i, 1);
}
}
}
public removeFromMp4(name: string)
{
public removeFromMp4(name: string) {
console.log(name);
console.log(this.mp4s);
for (var i = 0; i < this.mp4s.length; i++)
{
if (this.mp4s[i].id == name)
{
this.mp4s.splice(i,1);
for (let i = 0; i < this.mp4s.length; i++) {
if (this.mp4s[i].id === name) {
this.mp4s.splice(i, 1);
}
}
}
@@ -140,100 +127,80 @@ export class AppComponent {
ngOnInit() {
}
downloadHelperMp3(name: string)
{
downloadHelperMp3(name: string) {
this.postsService.getFileStatusMp3(name).subscribe(fileExists => {
var exists = fileExists;
const exists = fileExists;
this.exists = exists[0];
if (exists[0] == "failed")
{
var percent = exists[2];
if (exists[0] === 'failed') {
const percent = exists[2];
console.log(percent);
if (percent > 0.30)
{
if (percent > 0.30) {
this.determinateProgress = true;
this.percentDownloaded = percent*100;
this.percentDownloaded = percent * 100;
}
setTimeout(() => this.downloadHelperMp3(name), 500);
}
else
{
} else {
window.location.href = this.exists;
}
});
}
downloadHelperMp4(name: string)
{
downloadHelperMp4(name: string) {
this.postsService.getFileStatusMp4(name).subscribe(fileExists => {
var exists = fileExists;
const exists = fileExists;
this.exists = exists[0];
if (exists[0] == "failed")
{
var percent = exists[2];
if (percent > 0.30)
{
if (exists[0] === 'failed') {
const percent = exists[2];
if (percent > 0.30) {
this.determinateProgress = true;
this.percentDownloaded = percent*100;
this.percentDownloaded = percent * 100;
}
setTimeout(() => this.downloadHelperMp4(name), 500);
}
else
{
} else {
window.location.href = this.exists;
}
});
}
downloadClicked()
{
if (this.ValidURL(this.url))
{
downloadClicked() {
if (this.ValidURL(this.url)) {
this.urlError = false;
this.path = "";
if (this.audioOnly)
{
this.path = '';
if (this.audioOnly) {
this.downloadingfile = true;
this.postsService.makeMP3(this.url).subscribe(posts => {
this.path = posts;
if (this.path != "-1")
{
this.path = posts['audiopathEncoded'];
if (this.path !== '-1') {
this.downloadHelperMp3(this.path);
}
},
error => { // can't access server
}, error => { // can't access server
this.downloadingfile = false;
this.openSnackBar("Download failed!", "OK.");
this.openSnackBar('Download failed!', 'OK.');
});
}
else
{
} else {
this.downloadingfile = true;
this.postsService.makeMP4(this.url).subscribe(posts => {
this.path = posts;
if (this.path != "-1")
{
this.path = posts['videopathEncoded'];
if (this.path !== '-1') {
this.downloadHelperMp4(this.path);
}
},
error => { // can't access server
}, error => { // can't access server
this.downloadingfile = false;
this.openSnackBar("Download failed!", "OK.");
this.openSnackBar('Download failed!', 'OK.');
});
}
}
else
{
} else {
this.urlError = true;
}
}
ValidURL(str) {
var strRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;
var re=new RegExp(strRegex);
// tslint:disable-next-line: max-line-length
const strRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;
const re = new RegExp(strRegex);
return re.test(str);
}