예제 #1
0
        static void Main(string[] args)
        {
            client = new OSDbClient(OSDbClient.DefaultUserAgent);
            options = new SubtleOptions();
            CommandLine.Parser.Default.ParseArgumentsStrict(args, options);

            if (string.IsNullOrEmpty(options.Path))
            {
                Console.WriteLine("Missing path.");
                Console.WriteLine(options.GetUsage());
                Environment.Exit(1);
            }

            language = OSDbConfig.Languages.SingleOrDefault(l =>
                options.Language.Equals(l.Iso6391, StringComparison.OrdinalIgnoreCase) ||
                options.Language.Equals(l.Iso6392, StringComparison.OrdinalIgnoreCase));

            if (language == null)
            {
                Console.WriteLine("Unrecognized language code.");
                Console.WriteLine(options.GetUsage());
                Environment.Exit(1);
            }

            if (Directory.Exists(options.Path))
            {
                client.InitSession();
                var results = ScanDirectory(options.Path)
                    .Select(SearchSubtitle)
                    .Where(s => s.Selection != null)
                    .ToList();

                if (!options.DryRun)
                {
                    Console.WriteLine();
                    DownloadSubtitles(results);
                }
            }
            else if (File.Exists(options.Path))
            {
                client.InitSession();
                var sub = SearchSubtitle(options.Path);
                if (sub.Selection != null && !options.DryRun)
                {
                    DownloadSubtitle(sub);
                }
            }
            else
            {
                Console.WriteLine("Path must be an existing file or directory.");
                Console.WriteLine(options.GetUsage());
                Environment.Exit(1);
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            var client = new OSDbClient(OSDbClient.TestUserAgent);
            client.InitSession();

            var query = new ImdbSearchQuery
            {
                LanguageIds = "eng",
                ImdbId = "0111161",
            };

            var subs = client.SearchSubtitles(query);

            File.WriteAllText("SearchSubtitles.json", JsonConvert.SerializeObject(subs, Formatting.Indented));
        }