Ejemplo n.º 1
0
        private static void ParseItems(string itemFile, string outputFolder)
        {
            using (StreamReader reader = new StreamReader(itemFile))
            {
                RawItems       rawItems       = RawItems.FromJson(reader.ReadToEnd());
                ProcessedItems processedItems = new ProcessedItems();

                foreach (RawItem rawItem in rawItems.Items)
                {
                    if (rawItem.Price < 0)
                    {
                        continue;
                    }

                    rawItem.Category = RecategorizeItem(rawItem);

                    ProcessedItem processedItem = ProcessedItem.FromRawItem(rawItem);
                    processedItems.Items.Add(processedItem);
                }

                processedItems.Sort();

                string outputFileItems = Path.Combine(outputFolder, "StoreItems.json");

                GenerateItemsOutput(processedItems, outputFileItems);
            }
        }
Ejemplo n.º 2
0
        // private static string[] Categories = { "Cat 1", "Cat 2", "Cat 3", "Cat 4", "Cat 5" };
        // private static int Counter = 0;
        //public ProcessedItem ProcessItem(Item item)
        //{
        // var originalPath = GetItemProperty(item, "OriginalPath");

        //// Trace.WriteLine($"Enriching '{originalPath}'...");

        // var fileExtension = GetItemProperty(item, "FileExtension");

        // var props = new List<AbstractProperty>();

        // if (Counter == int.MaxValue) Counter = 0;

        // props.Add(new Property<string>
        // {
        //     Name = "CustomCategory",
        //     Value = Categories[Counter++ % 5]
        // });

        // if (fileExtension != null)
        // {
        //     //Trace.WriteLine($"Extension '{fileExtension}'...");
        //     props.Add(new Property<string>
        //     {
        //         Name = "CustomExt",
        //         Value = fileExtension
        //     });
        // }
        // return new ProcessedItem
        // {
        //     ErrorCode = 0,
        //     ItemProperties = props
        // };
        public ProcessedItem ProcessItem(Item item)
                
        {
                        ProcessedItem processedItem = new ProcessedItem
                                                                   {
                                ItemProperties = new List <AbstractProperty>()
                                                             
            };

                        processedItem.ErrorCode = 0;
                        processedItem.ItemProperties.Clear();
                        try
                         {
                                var contentsProperty             = item.ItemProperties.Where(p => p.Name == "body").FirstOrDefault();
                                Property <string> MyContentsProp = contentsProperty as Property <string>;

                                if(MyContentsProp == null)
                                 {
                                        processedItem.ErrorCode = 1; // UnexpectedType
                                        return processedItem;

                                    
                }
                                else if (MyContentsProp.Value != null)
                {
                                     {
                                            MyContentsProp.Name = "MyContents";
                                            processedItem.ItemProperties.Add(MyContentsProp);
                                        
                    }
                }
                            
            }
                        catch
                         {
                                processedItem.ErrorCode = 2; // UnexpectedError
                            
            }
                        return processedItem;

                    
        }
Ejemplo n.º 3
0
 protected void OnProcessedItem()
 {
     ProcessedItem?.Invoke(this, EventArgs.Empty);
 }
        public ProcessedItem ProcessItem(Item item)
        {
            ProcessedItem processedItem = new ProcessedItem { ItemProperties = new List<AbstractProperty>() };

            AbstractProperty pathProperty = item.ItemProperties.FirstOrDefault(p => p.Name == "Path");
            if (pathProperty != null && pathProperty.ObjectValue.ToString().Contains(@"www.torrentreactor.net/torrents/"))
            {
                var pathProp = pathProperty as Property<string>;
                if (pathProp != null)
                {
                    var parser = new SharePirates.Torrent.Parsers.TorrentReactorParser();
                    var metaDatas = parser.GetMetaDataTorrentReactor(pathProp.Value.EndsWith("/") ?
                        pathProp.Value.Remove(pathProp.Value.Length - 1, 1) : pathProp.Value);

                    Random vRandom = new Random();;

                    string temptype;
                    int i;
                    if (metaDatas.TryGetValue("torrentCategories", out temptype))
                    {
                        string[] mTypes = { "HDTV", "DVDRIP", "TVSCREEN" };
                        i = vRandom.Next(0, 2);
                        temptype = mTypes[i];//movietype.Split(',').Count() > 1 ? movietype.Split(',').First() : movietype};
                        var movieType = new Property<string>()
                        {
                            Name = "MovieType",
                            Value = temptype
                        };
                        processedItem.ItemProperties.Add(movieType);
                    }

                    string[] mFileTypes = { "MP4", "AVI", "MPG" };
                    vRandom = new Random();
                    i = vRandom.Next(0, 2);
                    temptype = mFileTypes[i];//movietype.Split(',').Count() > 1 ? movietype.Split(',').First() : movietype};
                    var mFileType = new Property<string>()
                    {
                        Name = "MovieFileType",
                        Value = temptype
                    };
                    processedItem.ItemProperties.Add(mFileType);

                    string[] mGenreTypes = { "Comedy", "Sci-fi", "Thriller", "Action", "Drama", "Adventure" };
                    vRandom = new Random();
                    i = vRandom.Next(0, 5);
                    temptype = mGenreTypes[i];//movietype.Split(',').Count() > 1 ? movietype.Split(',').First() : movietype};
                    var mGenreType = new Property<string>()
                    {
                        Name = "MovieGenre",
                        Value = temptype
                    };
                    processedItem.ItemProperties.Add(mGenreType);

                    string size;
                    if (metaDatas.TryGetValue("torrentSize", out size))
                    {
                        var movieSize = new Property<string>()
                        {
                            Name = "MovieSize",
                            Value = size
                        };
                        processedItem.ItemProperties.Add(movieSize);
                    }

                    string title;
                    if (metaDatas.TryGetValue("torrentTitle", out title))
                    {
                        var stringTitle = new Property<string>()
                        {
                            Name = "Title",
                            Value = title
                        };
                        processedItem.ItemProperties.Add(stringTitle);
                    }

                    string stringurl;
                    if (metaDatas.TryGetValue("torrentUrl", out stringurl))
                    {
                        var stringUrl = new Property<string>()
                        {
                            Name = "MagnetLink",
                            Value = stringurl
                        };
                        processedItem.ItemProperties.Add(stringUrl);
                    }
                }
            }

            return processedItem;
        }