public void CreatedWithAPath_IsDirectoryIsAccurate(string path, bool isDirectory)
        {
            var si = new SonosIdentifier {
                Path = path
            };

            Assert.That(si.IsDirectory, Is.EqualTo(isDirectory));
        }
        public void FromId_IdIsForAPath_ReturnsAContainer()
        {
            var id = new SonosIdentifier {
                Path = "\\abc\\def"
            };

            var resource = PhysicalResource.FromId(id);

            Assert.That(resource, Is.TypeOf <Container>());
            Assert.That(resource.DisplayName, Is.EqualTo("def"));
        }
        private ResourceCollection GetResources(SonosIdentifier identifier)
        {
            if (!identifier.IsDirectory)
            {
                return(new ResourceCollection(identifier));
            }

            var directoryEntries = new ResourceCollection(identifier);

            directoryEntries.AddRange(_fs.Directory.GetDirectories(identifier.Path).Select(ToPhysicalResource <Container>));
            directoryEntries.AddRange(_fs.Directory.GetFiles(identifier.Path, "*.mp3", SearchOption.TopDirectoryOnly).Select(ToPhysicalResource <MusicFile>));
            return(directoryEntries);
        }
        public List <IRepresentAResource> GetResources(SonosIdentifier identifier)
        {
            if (!identifier.IsDirectory)
            {
                return(new List <IRepresentAResource>());
            }

            var directoryEntries = new List <IRepresentAResource>();
            var path             = _config.MusicShare + identifier.Path;

            directoryEntries.AddRange(Directory.GetDirectories(path).Select(ToContainer));
            directoryEntries.AddRange(Directory.GetFiles(path, "*.mp3", SearchOption.TopDirectoryOnly).Select(ToMusicFile));
            return(directoryEntries);
        }
Example #5
0
 public MusicFile(SonosIdentifier path) : base(path)
 {
 }
 public string BuildUriForId(SonosIdentifier identifier)
 {
     return("x-file-cifs:" + (_config.MusicShare + identifier.Path).Replace("\\", "/"));
 }
Example #7
0
 public Container(SonosIdentifier path) : base(path)
 {
 }
Example #8
0
 public Container(SonosIdentifier path) : base(path)
 {
 }
Example #9
0
 public MusicFile(SonosIdentifier path) : base(path)
 {
 }