Beispiel #1
0
 public override int Run(string[] remainingArguments)
 {
     using (var fileStream = new FileStream(remainingArguments[0], FileMode.Open, FileAccess.Read)) {
         using (var reader = new FileSystemReader(fileStream)) {
             reader.ReadFileSystem();
         }
     }
     return(0);
 }
        private void inDirSelectBtn_Click(object sender, EventArgs e)
        {
            //OpenFileDialog fileDialog = new OpenFileDialog();
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();

            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                inputFileTxt.Text = folderDialog.SelectedPath;
                fsr = new FileSystemReader();
            }
        }
        public override void Invoke()
        {
            base.Invoke();

            if (!NamedParameters.ContainsKey("entry"))
            {
                Context.Logger.WriteLine("Parameter 'entry' is missing.");
                return;
            }
            var entry = NamedParameters["entry"];

            IFileReader fileReader;

            if (NamedParameters.ContainsKey("manifest"))
            {
                var manifest       = NamedParameters["manifest"];
                var manifestReader = new ManifestResourcesReader(GetType());
                var stream         = manifestReader.GetStream(manifest);
                var zipArchive     = new ZipArchive(stream, ZipArchiveMode.Read, leaveOpen: false);
                fileReader = new ZipArchiveReader(zipArchive);
            }
            else
            if (NamedParameters.ContainsKey("archive"))
            {
                var archive    = NamedParameters["archive"];
                var zipArchive = ZipFile.Open(archive, ZipArchiveMode.Read);
                fileReader = new ZipArchiveReader(zipArchive);
            }
            else if (NamedParameters.ContainsKey("dir"))
            {
                var dir = NamedParameters["dir"];
                fileReader = new FileSystemReader(dir);
            }
            else
            {
                Context.Logger.WriteLine("You must specify either dir, manifest or archive to define the source location of the entry point.");
                return;
            }

            var taxonomySource = new TaxonomyFileSet(fileReader);

            Instance.Dts.AddTaxonomy(new Uri(entry), taxonomySource);
        }