예제 #1
0
        public static async Task <OpenSubtitlesClient> LogIn()
        {
            var client = new OpenSubtitlesClient();
            var req    = await client.TryLogIn();

            req.EnsureSuccessStatusCode();

            var dic = ParseResponse(await req.Content.UnzipAsStringAsync());

            if (!dic.ContainsKey("token"))
            {
                throw new Exception("Error logging in.");
            }

            client.Token = dic["token"];
            return(client);
        }
예제 #2
0
        private async Task <bool> EnsureClientExists()
        {
            if (Client == null)
            {
                try
                {
                    Client = await OpenSubtitlesClient.LogIn();

                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }