private static StandaloneAzureBlobResultSegment FindFilesHierarchical( string containerDirectory, string searchDirectory, string prefix, int?maxResults, int numberToSkip) { var directories = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateDirectories((prefix ?? "") + "*", SearchOption.TopDirectoryOnly) .Where(f => !f.Name.EndsWith(".meta")) .Select(f => (IAzureListBlobItem) new StandaloneAzureBlobDirectory(containerDirectory, f.FullName.Substring(containerDirectory.Length + 1))); var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.TopDirectoryOnly) .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta")) .Select(f => (IAzureListBlobItem) new StandaloneAzureBlockBlob( containerDirectory, f.FullName.Substring(containerDirectory.Length + 1))); var combined = directories.Concat(files) .Skip(numberToSkip) .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue) .ToList(); var resultSegment = new StandaloneAzureBlobResultSegment( combined, combined.Any() ? new BlobContinuationToken { NextMarker = DetermineNextMarker(numberToSkip, combined.Count) } : null); return(resultSegment); }
private static StandaloneAzureBlobResultSegment FindFilesFlattened( string containerDirectory, string searchDirectory, string prefix, int?maxResults, int numberToSkip) { var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.AllDirectories) .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta")) .Skip(numberToSkip) .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue) .Select(f => new StandaloneAzureBlockBlob( containerDirectory, f.FullName.Substring(containerDirectory.Length + 1))) .ToList(); var resultSegment = new StandaloneAzureBlobResultSegment( files, new BlobContinuationToken { NextMarker = DetermineNextMarker(numberToSkip, files.Count) }); return(resultSegment); }
private static StandaloneAzureBlobResultSegment FindFilesFlattened( string containerDirectory, string searchDirectory, string prefix, int? maxResults, int numberToSkip) { var files = new DirectoryInfo(searchDirectory ?? containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.AllDirectories) .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta")) .Skip(numberToSkip) .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue) .Select(f => new StandaloneAzureBlockBlob( containerDirectory, f.FullName.Substring(containerDirectory.Length + 1))) .ToList(); var resultSegment = new StandaloneAzureBlobResultSegment( files, new BlobContinuationToken { NextMarker = DetermineNextMarker(numberToSkip, files.Count) }); return resultSegment; }
private StandaloneAzureBlobResultSegment FindFilesHierarchical(string prefix, int? maxResults, int numberToSkip) { var directories = new DirectoryInfo(_containerDirectory).EnumerateDirectories((prefix ?? "") + "*", SearchOption.TopDirectoryOnly) .Where(f => !f.Name.EndsWith(".meta")) .Select(f => (IAzureListBlobItem) new StandaloneAzureBlobDirectory(f.FullName)); var files = new DirectoryInfo(_containerDirectory).EnumerateFiles((prefix ?? "") + "*", SearchOption.TopDirectoryOnly) .Where(f => !(f.DirectoryName ?? "").EndsWith(".meta")) .Select(f => (IAzureListBlobItem) new StandaloneAzureBlockBlob(new Uri(f.FullName))); var combined = directories.Concat(files) .Skip(numberToSkip) .Take(maxResults.HasValue ? maxResults.Value : Int32.MaxValue) .ToList(); var resultSegment = new StandaloneAzureBlobResultSegment( combined, new BlobContinuationToken { NextMarker = DetermineNextMarker(numberToSkip, combined.Count) }); return resultSegment; }