public void SetBingWallpaper(string location) { if (bingObject == null) { bingObject = new BingObject(); } bingImageFile = BingUtils.GetWallpaperFromBing(location, ref bingObject); Utils.SetWallpaper(bingImageFile); if (bingObject.config != null && bingObject.config.setLockScreen) { Utils.SetLockScreen(bingImageFile); } if (bingObject.images != null) { string info = bingObject.images.FirstOrDefault().copyright; if (info != null) { this.TextCopyright = Regex.Match(info, @"\(([^)]*)\)").Groups[1].Value; this.TextTitle = info.Replace(Regex.Match(info, @"\(([^)]*)\)").Groups[0].Value, ""); } } }
public static BingObject ReadConfig() { BingObject result = null; if (File.Exists(LOCAL_CONFIGURATION_FILE_JSON)) { string fileJson = File.ReadAllText(LOCAL_CONFIGURATION_FILE_JSON); result = JsonConvert.DeserializeObject <BingObject>(fileJson); } return(result); }
public static string GetWallpaperFromBing(string location, ref BingObject bingObject) { try { bingObject = Step1_DownloadBingConfigFile(location); string url = string.Format("{0}{1}{2}", BING_URL, bingObject?.images?.FirstOrDefault()?.urlbase, BING_RESOLUTION); Debug.Print("La imagen está en: {0}", url); Step2_DownloadImageFile(url); } catch (Exception ex) { Debug.Print(ex.Message); } return(LOCAL_IMAGE_FILE_JPG); }
public MainWindow() { CloseSameProcesses(); InitializeComponent(); this.DataContext = this; bingObject = BingUtils.ReadConfig(); InitializeSettingsTab(); SetBingWallpaper(defaultLanguage); Minimize(); }
private static BingObject Step1_DownloadBingConfigFile(string location) { BingObject newBingObject = null, actualBingObject = null; string json = string.Empty; try { string url = string.Format("{0}{1}", BING_IMG_URL_JSON, location); if (Utils.IsInternetAvailable()) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(stream)) { json = reader.ReadToEnd(); newBingObject = JsonConvert.DeserializeObject <BingObject>(json); if (File.Exists(LOCAL_CONFIGURATION_FILE_JSON)) { string fileJson = File.ReadAllText(LOCAL_CONFIGURATION_FILE_JSON); actualBingObject = JsonConvert.DeserializeObject <BingObject>(fileJson); newBingObject.config = actualBingObject.config; File.Delete(LOCAL_CONFIGURATION_FILE_JSON); } File.WriteAllText(LOCAL_CONFIGURATION_FILE_JSON, JsonConvert.SerializeObject(newBingObject)); } } else { throw new WebException(); } } catch { //Fallo en la red, obtenemos el temporal json = File.ReadAllText(LOCAL_CONFIGURATION_FILE_JSON); newBingObject = JsonConvert.DeserializeObject <BingObject>(json); } return(newBingObject); }