public override IEnumerable <PvcStream> Execute(IEnumerable <PvcStream> inputStreams) { var outputStream = new MemoryStream(); var returnStream = new PvcStream(() => outputStream); ZipFile zip = new ZipFile(); zip.CompressionLevel = _level; if (!String.IsNullOrEmpty(_password)) { zip.Password = _password; } foreach (var inputStream in inputStreams) { ZipEntry e = zip.AddEntry(inputStream.StreamName, inputStream); } ; zip.Save(outputStream); return(new[] { returnStream.As(String.Format("{0}.zip", _archiveName)) }); }
public override IEnumerable <PvcStream> Execute(IEnumerable <PvcStream> inputStreams) { var resultStreams = new List <PvcStream>(); foreach (var inputStream in inputStreams) { ZipFile zip = ZipFile.Read(inputStream); foreach (ZipEntry e in zip) { var outputStream = new ZipMemoryStream(); if (!String.IsNullOrEmpty(_password)) { e.Password = _password; } e.Extract(outputStream); var resultStream = new PvcStream(() => outputStream); resultStream.Tags.Add("unzipped"); resultStreams.Add(resultStream.As(e.FileName)); } } ; return(resultStreams); }
private bool IsAnonymousModule(PvcStream stream) { using (var reader = new StreamReader(stream)) { do { var currentLine = reader.ReadLine(); if (currentLine != null && currentLine.StartsWith("define([", StringComparison.InvariantCultureIgnoreCase)) { return(true); } }while (!reader.EndOfStream); } return(false); }
private string ConvertToInlineHtmlModule(PvcStream stream) { using (var reader = new StreamReader(stream)) { var rawHtml = reader.ReadToEnd(); var singleLineHtml = rawHtml .Replace("\r\n", string.Empty) .Replace("\n", string.Empty) .Replace("'", "\\'") // Replace ' with \' .Replace("\"", "\\\""); // Replace " with \" return(string.Format("define(\"{0}\", [], function () {{ return '{1}'; }} )", this.moduleNameGetter(stream.StreamName), singleLineHtml)); } }
private PvcStream ConvertToNamedModule(PvcStream stream) { stream.Position = 0; using (var reader = new StreamReader(stream)) { var moduleName = this.moduleNameGetter(stream); var originalContents = reader.ReadToEnd(); var newContents = originalContents.Replace("define([", string.Format("define(\"{0}\", [", moduleName)); if (originalContents != newContents) { var newStream = PvcUtil.StringToStream(newContents, stream.StreamName); newStream.ResetStreamPosition(); return(newStream); } return(stream); } }
private static string DefaultGetModuleName(PvcStream stream) { return(Path.GetFileNameWithoutExtension(stream.StreamName)); }