/// <summary> /// Processes a raw directory listing, and stores values into objects. /// </summary> /// <param name="directory_list">Directory list.</param> /// <param name="extension">File extension of associated screenshots.</param> /// <returns>Item objects.</returns> private Items processFileData(List<String> directory_list, String extension) { Items items = new Items(); try { foreach (String line_detail in directory_list) { Item item; String filename; String id; DateTime modified; int filesize; filename = readFilename(line_detail); if (filename.Contains(extension)) { id = readId(filename); modified = readModified(line_detail); filesize = readFilesize(line_detail); item = items.GetFileDetail(id, modified); if (filename.Contains(retina_marker)) { item.SizeRetina = filesize; } else { item.SizeNormal = filesize; } } } } catch (Exception e) { Debug.WriteLine(e.ToString()); } return items; }
/// <summary> /// Analyzes an item collection, identifying which items to update. /// </summary> /// <param name="items">List of items.</param> /// <returns>List of item which require updating.</returns> private Items identifyUpdates(Items items) { Items items_to_update = new Items(); try { foreach (Item item in items) { Console.WriteLine(item.Id + " " + item.requiresUpdate(last_updated)); if (item.requiresUpdate(last_updated)) { items_to_update.Add(item); } } } catch (Exception e) { Debug.WriteLine(e.ToString()); } return items_to_update; }
/// <summary> /// Captures screenshots of websites, resizes and uploads to the server. /// </summary> /// <param name="items_to_update">List of items to capture, resize and upload.</param> private void captureAndUpload(Items items_to_update) { // Capture screenshots foreach (Item item in items_to_update) { if (item.Data != null) { captureWebsite(item); } } // Resize screenshots, then upload foreach (Item item in items_to_update) { if (item.Updated) { resizeThenUploadImages(item); } } }