Esempio n. 1
0
        public void CopyTo(DirectoryName path)
        {
            //refactor this out?
            if (!System.IO.Directory.Exists(path.GetPath()))
            {
                System.IO.Directory.CreateDirectory(path.GetPath());
            }

            // Copy all files.
            var files = GetFiles();

            foreach (var file in files)
            {
                var fileDestination = FileName.GetFileName(path, file.Name.GetName());
                file.CopyTo(fileDestination);
            }

            // Process subdirectories.
            var dirs = GetDirectories();

            foreach (var dir in dirs)
            {
                var destinationDir = DirectoryName.GetDirectoryName(path, dir.Name.GetName());
                dir.CopyTo(destinationDir);
            }
        }
        internal static async Task <string> GetBlobHashAsync(string gitExe, FileName fileName)
        {
            if (!File.Exists(fileName))
            {
                return(null);
            }

            ProcessRunner runner = new ProcessRunner();

            runner.WorkingDirectory       = fileName.GetParentDirectory();
            runner.RedirectStandardOutput = true;
            runner.Start(gitExe, "ls-tree", "HEAD", fileName.GetFileName());
            using (var reader = runner.OpenStandardOutputReader()) {
                string firstLine = await reader.ReadLineAsync().ConfigureAwait(false);

                if (firstLine != null)
                {
                    string[] parts = firstLine.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
                    if (parts.Length >= 3)
                    {
                        if (parts[2].Length == 40)
                        {
                            return(parts[2]);
                        }
                    }
                }
            }
            return(null);
        }
Esempio n. 3
0
        public void Getting_busy()
        {
            FileSystemLocator locator = new LocalFileSystemLocator();

            File file = locator.GetFile(FileName.GetFileName("FileSystem\\FileSpecs\\sample.zip/manifest.json"));

            file.Name.GetName().ShouldEqual("manifest.json");
        }
Esempio n. 4
0
        public void We_Write_a_file()
        {
            fs = new DotNetFileSystem();
            fs.Write(filePath, contents);
            var f = new DotNetFile(FileName.GetFileName(@".\temp.txt"));

            f.CopyTo(FileName.GetFileName(@".\copy.txt"));
        }
Esempio n. 5
0
        public void Setup()
        {
            _location  = Assembly.GetExecutingAssembly().Location;
            _directory = Path.GetDirectoryName(_location);
            _directory = _directory.Substring(_directory.LastIndexOf('\\') + 1);

            _fileName = FileName.GetFileName(_location);
        }
Esempio n. 6
0
        public File GetChildFile(string name)
        {
            if (_files.ContainsKey(name))
            {
                return(_files[name]);
            }

            return(new ZippedFile(FileName.GetFileName(Name, name), new byte[] {}, false));
        }
        public async Task <IActionResult> UploadFile(IFormFile file)
        {
            string path = _fileName.GetFileName(file);

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }

            return(Ok(path.Replace("wwwroot", "")));
        }
Esempio n. 8
0
        static string FindXmlDocumentation(FileName assemblyFileName, TargetRuntime runtime)
        {
            // First, look in the same directory as the assembly.
            // This usually works for .NET reference assembies and 3rd party libraries
            string xmlFileName = LookupLocalizedXmlDoc(assemblyFileName);

            if (xmlFileName != null)
            {
                return(xmlFileName);
            }
            // Otherwise, assume the assembly is part of .NET and try looking
            // in the framework directory.
            // (if the assembly is not part of .NET, we won't find anything there)
            string name = assemblyFileName.GetFileName();

            switch (runtime)
            {
            case TargetRuntime.Net_1_0:
                xmlFileName = LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v1.0.3705", name));
                break;

            case TargetRuntime.Net_1_1:
                xmlFileName = LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v1.1.4322", name));
                break;

            case TargetRuntime.Net_2_0:
                xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, "v3.5", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v3.5\Profile\Client", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, "v3.0", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v2.0.50727", name));
                break;

            case TargetRuntime.Net_4_0:
            default:
                xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.6", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.2", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.1", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.0", name))
                              ?? LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v4.0.30319", name));
                break;
            }
            return(xmlFileName);
        }
