private async Task <DiffbotArticle> GetRemoteTextFromListItem(KeyValuePair <string, ReadingListItem> item) { Debug.WriteLine(string.Format("Getting remote text for '{0}'", item.Key)); var diffbotArticle = await ReadItLaterApi.GetText(item.Value); if (String.IsNullOrEmpty(diffbotArticle.Title)) { return(null); } await WriteItemToFile(_applicationData.LocalFolder, string.Format("{0}.json", item.Key), diffbotArticle.Stringify()); return(diffbotArticle); }
private async Task ReadItemsFromDiskWithRemoteFallback() { var readingListJson = await ReadItemFromFile(_applicationData.LocalFolder, "reading-list.json"); ReadingList list; if (readingListJson == null) { if (App.HasConnectivity) { // Get the reading list from Pocket list = await ReadItLaterApi.GetReadingList(); // Save the reading list for future use await WriteItemToFile(_applicationData.LocalFolder, "reading-list", list.Stringify()); } else { Debug.WriteLine("There was no cached list and we don't currently have Internet connectivity, aborting"); return; } } else { list = new ReadingList(readingListJson); } foreach (var item in list.List) { if (DEMO && Items.Count > 75) { break; } Debug.WriteLine("Trying to read '{0}' from disk with remote fallback", item.Key); var diffbotArticle = await ReadItemFromDiskWithRemoteFallback(_applicationData.LocalFolder, item); if (diffbotArticle == null) { continue; } AddItem(item.Value, diffbotArticle); } }
public void TestSetup() { _api = new ReadItLaterApi(USERNAME, PASSWORD); }