Exemplo n.º 1
0
        public List <string> Translate(LanguageShortName from, LanguageShortName to, string text)
        {
            if (_isBanned)
            {
                return(null);
            }
            string url = string.Format(
                "http://translate.google.ru/translate_a/t?client=x&text={0}&hl={1}&sl={1}&tl={2}&ie=UTF-8&oe=UTF-8",
                HttpUtility.UrlEncode(text), from.ToString().ToLowerInvariant(), to.ToString().ToLowerInvariant());

            try {
                HttpWebRequest request = WebRequest.CreateHttp(url);
                using (var resp = (HttpWebResponse)request.GetResponse()) {
                    if (resp.StatusCode == HttpStatusCode.OK)
                    {
                        var    streamReader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
                        string content      = streamReader.ReadToEnd();
                        return(GetTranslationFromContent(content));
                    }
                    _isBanned = true;
                }
            } catch (Exception) {
                //TODO: логирование
                int y = 0;
            }
            return(null);
        }
Exemplo n.º 2
0
 private static string GetUrl(LanguageShortName from, LanguageShortName to, string text)
 {
     return(string.Format(
                "https://translate.yandex.net/api/v1.5/tr.json/translate?key={0}&text={1}&lang={2}-{3}", API_KEY,
                HttpUtility.UrlEncode(text),
                from.ToString().ToLowerInvariant(), to.ToString().ToLowerInvariant()));
 }
Exemplo n.º 3
0
        public List <string> Translate(LanguageShortName from, LanguageShortName to, string text)
        {
            int i = 0;

            do
            {
                var admAuth = new AdmAuthentication(CLIENT_ID, CLIENT_SECRET);
                try {
                    AdmAccessToken admToken = admAuth.GetAccessToken();
                    return(Translate(text, from.ToString().ToLowerInvariant(), to.ToString().ToLowerInvariant(),
                                     admToken));
                } catch (WebException e) {
                    Console.WriteLine("MicrosoftTranslator.Translate исключение! попытка перевода {0}", i + 1);
                    ProcessWebException(e);
                } catch (Exception ex) {
                    Console.WriteLine("MicrosoftTranslator.Translate исключение! попытка перевода {0}", i + 1);
                    //TODO: логировать
                }
                i++;
            } while (i <= 5);
            return(null);
        }
Exemplo n.º 4
0
 private static string GetPath(string basePath, LanguageShortName shortName)
 {
     return(Path.Combine(basePath, "Yandex", shortName.ToString()));
 }
Exemplo n.º 5
0
        private VideoProcessor(LanguageShortName shortName)
        {
            _shortName = shortName;

            string cachePath = Path.Combine(YandexVideoSearcher.BASE_PATH, "VideoDataCache", _shortName.ToString());

            _diskCache   = new DiskCache(cachePath, false);
            _linksHelper =
                new VideoLinksHelper(YandexVideoSearcher.GetAllLinksFullFileName(YandexVideoSearcher.BASE_PATH,
                                                                                 shortName));
        }