Exemplo n.º 1
0
        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))
            });
        }
Exemplo n.º 2
0
        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));
 }