예제 #1
0
        private async Task CheckIfTheDownloadFileIfGetErrored()
        {
            var getAllCompleteFiles = await _aria2Client.TellStopped();

            foreach (var downloadFile in getAllCompleteFiles)
            {
                if (downloadFile.Status == "error")
                {
                    Console.WriteLine("----------------------ERROR in FILE IN ARIA2.............................");
                    await MarkDownloadFileAsErrored(downloadFile);
                }
            }
        }
예제 #2
0
        private Action UpdateUserWithInfo()
        {
            return(async() =>
            {
                var downloadsModel = new List <DownloadProgressModel>();

                try {
                    foreach (var downloadFile in await _aria2Client.TellActive())
                    {
                        var downloadsModelItem = new DownloadProgressModel();
                        downloadsModelItem.Name = downloadFile.Files[0].Path;

                        try
                        {
                            var currentDownloadLink = _movieContextReadOnly.Movies
                                                      .Where(Q => Q.DownloadId == downloadFile.GID)
                                                      .Include(In => In.TranscoddedFiles)
                                                      .First();

                            downloadsModelItem.GID = currentDownloadLink.ArTitle;
                            downloadsModelItem.logo = currentDownloadLink.ImgThumbObjUrl;

                            downloadsModelItem.StartDownloadAt = HelperFunctions.GetElapsedTime(currentDownloadLink.StartDownloadAt);
                        }
                        catch (Exception ex)
                        {
                            downloadsModelItem.GID = "Error - the information is not in the database";
                            downloadsModelItem.StartDownloadAt = "Error - the information is not in the database";
                        }


                        downloadsModelItem.DownloadSpeed = downloadFile.DownloadSpeed;
                        downloadsModelItem.DownloadSpeedHuman = HelperFunctions.BytesToString((long)downloadFile.DownloadSpeed);
                        downloadsModelItem.CompletedLength = downloadFile.CompletedLength;

                        downloadsModelItem.Status = downloadFile.Status;
                        downloadsModelItem.Dir = downloadFile.Dir;
                        downloadsModelItem.downloadSizeHuman = HelperFunctions.BytesToString((long)downloadFile.TotalLength);
                        downloadsModelItem.TotalLength = downloadFile.TotalLength;
                        downloadsModelItem.downloadStatus = downloadFile.Status;


                        downloadsModelItem.Percent = Math.Round(((double)downloadFile.CompletedLength / (double)downloadFile.TotalLength) * 100, 2);
                        downloadsModel.Add(downloadsModelItem);
                    }
                    foreach (var downloadFile in await _aria2Client.TellStopped())
                    {
                        var downloadsModelItem = new DownloadProgressModel();
                        downloadsModelItem.Name = downloadFile.Files[0].Path;

                        try
                        {
                            var currentDownloadLink = _movieContextReadOnly.Movies
                                                      .Where(Q => Q.DownloadId == downloadFile.GID)
                                                      .Include(In => In.TranscoddedFiles)
                                                      .First();

                            downloadsModelItem.GID = currentDownloadLink.ArTitle;
                            downloadsModelItem.logo = currentDownloadLink.ImgThumbObjUrl;
                            downloadsModelItem.StartDownloadAt = HelperFunctions.GetElapsedTime(currentDownloadLink.StartDownloadAt);
                        }
                        catch (Exception ex)
                        {
                            downloadsModelItem.GID = "Error - the information is not in the database";
                            downloadsModelItem.StartDownloadAt = "Error - the information is not in the database";
                        }



                        downloadsModelItem.DownloadSpeed = 0;
                        downloadsModelItem.DownloadSpeedHuman = "";
                        downloadsModelItem.CompletedLength = 0;

                        downloadsModelItem.Status = downloadFile.Status;
                        downloadsModelItem.Dir = downloadFile.Dir;
                        downloadsModelItem.downloadSizeHuman = "";
                        downloadsModelItem.TotalLength = 0;
                        downloadsModelItem.downloadStatus = downloadFile.Status;


                        if (downloadFile.Status == "complete")
                        {
                            downloadsModelItem.Percent = 100;
                        }

                        if (downloadFile.Status == "error")
                        {
                            downloadsModelItem.Percent = 0;
                        }

                        downloadsModel.Add(downloadsModelItem);
                    }



                    if (downloadsModel.Count == 0)
                    {
                    }
                    else
                    {
                        await _downloadProgressHub.Clients.All.SendAsync("items", downloadsModel);
                    }
                } catch (Exception e) {
                }
            });
        }