Exemplo n.º 1
0
        private static DbOffer CreateDbOffer(DbSneaker sneaker, ListingSize size, Listing listing, RootParsingObject shop, Shop shopCatalogItem)
        {
            var deliveryUs = shopCatalogItem.delivery.Find(x => x.location == "US");
            var offer      = new DbOffer();

            offer.url        = listing.url;
            offer.price      = listing.price;
            offer.old_price  = listing.old_price;
            offer.currency   = shopCatalogItem.currency;
            offer.stock_name = shop.market_info.name;
            offer.price_usd_with_delivery_to_usa_and_minus_vat = AllStockExporter.GetAllStockPrice(offer.price, offer.currency, deliveryUs.value, deliveryUs.vat);
            return(offer);
        }
Exemplo n.º 2
0
        // ReSharper disable once RedundantAssignment
        public static void Main(string[] args)
        {
#if Feanor
            Logger.Info("Feanor mode!");
            args = new[] { "-DownloadImage" };
            //args = new string[] { "-afew" };
            //args = new string[] { "-bonanza_export" };
            //args = new string[] { "-upcdb" };

            //args = new string[] { "-nashStockParseCSVinJSONandGoToFTP" };
            //args = new string[] { "-basketshop_einhalb_queens" };
#elif DEBUG
            Logger.Info("Debug mode!");
            args = new[] { "-debug" };
            //args = new[] { "-snkrs.com" };
            //args = new[] { "-ValidateAllShops" };
            //args = new[] { "-DbCreate" };
            //args = new[] { "-DbController.DownloadImages" };
            //args = new[] { "-BonanzaExport3OnlyBonanza" };
            //args = new[] { "-BonanzaExport3" };
            //args = new[] { "-LoadVkGoods" };
            //args = new[] { "-SivasAB" };
            //args = new[] { "-PostHotOfferVk" };
            //args = new[] { "-SivasAB" };
            //args = new[] { "-snsAllBrands" };
            //args = new[] { "-OnlyBonanzaExport2" };
            //args = new[] { "-BonanzaExport2" };
            //args = new[] { "-AvitoNovoslob" };
#else
            Console.WriteLine("Release mode!");
#endif

            var startTime = DateTime.Now;

            if (args.Count() > 0)
            {
                Logger.Info("Параметр:" + args[0]);

                if (args[0] == "-AvitoNovoslob")
                {
                    //парсим файл дисконта, создаем csv и json файлы
                    //DiscontMskNovoslobParser novoslobParser = new DiscontMskNovoslobParser();
                    //novoslobParser.Run();

                    //добавляем инфу в фулкаталог
                    //FullCatalog2.Run();
                    Logger.Info("FullCatalog2 created");

                    //подгружаем фотки
                    //FullCatalog2.UpdateFullCatalogImages();
                    //FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                    Logger.Info("FullCatalog2 images updated");

                    //делаем фид ля авито
                    AvitoMskNovoslobExporter.Run();
                    Logger.Info("Avito Feed created");
                }

                if (args[0] == "-SivasAB")
                {
                    SivasParserAB sivasParserAb = new SivasParserAB();
                    sivasParserAb.Run();
                }

                if (args[0] == "-snkrs.com")
                {
                    SnkrsComParserAllBrands snrks = new SnkrsComParserAllBrands();
                    snrks.Run();
                }

                if (args[0] == "-snsAllBrands")
                {
                    SneakersnstuffParserAllBrands snsAllBrands = new SneakersnstuffParserAllBrands();
                    //snsAllBrands.ParseOneSneaker("https://www.sneakersnstuff.com/en/product/25821/reebok-question-lux");
                    snsAllBrands.Run();
                }

                if (args[0] == "-LoadVkGoods")
                {
                    var vkExporter = new VkExporter();
                    vkExporter.Run();
                }

                if (args[0].Equals("-feanor"))
                {
                    //Bitmap image1 = (Bitmap)Image.FromFile(@"C:\test\test.jpg", true);

                    //var color0 = image1.GetPixel(0, 0);
                    //var color1 = image1.GetPixel(1, 0);
                    //var color2 = image1.GetPixel(0, image1.Height - 1);
                    //var color3 = image1.GetPixel(1, image1.Height - 1);



                    //var blackLine = true;
                    ////string hex = "#FFFFFF";
                    ////Color _color = System.Drawing.ColorTranslator.FromHtml(hex);

                    //for (var i = 0; i < image1.Width; i++)
                    //{
                    //    var color = image1.GetPixel(i, image1.Height - 1);

                    //    if (color.B < 253 && color.G < 253 && color.R < 253)
                    //    {
                    //        blackLine = false;
                    //    }

                    //}

                    //Console.WriteLine("blackLine");



                    //var vkExporter = new VkExporter();
                    //vkExporter.Run();


                    //var id = 798354;

                    //var array = new List<string>
                    //{
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-1.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-2.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-3.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-4.jpg"
                    //};

                    //var sizeArray = new List<Size>
                    //{
                    //    new Size("brand", "category", "us1", "eu1", "uk1", "cm1", "ru1"),
                    //    new Size("brand", "category", "us2", "eu2", "uk2", "cm2", "ru2"),
                    //    new Size("brand", "category", "us3", "eu3", "uk3", "cm3", "ru3"),
                    //    new Size("brand", "category", "us4", "eu4", "uk4", "cm4", "ru4"),
                    //    new Size("brand", "category", "us5", "eu5", "uk5", "cm5", "ru5")
                    //};

                    //var vkGood = new VkGoodsItem()
                    //{
                    //    Name = "NoName",
                    //    Description = "Other Description",
                    //    Price = 500,
                    //    Images = array,
                    //    Sizes = sizeArray
                    //};

                    //var vk = new VkPosting();
                    ////var idAdd =  vk.AddOrEditVkGoods(vkGood, 798354);
                    //vk.DeleteVkGoods(id);
                }

                if (args[0] == "-bonanza_export")
                {
                    // ReSharper disable once UnusedVariable
                    CreateCatalog createCatalog = new CreateCatalog();
                    FullCatalog.CleanFullCatalog(); //очищаем каталог от левых артикулов, поправляем названия и бренды. костыль
                    Logger.Info("FullCatalog created");

                    CurrencyRate currate = new CurrencyRate();
                    currate.Run();
                    AllStockExporter exporter = new AllStockExporter();
                    exporter.CreateAllStockList();
                    Logger.Info("AllStock created");

                    BonanzaExporter bonanza = new BonanzaExporter();
                    bonanza.Run();
                    Logger.Info("Bonanza created");
                    TiuExporter tiu = new TiuExporter();
                    tiu.Run();
                    Logger.Info("Tiu created");
                    SneakerIconExporter sneakerIconExporter = new SneakerIconExporter();
                    sneakerIconExporter.Run();
                    Logger.Info("Sneaker-icon.ru.csv created");

                    //FullCatalog2.Run();
                    //Console.WriteLine("FullCatalog2 created");

                    //FullCatalog2.PostNewTodayItems();

                    //AllStockExporter2.Run();
                    //Console.WriteLine("AllStock2 created");
                }

                if (args[0] == "-BonanzaExport2")
                {
                    FullCatalog2.Run();
                    Logger.Info("FullCatalog2 created");

                    FullCatalog2.UpdateFullCatalogImages();
                    FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                    Logger.Info("FullCatalog2 images updated");

                    AllStockExporter2.Run();
                    Logger.Info("AllStock2 created");

                    BonanzaExporter2.Run();
                    Logger.Info("Bonanza2 created");
                }

                if (args[0] == "-OnlyBonanzaExport2")
                {
                    BonanzaExporter2.Run();
                    Logger.Info("Bonanza2 created");
                }

                if (args[0] == "-ValidateAllShops")
                {
                    ValidatorAllBrands.ValidateAllShops();
                }

                if (args[0] == "-DbCreate")
                {
                    var db = new DbController();
                    db.Create();
                    Logger.Info("DB created");
                }

                if (args[0] == "-DbController.DownloadImages")
                {
                    DbController.DownloadImages();
                }

                if (args[0] == "-BonanzaExport3OnlyBonanza")
                {
                    BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    bnnzAllBrands.Run();
                }

                if (args[0] == "-BonanzaExport3")
                {
                    ValidatorAllBrands.ValidateAllShops();

                    DbController db = new DbController();
                    db.Create();
                    Logger.Info("DB created");

                    DbController.DownloadImages();

                    BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    bnnzAllBrands.Run();
                }

                if (args[0] == "-sivas_sale_parser")
                {
                    CurrencyRate currate = new CurrencyRate();
                    currate.Run();
                    SivasSaleParser sivasSale = new SivasSaleParser();
                    sivasSale.Run();
                }

                if (args[0] == "-basketshop")
                {
                    BasketShopParser basketShopParser = new BasketShopParser();
                    basketShopParser.Update();
                }

                if (args[0] == "-einhalb")
                {
                    //BasketShopParser basketShopParser = new BasketShopParser();
                    EinhalbParser einhalpParser = new EinhalbParser();
                    //QueensParser queensParser = new QueensParser();
                    //basketShopParser.Update();
                    einhalpParser.Update();
                    //queensParser.Update();
                }

                if (args[0] == "-queens")
                {
                    //BasketShopParser basketShopParser = new BasketShopParser();
                    //EinhalbParser einhalpParser = new EinhalbParser();
                    QueensParser queensParser = new QueensParser();
                    //basketShopParser.Update();
                    //einhalpParser.Update();
                    queensParser.Update();
                }

                if (args[0] == "-basketshop_einhalb_queens")
                {
                    BasketShopParser basketShopParser = new BasketShopParser();
                    EinhalbParser    einhalpParser    = new EinhalbParser();
                    QueensParser     queensParser     = new QueensParser();
                    basketShopParser.Update();
                    einhalpParser.Update();
                    queensParser.Update();
                }

                if (args[0] == "-streetbeat")
                {
                    //парсится 1 минуту
                    StreetBeatParser strbeatParse = new StreetBeatParser();
                    strbeatParse.Update();
                }

                if (args[0] == "-sneakersnstuff")
                {
                    //70 минут парсится
                    SneakersnstuffParser sneakerStuff = new SneakersnstuffParser();
                    sneakerStuff.Run();
                }

                if (args[0] == "-SivasAllBrands")
                {
                    SivasParserAB siavParserAb = new SivasParserAB();
                    siavParserAb.Run();
                }

                if (args[0] == "-overkillshop")
                {
                    //14 минут парсится
                    OverkillshopParser overkillshop = new OverkillshopParser();
                    overkillshop.Run();
                }

                if (args[0] == "-afew")
                {
                    AfewStoreParser afew = new AfewStoreParser();
                    afew.Run();
                }

                if (args[0] == "-suppa")
                {
                    //7 минут парсится
                    SuppaStoreParser suppa = new SuppaStoreParser();
                    suppa.Run();
                }

                if (args[0] == "-chmielna")
                {
                    //3 минуты парсится
                    ChmielnaParser chmielna = new ChmielnaParser();
                    chmielna.Run();
                }

                if (args[0] == "-viktor")
                {
                    SivasParser sivas = new SivasParser();
                    sivas.Run2();
                    SolehavenParser solehaven = new SolehavenParser();
                    solehaven.Run();
                    TitoloParser titolo = new TitoloParser();
                    titolo.Run2();
                    BdgastoreParser bdgastore = new BdgastoreParser();
                    bdgastore.Run();
                    AsphaltgoldParser asfaltgold = new AsphaltgoldParser();
                    asfaltgold.Run();

                    NashStockParser nashStockParser = new NashStockParser();
                    nashStockParser.Run();
                    DiscontSamaraParser discont = new DiscontSamaraParser();
                    discont.Run();
                }

                if (args[0] == "-upcdb")
                {
                    for (var i = 0; i < 300; i++)
                    {
                        var upcdb = new UPCDB();
                        upcdb.run3(10);
                    }
                }

                if (args[0] == "-UpdateFullCatalogImages")
                {
                    FullCatalog2.UpdateFullCatalogImages();
                    FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                }

                if (args[0] == "-HotOffers")
                {
                    //HotOffers.Run();
                    FullCatalog2.PostNewTodayItems();
                    HotOffers.Run2(5);
                }

                if (args[0] == "-NewToday")
                {
                    FullCatalog2.PostNewTodayItems();
                }

                if (args[0] == "-DownloadImage")
                {
                    var imageDownload = new ImageDownload();
                    imageDownload.Run();
                }

                if (args[0] == "-DownloadImageForStock")
                {
                    var imageDownload = new ImageDownload();
                    try
                    {
                        Logger.Debug("Введите номер стока");
                        var numberString = Console.ReadLine();
                        Logger.Debug("Номер стока " + numberString);

                        if (numberString == null)
                        {
                            throw new NullReferenceException("numberString = null");
                        }

                        var number = int.Parse(numberString);

                        imageDownload.RunForStock(number);
                    }
                    catch (Exception e)
                    {
                        Logger.Error(e, "Ошибка при распознавании номера стока");
                    }
                }

                if (args[0] == "-Avito")
                {
                    AvitoExporter3.Run();
                }

                if (args[0] == "-AvitoDiscontSamaraToSamara")
                {
                    AvitoDiscontSamaraToSamara.Run();
                }

                if (args[0] == "-PostHotOfferVk")
                {
                    var rnd = new Random().Next(61); //случайная задержка в минутах
                    Logger.Info("Задержка: " + rnd);
                    Thread.Sleep(rnd * 60 * 1000);
                    HotOffers.PostVkRandomOffer();
                }

                if (args[0] == "-DiscontParsing")
                {
                    //из файла самарского дисконта делаем лист стокрекорд
                    //csv файл должен быть в формате utf-8 и разделен точкой с запятой
                    DiscontStock dStock = new DiscontStock();
                    dStock.ParseStockOnHand(Config.GetConfig().DirectoryPath + @"Parsing\discont\Stock On Hand.csv");
                    dStock.SaveStockToCSV(Config.GetConfig().DirectoryPath + @"Parsing\discont\StockDiscont.csv");
                    dStock.ParseStockOnHand2(Config.GetConfig().DirectoryPath + @"Parsing\discont\Stock On Hand.csv");
                    dStock.SaveStockToCSV2(Config.GetConfig().DirectoryPath + @"Parsing\discont\StockDiscont2.csv");
                }

                if (args[0] == "-AllBrandsDownloadImages")
                {
                    DbController.DownloadImages();
                }

                if (args[0] == "-debug")
                {
                    var lodkiLarisa = new LarisaLodki();
                    var lodki       = lodkiLarisa.ParseLodki();

                    //var upwork = new UpworkCarelulu();
                    //upwork.Run();

                    //PortfolioMobiInterestComUpworkParser.Run();

                    //var d = Parser.GetHtmlPagePhantomJs("http://httpbin.org/ip");

                    //SizeChartAllBrands sizeChartAllBrands = new SizeChartAllBrands();
                    //sizeChartAllBrands.LoadSizeChartFromFtp();

                    //ShopValidatorAllBrands validator = new ShopValidatorAllBrands();
                    //validator.ValidateShop("snkrs.com");

                    //MyTelegram.PostMessageWaitRelease("test");
                    //BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    //bnnzAllBrands.Run();

                    //AvitoDiscontSamaraToSamara.Run();

                    //ValidatorAllBrands.ValidateAllShops();
                    //DbController.Update();


                    //var upcdb = new upcdb();
                    //upcdb.run2();

                    //Test.Crawlera();
                    //Test.Upcdb();

                    //AllStockExporter2.Run();

                    //FullCatalog.CleanFullCatalog();

                    //CreateCatalog createCatalog = new CreateCatalog();
                    //Console.WriteLine("FullCatalog created");

                    //FullCatalog.SaveCatalogToJson();

                    //FullCatalog2.Run();
                    //FullCatalog2.DeleteDuplicateItems();
                    //FullCatalog2.UpdateFullCatalogImages();

                    //NashStockParser nashStockParser = new NashStockParser();
                    //nashStockParser.Run();


                    //HotOffers.Run2(1);

                    //FullCatalog2.Run();
                    //Console.WriteLine("FullCatalog2 created");
                    //AllStockExporter2.Run();
                    //Console.WriteLine("AllStock2 created");

                    //FullCatalog2.PostNewTodayItems();

                    //AllStockExporter2.TestForDima();

                    // var imageDownload = new ImageDownload();
                    //imageDownload.Run();

                    //Helper.TelegramPost("test message", "-1001116441282");

                    //AvitoExporter3.SaveToXml(null);


                    //AvitoExporter3.Run();

                    //BonanzaExporter2.Run();
                    //BonanzaExporter2.Run2_MultiListing();

                    //Validator.ValidateAllShops();

                    //EinhalbParser einhalpParser = new EinhalbParser();
                    //einhalpParser.Run();

                    //Test.SortAllStock();

                    //Test.PostVk();

                    //FullCatalog2.DetectCategoryFromTitleAndUpdateFullCatalog();

                    //var hotOffers = HotOffers.CreateHotOffers();

                    //HotOffers.PostVkRandomOffer();

                    //Test.LoadVkGoods();
                    //FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();

                    //SneakersnstuffParserAllBrands snsAllBrands = new SneakersnstuffParserAllBrands();
                    //snsAllBrands.ParseOneSneaker("https://www.sneakersnstuff.com/en/product/25821/reebok-question-lux");
                    //snsAllBrands.Run();
                }
            }
            else
            {
                Logger.Warn("Программа запущена без параметров");
            }


            //SivasParser sivas = new SivasParser();
            //sivas.Update();

            //TitoloParser titolo = new TitoloParser();
            //titolo.Run();

            //basketShopParser.Run();
            //einhalpParser.Run();
            //queensParser.Run();
            //strbeatParse.Run();
            //sivas.Run();


            //DiscontStock dStock = new DiscontStock();
            //dStock.ReadStockFromCSV();
            //dStock.AddSaleToRecords();
            //dStock.SaveStockToCSV();

            //из файла кузьминок делает лист стокрекорд
            //DiscontStock dStock = new DiscontStock();
            //dStock.ParseStockOnHand(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\Stock On Hand.csv");
            //dStock.SaveStockToCSV(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\StockDiscont.csv");
            //dStock.ParseStockOnHand2(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\Stock On Hand.csv");
            //dStock.SaveStockToCSV2(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\StockDiscont2.csv");

            //из файла самарского дисконта делаем лист стокрекорд
            //csv файл должен быть в формате utf-8 и разделен точкой с запятой
            //DiscontStock dStock = new DiscontStock();
            //dStock.ParseStockOnHand(Settings.DIRECTORY_PATH + @"Parsing\discont\Stock On Hand.csv");
            //dStock.SaveStockToCSV(Settings.DIRECTORY_PATH + @"Parsing\discont\StockDiscont.csv");
            //dStock.ParseStockOnHand2(Settings.DIRECTORY_PATH + @"Parsing\discont\Stock On Hand.csv");
            //dStock.SaveStockToCSV2(Settings.DIRECTORY_PATH + @"Parsing\discont\StockDiscont2.csv");

            //string StockDiscont2 = @"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont\StockDiscont2.csv";
            //var discont = new DiscontStock();
            //discont.ReadStockFromCSV2(StockDiscont2);
            //bool isTrue = discont.AddStandtoRecords();
            //if (isTrue) discont.SaveStockToCSV2(StockDiscont2);

            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run2();

            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run3();


            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run3();


            //BonanzaExporterAndrew bonanzaAndrew = new BonanzaExporterAndrew();
            //bonanzaAndrew.Run();

            //AvitoExporter avito = new AvitoExporter();

            //AvitoExporter2 avito2 = new AvitoExporter2();
            //avito2.Run();

            //Test test = new Test();

            //WithoutPhotoExporter withoutPhotoExporter = new WithoutPhotoExporter();


            //C:\SneakerIcon\repository\SneakerIcon\ConsoleApplication1\Classes\Utils\NetworkUtils.cs

            //SizeConverter sc = new SizeConverter("8", "Мужская");
            //string sizeEUR = sc.sizeEUR;

            //NashStock nashStock = new NashStock();
            //nashStock.ReadStockFromCSV();



            //var upcdb = new UPCDB();
            //upcdb.run2();

            //var addPhotos = new AddPhotos();
            //addPhotos.Run();

            //ModemReboot.Run();

            //SizeConverter.GenerateNikeSizeChart();

            if (args.Count() > 0)
            {
                Logger.Info("Параметр:" + args[0]);
            }
            var endTime = DateTime.Now;
            var dlit    = endTime - startTime;
            Logger.Info("Начало выполнения программы: " + startTime);
            Logger.Info("Конец выполения программы: " + endTime);
            Logger.Info("Длительность выполения, минут: " + dlit.TotalMinutes);
            Logger.Info("Выполнение программы завершено, нажмите любую клавишу");

            #if DEBUG
            Console.ReadLine();
            #elif Feanor
            Console.ReadLine();
            #else
            #endif
        }