Exemple #1
0
        static async Task Poll(string tenant)
        {
            var config = LogTool.GetConfig().GetSection(tenant);
            var conn   = new ManagementConnector(config);
            await conn.Connect();

            var allUrls = new List <string>();
            var checker = new StreamChecker(LogTool.CreateLogger <StreamChecker>(), config, config["TenantId"]);
            await checker.Connect();

            while (true)
            {
                var urls = await conn.GetContentUrls(DateTime.Now.AddMinutes(-150));

                urls = urls.Except(allUrls).ToArray();
                allUrls.AddRange(urls);
                File.WriteAllLines("urls.log", allUrls);

                foreach (var url in urls)
                {
                    await checker.Check(url);
                }

                await Task.Delay(TimeSpan.FromMinutes(5));
            }
        }
Exemple #2
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            string twitchSecret   = Environment.GetEnvironmentVariable("TWITCH_SECRET");
            string twitchClientId = Environment.GetEnvironmentVariable("TWITCH_CLIENTID");
            string discordToken   = Environment.GetEnvironmentVariable("DISCORD_TOKEN");
            string discordChannel = Environment.GetEnvironmentVariable("DISCORD_CHANNEL");

            string[] streamers = Environment.GetEnvironmentVariable("STREAMERS")?.Split(',');

            var tw = new TwitchAPI();

            tw.Settings.Secret   = twitchSecret;
            tw.Settings.ClientId = twitchClientId;

            var dsc           = new Notifier(discordToken, discordChannel);
            var streamChecker = new StreamChecker(tw, streamers);

            try
            {
                await foreach (string streamer in streamChecker.WaitForStreamerOnline())
                {
                    Console.WriteLine($"{DateTime.Now} streamer {streamer} online");
                    await dsc.SendNotifyAsync(streamer,
                                              $"Запустил свой стрим https://www.twitch.tv/{streamer}");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(DateTime.Now + e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
Exemple #3
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    payload     = JToken.Parse(requestBody);

            if (payload is JArray data)
            {
                var conf = new ConfigurationBuilder()
                           .AddEnvironmentVariables()
                           .Build();
                var tenants  = new[] { conf.GetSection("UvA"), conf.GetSection("HvA") };
                var tenantId = (string)data[0]["tenantId"];
                log.LogInformation($"Received {data.Count} blocks (tenant {tenantId})");
                var tenant  = tenants.First(t => t["tenantId"] == tenantId);
                var checker = new StreamChecker(log, tenant, tenantId);
                await checker.Connect();

                foreach (var el in payload)
                {
                    await checker.Check(el["contentUri"].ToString());
                }
            }
            else
            {
                log.LogInformation("Received message without array");
            }

            return(new OkResult());
        }
Exemple #4
0
    public string StreamChecker(string[] words, string letter)
    {
        var checker = new StreamChecker(words);
        var result  = new System.Text.StringBuilder(letter.Length);

        foreach (var c in letter)
        {
            result.Append(checker.Query(c) ? 'T' : 'F');
        }
        return(result.ToString());
    }
        public void Test(string inputWordStr, string inputQueryStr, string expectedStr)
        {
            var inputWords   = inputWordStr.Split(',');
            var inputQueries = inputQueryStr.Split(',').Select(x => x[0]).ToArray();
            var expected     = JsonConvert.DeserializeObject <bool[]>(expectedStr);

            var checker = new StreamChecker(inputWords);

            for (var i = 0; i < inputQueries.Length; ++i)
            {
                checker.Query(inputQueries[i]).Should().Be(expected[i], $"i:{i} query:{inputQueries[i]} expected:{expected[i]}");
            }
        }
Exemple #6
0
        static void Main(string[] args)
        {
            //            ['o','a','a','n'],
            //['e','t','a','e'],
            //['i','h','k','r'],
            //['i','f','l','v']
            var chararr = new char[4][] {
                new char[4] {
                    'o', 'a', 'a', 'n'
                },
                new char[4] {
                    'e', 't', 'a', 'e'
                },
                new char[4] {
                    'i', 'h', 'k', 'r'
                },
                new char[4] {
                    'i', 'f', 'l', 'v'
                }
            };

            #region 2-D Array Initialize
            //var arr = new int[4][] {
            //        new int[2] {  0 , 0 },
            //        new int[2] {  0 , 1},
            //        new int[2] {  1 , 2},
            //        new int[2] {  1 , 2},
            //        };
            #endregion

            #region Linked List Initialize
            var head1 = new ListNode(1);
            head1.next                = new ListNode(2);
            head1.next.next           = new ListNode(3);
            head1.next.next.next      = new ListNode(4);
            head1.next.next.next.next = new ListNode(5);
            #endregion

            #region Tree Initialize
            var root = new TreeNode(1);
            root.left       = new TreeNode(2);
            root.right      = new TreeNode(3);
            root.left.left  = new TreeNode(4);
            root.left.right = new TreeNode(5);
            #endregion

            var sc = new StreamChecker(new string[5] {
                "ab", "ba", "aaab", "abab", "baa"
            });
            var s1 = sc.Query('b');
            var s2 = sc.Query('a');
            var s3 = sc.Query('a');
            var s4 = sc.Query('a');
            var s5 = sc.Query('a');
            //[1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]

            var stack = new Stack <int>();
            stack.Push(12);
            stack.Push(15);
            stack.Push(24);
            stack.Push(1);
            stack.Push(5);

            var obj = new SnowPack();


            var res = obj.Calculate(new int[] { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 });

            Console.WriteLine(res);
        }