Esempio n. 9
0
        void Parse()
        {
            using (var stream = System.IO.File.OpenRead(Name.GetPath()))
            {
                var input = new ZipInputStream(stream);

                ZipEntry entry;
                while ((entry = input.GetNextEntry()) != null)
                {
                    Trace.WriteLine("Reading Entry: " + entry.FileName);
                    var name = entry.FileName.Split('/');

                    if (name.Length == 1) // a file
                    {
                        byte[] data = input.ReadToEnd();
                        Trace.WriteLine("Read: " + data.Length + " bytes");
                        var fn = FileName.GetFileName(this.Name, name[0]);
                        _files.Add(name[0], new ZippedFile(fn, data));
                    }
                    else
                    {
                        var first  = name.First();
                        var parent = new ZippedDirectory(DirectoryName.GetDirectoryName(this.Name, first), this);
                        _directories.Add(first, parent);
                        var rest  = name.Skip(1).Take(name.Length - 2);
                        var queue = new Queue <string>(rest);

                        foreach (var item in queue)
                        {
                            var dir = new ZippedDirectory(DirectoryName.GetDirectoryName(parent.Name, item), parent);
                            parent = dir;
                        }
                        var file = name.Last();

                        byte[] data = input.ReadToEnd();
                        Trace.WriteLine("Read: " + data.Length + " bytes");
                        //neds to be added
                        var zipfile = new ZippedFile(FileName.GetFileName(parent.Name, file), data);
                        parent.AddFile(file, zipfile);
                    }
                }
            }
            _parse = () => { };
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            try
            {
                if (args == null || args.Length <= 0)
                {
                    ILog log = new FileLog();
                    log.Log("The agrument is null");
                }
                else
                {
                    string fileName = string.Empty;

                    IGetFileName getFileName = new FileName();
                    fileName = getFileName.GetFileName(args[0]);

                    List <Name> nameList = new List <Name>();
                    IReadLine   readline = new Readline();
                    nameList = readline.ReadLine(fileName);

                    List <Name> sortedNameList = new List <Name>();
                    ISortName   sortName       = new SortName();
                    sortedNameList = sortName.Sort(nameList);

                    IPrintName printName = new PrintName();
                    printName.PrintNameToScreen(sortedNameList);

                    IWriteNameToFile writeNameToFile = new WriteNameToFile();
                    writeNameToFile.WriteName(sortedNameList);

                    Console.ReadLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(ex.Message);
                ILog log = new FileLog();
                log.Log("The file could not be read:" + ex);
            }
        }
Esempio n. 11
0
		internal static async Task<string> GetBlobHashAsync(string gitExe, FileName fileName)
		{
			if (!File.Exists(fileName))
				return null;
			
			ProcessRunner runner = new ProcessRunner();
			runner.WorkingDirectory = fileName.GetParentDirectory();
			runner.RedirectStandardOutput = true;
			runner.Start(gitExe, "ls-tree", "HEAD", fileName.GetFileName());
			using (var reader = runner.OpenStandardOutputReader()) {
				string firstLine = await reader.ReadLineAsync().ConfigureAwait(false);
				if (firstLine != null) {
					string[] parts = firstLine.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
					if (parts.Length >= 3) {
						if (parts[2].Length == 40)
							return parts[2];
					}
				}
			}
			return null;
		}
 static string FindXmlDocumentation(FileName assemblyFileName, TargetRuntime runtime)
 {
     // First, look in the same directory as the assembly.
     // This usually works for .NET reference assembies and 3rd party libraries
     string xmlFileName = LookupLocalizedXmlDoc(assemblyFileName);
     if (xmlFileName != null)
         return xmlFileName;
     // Otherwise, assume the assembly is part of .NET and try looking
     // in the framework directory.
     // (if the assembly is not part of .NET, we won't find anything there)
     string name = assemblyFileName.GetFileName();
     switch (runtime) {
         case TargetRuntime.Net_1_0:
             xmlFileName = LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v1.0.3705", name));
             break;
         case TargetRuntime.Net_1_1:
             xmlFileName = LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v1.1.4322", name));
             break;
         case TargetRuntime.Net_2_0:
             xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, "v3.5", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v3.5\Profile\Client", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, "v3.0", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v2.0.50727", name));
             break;
         case TargetRuntime.Net_4_0:
         default:
             xmlFileName = LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.2", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5.1", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.5", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(referenceAssembliesPath, @".NETFramework\v4.0", name))
                 ?? LookupLocalizedXmlDoc(Path.Combine(frameworkPath, "v4.0.30319", name));
             break;
     }
     return xmlFileName;
 }
Esempio n. 13
0
 public void When_you_get_a_directory_that_exists()
 {
     _directoryName       = FileName.GetFileName(Assembly.GetExecutingAssembly().Location).GetDirectoryName();
     _directoryInQuestion = Locator.GetDirectory(_directoryName);
 }
Esempio n. 14
0
 public void When_you_get_a_file_that_DOESNT_exist()
 {
     _fileName = FileName.GetFileName(".\\doesntexist.txt");
 }
Esempio n. 15
0
        public void When_you_get_a_file_that_exists()
        {
            _fileName = FileName.GetFileName(Assembly.GetExecutingAssembly().Location);

            _fileInQuestion = Locator.GetFile(_fileName);
        }