Example #1
0
        public static void DownloadTodayBingImages()
        {
            if (!NetworkStatus.IsConnectedToInternet())
            {
                "The internet connection was not found.".LogText();
                return;
            }

            var dir = DirUtils.GetImagesDir();

            Enumerable.Range(start: 0, count: 9).AsParallel().ForAll(imageIndex =>
            {
                try
                {
                    var source = $"http://www.bing.com/HPImageArchive.aspx?format=xml&idx={imageIndex}&n=1&mkt=en-US";
                    downloadImage(source, dir, xml =>
                    {
                        var bingImage = xml.FromXmlContent <images>();
                        return(new ImageInfo
                        {
                            Url = $"http://www.bing.com{bingImage.image.url.Replace("_1366x768.jpg", "_1920x1080.jpg")}",
                            Copyright = bingImage.image.copyright
                        });
                    });
                }
                catch (Exception ex)
                {
                    ex.LogException();
                }
            });
        }
Example #2
0
        public void SetBranchesList(bool throwExceptions = false)
        {
            var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();

            Task.Factory.StartNew(() =>
            {
                if (!NetworkStatus.IsConnectedToInternet())
                {
                    Trace.WriteLine("The internet connection was not found.", "Logs");
                    return(null);
                }

                var entries = getGitHubBranches();
                if (!entries.Any())
                {
                    Trace.WriteLine("Failed to list branches.", "Logs");
                    return(null);
                }

                return(entries);
            }).ContinueWith(task =>
            {
                if (task.IsFaulted)
                {
                    if (task.Exception != null)
                    {
                        if (!throwExceptions)
                        {
                            task.Exception.Flatten().Handle(ex =>
                            {
                                Trace.WriteLine(ex.Message, "Error");
                                return(false);
                            });
                        }
                        else
                        {
                            throw task.Exception;
                        }
                    }
                    return;
                }

                var entries = task.Result;

                _GuiState.Branches.Clear();

                foreach (var branches in entries?.Select(x => x.Name))
                {
                    _GuiState.Branches.Add(branches);
                }
            }, taskScheduler);
        }
Example #3
0
        public void Start()
        {
            Task.Factory.StartNew(() =>
            {
                if (!NetworkStatus.IsConnectedToInternet())
                {
                    AppMessenger.Messenger.NotifyColleagues("ShowLog", "The internet connection was not found.");
                    return;
                }

                var entries = getGitHubEntries(_guiModelData.RepositorySubDir, _guiModelData.SelectedBranch);
                if (!entries.Any())
                {
                    AppMessenger.Messenger.NotifyColleagues("ShowLog", "The folder is empty.");
                    return;
                }

                var baseFoler = getBaseFoler();
                processListOfEntries(entries, baseFoler);
            }).ContinueWith(obj => Finished(getApiRootUrl()));
        }
Example #4
0
        public void SetBranchesList()
        {
            var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();

            Task.Factory.StartNew(() =>
            {
                if (!NetworkStatus.IsConnectedToInternet())
                {
                    AppMessenger.Messenger.NotifyColleagues("ShowLog", "The internet connection was not found.");
                    return(null);
                }

                var entries = getGitHubBranches();
                if (!entries.Any())
                {
                    AppMessenger.Messenger.NotifyColleagues("ShowLog", "Failed to list branches.");
                    return(null);
                }

                return(entries);
            }).ContinueWith(task =>
            {
                if (task.IsFaulted)
                {
                    if (task.Exception != null)
                    {
                        task.Exception.Flatten().Handle(ex =>
                        {
                            AppMessenger.Messenger.NotifyColleagues("ShowLog", ex.Message);
                            return(false);
                        });
                    }
                    return;
                }

                var entries            = task.Result;
                _guiModelData.Branches = entries?.Select(x => x.Name).ToList();
            }, taskScheduler);
        }
        public void Start()
        {
            Task.Factory.StartNew(() =>
            {
                DispatcherHelper.DispatchAction(
                    () => _GuiState.GitHubEntries.Clear());
                if (!NetworkStatus.IsConnectedToInternet())
                {
                    Trace.WriteLine("Internet connection is not avalaible.", "Error");
                    return;
                }

                var entries = getGitHubEntries(_GuiState.RepositorySubDir, _GuiState.SelectedBranch);
                if (!entries.Any())
                {
                    Trace.WriteLine("The folder is empty.", "Error");
                    return;
                }

                var baseFolder = getBaseFolder();
                processListOfEntries(entries, baseFolder);
            }).ContinueWith(obj => Finished(getApiRootUrl()));
        }
Example #6
0
        public void GetReleaseInfo(string url)
        {
            var taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();

            Task.Factory.StartNew(() =>
            {
                if (!NetworkStatus.IsConnectedToInternet())
                {
                    return(null);
                }

                using (var webClient = new WebClient())
                {
                    webClient.Headers.Add("user-agent", "DNTProfiler");
                    var jsonData = webClient.DownloadString(url);
                    var gitHubProjectReleases = JsonHelper.DeserializeObject <GitHubProjectRelease[]>(jsonData);

                    var releases = new List <ReleaseInfo>();
                    foreach (var release in gitHubProjectReleases)
                    {
                        foreach (var asset in release.Assets)
                        {
                            releases.Add(new ReleaseInfo
                            {
                                ReleaseHtmlUrl     = release.HtmlUrl,
                                ReleaseTagName     = release.TagName,
                                AssetCreatedAt     = asset.CreatedAt,
                                AssetName          = asset.Name,
                                AssetSize          = asset.Size,
                                AssetDownloadCount = asset.DownloadCount
                            });
                        }
                    }

                    return(releases.OrderByDescending(releaseInfo => releaseInfo.AssetCreatedAt).ToList());
                }
            }).ContinueWith(task =>
            {
                if (task.IsFaulted)
                {
                    if (task.Exception != null)
                    {
                        task.Exception.Flatten().Handle(ex =>
                        {
                            new ExceptionLogger().LogExceptionToFile(ex, AppMessenger.LogFile);
                            AppMessenger.Messenger.NotifyColleagues("ShowException", ex);
                            return(true);
                        });
                    }
                    return;
                }

                var releaseInfo = task.Result;
                if (releaseInfo == null || !releaseInfo.Any())
                {
                    return;
                }

                _mainGuiModel.ReleaseInfo     = releaseInfo;
                _mainGuiModel.SelectedRelease = releaseInfo.FirstOrDefault();
                _context.NotifyPluginsHost(NotificationType.Reset, releaseInfo.Count);
            }, taskScheduler);
        }