Ejemplo n.º 1
0
        public static List <WebArtworkDetailed> FanartArtworkReader(SQLiteDataReader reader, int index, object param)
        {
            ArtworkReaderParameters args = (ArtworkReaderParameters)param;
            var list = ((IEnumerable <string>)DataReaders.ReadPipeList(reader, index)).Select(x =>
            {
                string[] parts = x.Split('?'); // ? is used as separator between filename and rating
                string path    = Path.Combine(args.DirectoryName, parts[0].Replace('/', '\\'));
                return(new WebArtworkDetailed()
                {
                    Type = args.FileType,
                    Path = path,
                    Offset = 0,
                    Filetype = Path.GetExtension(path).Substring(1),
                    Rating = String.IsNullOrEmpty(parts[1]) ? 1 :
                             (int)Math.Round(Single.Parse(parts[1].Replace(',', '.'), System.Globalization.CultureInfo.InvariantCulture) * 10),
                    Id = parts[2]
                });
            }).ToList();

            list.Sort(AnonymousComparer.FromLambda <WebArtworkDetailed>((x, y) => y.Rating - x.Rating));
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Offset = i;
            }
            return(list);
        }
Ejemplo n.º 2
0
 public static List <WebActor> ActorReader(SQLiteDataReader reader, int idx)
 {
     return(((IList <string>)DataReaders.ReadPipeList(reader, idx)).Select(x => new WebActor()
     {
         Title = x
     }).ToList());
 }
Ejemplo n.º 3
0
 private List <string> CreditsReader(SQLiteDataReader reader, int idx)
 {
     return(((string)DataReaders.ReadString(reader, idx))
            .Split('/')
            .Select(x => x.Trim())
            .ToList());
 }
Ejemplo n.º 4
0
 private List <WebActor> ActorReader(SQLiteDataReader reader, int idx)
 {
     return(((IList <string>)DataReaders.ReadPipeList(reader, idx)).Select(x => new WebActor()
     {
         Name = x
     }).ToList());
 }
Ejemplo n.º 5
0
        /// <summary>
        ///     Executes the reader.
        /// </summary>
        public DbDataReader ExecuteReader(DbCommand command)
        {
            var reader = command.ExecuteReader();

            DataReaders.Add(new Tuple <DbCommand, IDataReader>(command, reader));

            return(reader);
        }
Ejemplo n.º 6
0
 public void Load()
 {
     if (!IsLoaded)
     {
         DataReaders.ForEach(dr =>
         {
             dr.Setup();
             dr.LoadData(this);
         });
     }
     IsLoaded = true;
 }
Ejemplo n.º 7
0
        private List <WebArtworkDetailed> BackdropReader(SQLiteDataReader reader, int idx)
        {
            int i = 0;

            return((DataReaders.ReadStringAsList(reader, idx) as List <string>).Select(x => new WebArtworkDetailed()
            {
                Offset = i++,
                Type = WebFileType.Backdrop,
                Path = x,
                Id = x.GetHashCode().ToString(),
                Filetype = Path.GetExtension(x).Substring(1),
                Rating = 1
            }).ToList());
        }
Ejemplo n.º 8
0
        private List <WebExternalId> ExternalIdReader(SQLiteDataReader reader, int idx, object site)
        {
            List <WebExternalId> list = new List <WebExternalId>();
            string val = (string)DataReaders.ReadString(reader, idx);

            if (!String.IsNullOrEmpty(val))
            {
                list.Add(new WebExternalId()
                {
                    Site = (string)site,
                    Id   = val
                });
            }
            return(list);
        }
Ejemplo n.º 9
0
        private List <WebArtworkDetailed> CoverReader(SQLiteDataReader reader, int idx)
        {
            int i         = 0;
            var preferred = (string)DataReaders.ReadString(reader, idx + 1);

            return((DataReaders.ReadPipeList(reader, idx) as List <string>).Select(x => new WebArtworkDetailed()
            {
                Offset = i++,
                Type = WebFileType.Cover,
                Path = x,
                Id = x.GetHashCode().ToString(),
                Filetype = Path.GetExtension(x).Substring(1),
                Rating = x == preferred ? 2 : 1
            }).ToList());
        }
Ejemplo n.º 10
0
        private WebArtworkDetailed ArtworkReader(SQLiteDataReader reader, int index, object param)
        {
            string path = (string)DataReaders.ReadString(reader, index);

            if (String.IsNullOrEmpty(path))
            {
                return(null);
            }
            return(new WebArtworkDetailed()
            {
                Type = (WebFileType)param,
                Path = path,
                Offset = 0,
                Filetype = Path.GetExtension(path).Substring(1),
                Rating = 1,
                Id = path.GetHashCode().ToString()
            });
        }
Ejemplo n.º 11
0
        public static List <WebArtworkDetailed> ArtworkReader(SQLiteDataReader reader, int index, object param)
        {
            ArtworkReaderParameters args = (ArtworkReaderParameters)param;
            int i = 0;

            return(((IEnumerable <string>)DataReaders.ReadPipeList(reader, index)).Select(x =>
            {
                string path = Path.Combine(args.DirectoryName, x.Replace('/', '\\'));
                return new WebArtworkDetailed()
                {
                    Type = args.FileType,
                    Path = path,
                    Offset = i++,
                    Filetype = Path.GetExtension(path).Substring(1),
                    Rating = 1,
                    Id = path.GetHashCode().ToString()
                };
            }).ToList());
        }
Ejemplo n.º 12
0
        public static List <WebArtworkDetailed> PreferedArtworkReader(SQLiteDataReader reader, int index, object param)
        {
            ArtworkReaderParameters args = (ArtworkReaderParameters)param;
            int i     = 0;
            var items = (IEnumerable <string>)DataReaders.ReadPipeList(reader, index);

            string preferedItem = (string)DataReaders.ReadString(reader, index + 1);

            if (!String.IsNullOrEmpty(preferedItem))
            {
                if (preferedItem.StartsWith("\\"))
                {
                    preferedItem = preferedItem.Substring(1);
                }
                if (!items.Contains(preferedItem))
                {
                    items = items.Concat(new List <string>()
                    {
                        preferedItem
                    });
                }
            }

            return(items.Select(filename =>
            {
                if (filename.StartsWith("\\"))
                {
                    filename = filename.Substring(1);
                }
                string path = Path.Combine(args.DirectoryName, filename.Replace('/', '\\'));
                return new WebArtworkDetailed()
                {
                    Type = args.FileType,
                    Path = path,
                    Offset = i++,
                    Filetype = Path.GetExtension(path).Length > 0 ? Path.GetExtension(path).Substring(1) : String.Empty,
                    Rating = filename == preferedItem ? 2 : 1,
                    Id = path.GetHashCode().ToString()
                };
            }).ToList());
        }
Ejemplo n.º 13
0
 public static string ReadSeasonID(SQLiteDataReader reader, int offset)
 {
     return(DataReaders.ReadIntAsString(reader, offset - 1) + "_s" + DataReaders.ReadIntAsString(reader, offset));
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Creates a new environment data reader, which immediately starts to read data from Kafka.
 /// </summary>
 /// <param name="site">The storage site the new reader is for.</param>
 private void CreateAndRegisterDataReader(StorageSite site)
 {
     DataReaders.Add(site.Id, new EnvironmentalDataReader(LoggerFactory.CreateLogger <EnvironmentalDataReader>(), SnapshotQueue, KafkaEndpoint, site));
 }