コード例 #1
0
        public List <JungleDiskBucket> GetBucketList(BucketFilter filter)
        {
            string accessKeyHash = Crypto.HexString((MD5.Create()).ComputeHash(Encoding.Default.GetBytes(s3.accessKey)));
            string legacyAccessKeyRegexString     = accessKeyHash.Replace("0", "0?");                // Some legacy buckets weren't padded out properly.
            Regex  advancedBucketRegex            = new Regex("jd2-" + accessKeyHash + "-(us|eu)");  //"jd2-[0-9a-f]{32}-(us|eu)");
            Regex  legacyBucketRegex              = new Regex(legacyAccessKeyRegexString + "-(.+)"); //"[0-9a-f]{16,32}-(.*)");
            List <JungleDiskBucket> bucketList    = new List <JungleDiskBucket>();
            List <string>           rawBucketList = s3.GetBucketList();

            foreach (string bucketName in rawBucketList)
            {
                if (advancedBucketRegex.IsMatch(bucketName))
                {
                    if (filter == BucketFilter.AllBuckets || filter == BucketFilter.AdvancedOnly)
                    {
                        AddSubBuckets(bucketName, bucketList);
                    }
                }
                else if (legacyBucketRegex.IsMatch(bucketName)) // Legacy bucket
                {
                    if (filter == BucketFilter.AllBuckets || filter == BucketFilter.LegacyOnly)
                    {
                        bucketList.Add(new JungleDiskBucket(BucketType.Legacy, bucketName, bucketName, bucketName.Substring(bucketName.IndexOf('-') + 1)));
                    }
                }
                else // Compatibility
                {
                    if (filter == BucketFilter.AllBuckets || filter == BucketFilter.CompatOnly)
                    {
                        bucketList.Add(new JungleDiskBucket(BucketType.Compatibility, bucketName, bucketName, bucketName));
                    }
                }
            }
            return(bucketList);
        }
コード例 #2
0
 public List<JungleDiskBucket> GetBucketList(BucketFilter filter)
 {
     string accessKeyHash = Crypto.HexString((MD5.Create()).ComputeHash(Encoding.Default.GetBytes(s3.accessKey)));
     string legacyAccessKeyRegexString = accessKeyHash.Replace("0", "0?"); // Some legacy buckets weren't padded out properly.
     Regex advancedBucketRegex = new Regex("jd2-"+accessKeyHash+"-(us|eu)");//"jd2-[0-9a-f]{32}-(us|eu)");
     Regex legacyBucketRegex = new Regex(legacyAccessKeyRegexString + "-(.+)"); //"[0-9a-f]{16,32}-(.*)");
     List<JungleDiskBucket> bucketList = new List<JungleDiskBucket>();
     List<string> rawBucketList = s3.GetBucketList();
     foreach (string bucketName in rawBucketList)
         if (advancedBucketRegex.IsMatch(bucketName))
         {
             if (filter == BucketFilter.AllBuckets || filter == BucketFilter.AdvancedOnly)
                 AddSubBuckets(bucketName, bucketList);
         }
         else if(legacyBucketRegex.IsMatch(bucketName)) // Legacy bucket
         {
             if (filter == BucketFilter.AllBuckets || filter == BucketFilter.LegacyOnly)
                 bucketList.Add(new JungleDiskBucket(BucketType.Legacy, bucketName, bucketName, bucketName.Substring(bucketName.IndexOf('-')+1)));
         }
         else // Compatibility
         {
             if (filter == BucketFilter.AllBuckets || filter == BucketFilter.CompatOnly)
                 bucketList.Add(new JungleDiskBucket(BucketType.Compatibility, bucketName, bucketName, bucketName));
         }
     return bucketList;
 }