private async Task <IEnumerable <string> > LoadScriptsAsync( SourceFileParametrization fileParametrization, CancellationToken ct) { if (fileParametrization.FilePath != null) { var script = await _fileGateway.GetFileContentAsync( fileParametrization.FilePath, ct); return(new[] { script }); } else if (fileParametrization.FolderPath != null) { var scripts = _fileGateway .ChangeFolder(fileParametrization.FolderPath) .GetFolderContentsAsync(fileParametrization.Extensions, ct); var contents = (await scripts.ToEnumerableAsync()) .Select(t => t.content); return(contents); } else { throw new InvalidOperationException("We should never get here"); } }
internal async Task <MainParameterization> LoadParameterizationAsync( string parameterFilePath, IEnumerable <string> pathOverrides) { try { var deserializer = new DeserializerBuilder() .WithNamingConvention(CamelCaseNamingConvention.Instance) .Build(); var parameterText = await _fileGateway.GetFileContentAsync(parameterFilePath); var parameters = deserializer.Deserialize <MainParameterization>(parameterText); if (parameters == null) { throw new DeltaException($"File '{parameterFilePath}' doesn't contain valid parameters"); } ParameterOverrideHelper.InplaceOverride(parameters, pathOverrides); parameters.Validate(); return(parameters); } catch (JsonException ex) { throw new DeltaException( $"Issue reading the parameter file '{parameterFilePath}'", ex); } }