wasStitchNET – Diff between revs 1 and 2

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 1 Rev 2
Line 4... Line 4...
4 // rights of fair usage, the disclaimer and warranty conditions. // 4 // rights of fair usage, the disclaimer and warranty conditions. //
5 /////////////////////////////////////////////////////////////////////////// 5 ///////////////////////////////////////////////////////////////////////////
Line 6... Line 6...
6   6  
7 using System; 7 using System;
-   8 using System.Collections.Generic;
8 using System.Collections.Generic; 9 using System.IO;
9 using System.Linq; 10 using System.Linq;
-   11 using System.Net;
10 using System.Net; 12 using System.Security.Cryptography;
11 using System.Threading.Tasks; 13 using System.Threading.Tasks;
12 using wasDAVClient; 14 using wasDAVClient;
13 using wasSharp; 15 using wasSharp;
14 using wasSharp.Linq; 16 using wasSharp.Linq;
-   17 using wasSharp.Web.Utilities;
Line 15... Line 18...
15 using wasSharp.Web.Utilities; 18 using wasSharpNET.Cryptography;
16   19  
17 namespace wasStitchNET.Repository 20 namespace wasStitchNET.Repository
18 { 21 {
Line 61... Line 64...
61 }) 64 })
62 ) 65 )
63 ); 66 );
64 } 67 }
65 } 68 }
-   69  
-   70 /// <summary>
-   71 /// Lists the release files for a given release version.
-   72 /// </summary>
-   73 /// <param name="server">the Stitch server to use</param>
-   74 /// <param name="release">the release to list files for</param>
-   75 /// <param name="timeout">the timeout connecting to the Stitch repository</param>
-   76 /// <returns>a list of Corrade files contained in the repository</returns>
-   77 public static async Task<IEnumerable<KeyValuePair<string, string>>> GetReleaseFileHashes(string server, Version release, int timeout)
-   78 {
-   79 using (var client = new Client(new NetworkCredential())
-   80 {
-   81 Timeout = timeout,
-   82 UserAgent = STITCH_CONSTANTS.USER_AGENT.Product.Name,
-   83 UserAgentVersion = STITCH_CONSTANTS.USER_AGENT.Product.Version,
-   84 Server = server,
-   85 BasePath = string.Join(@"/", STITCH_CONSTANTS.UPDATE_PATH,
-   86 STITCH_CONSTANTS.PROGRESSIVE_PATH)
-   87 })
-   88 {
-   89 Console.WriteLine($"{release.Major}.{release.Minor}");
-   90 return (await client
-   91 .List(
-   92 string.Join(
-   93 Constants.DIRECTORY_SEPARATOR,
-   94 $"{release.Major}.{release.Minor}",
-   95 STITCH_CONSTANTS.UPDATE_DATA_PATH),
-   96 Constants.DavDepth.ALL)
-   97 )
-   98 .Select(async o =>
-   99 {
-   100 using (var memoryStream = new MemoryStream())
-   101 {
-   102 using (var stream = client.Download(o.Href).Result)
-   103 {
-   104 await stream.CopyToAsync(memoryStream);
-   105 }
-   106 return new KeyValuePair<string, string>(
-   107 string.Join(Constants.DIRECTORY_SEPARATOR,
-   108 o.Href.PathSplit(Constants.DIRECTORY_SEPARATOR.First())
-   109 .Select(part =>
-   110 WebExtensions.URLUnescapeDataString(
-   111 part.Trim(Constants.DIRECTORY_SEPARATOR.First())
-   112 )
-   113 )
-   114 .Where(part => !string.IsNullOrEmpty(part))
-   115 .SequenceExceptAny(new[] {
-   116 STITCH_CONSTANTS.UPDATE_PATH,
-   117 STITCH_CONSTANTS.PROGRESSIVE_PATH,
-   118 $"{release.Major}.{release.Minor}",
-   119 STITCH_CONSTANTS.UPDATE_DATA_PATH
-   120 })
-   121 ), System.Security.Cryptography.SHA1.Create().ToHex(memoryStream));
-   122 }
-   123 }
-   124 ).Select(o => o.Result).OfType<KeyValuePair<string, string>>();
-   125 }
-   126 }
66 } 127 }
67 } 128 }