Exemplo n.º 1
0
        /// <summary>
        /// URL解析部で呼び出されるサムネイル画像URL作成デリゲート
        /// </summary>
        /// <param name="args">Class GetUrlArgs
        ///                                 args.url        URL文字列
        ///                                 args.imglist    解析成功した際にこのリストに元URL、サムネイルURLの形で作成するKeyValuePair
        /// </param>
        /// <returns>成功した場合True,失敗の場合False</returns>
        /// <remarks>args.imglistには呼び出しもとで使用しているimglistをそのまま渡すこと</remarks>
        private static bool Tinami_GetUrl(GetUrlArgs args)
        {
            //// http://www.tinami.com/view/250818
            //// http://tinami.jp/5dj6 (短縮URL)
            var mc = Regex.Match(string.IsNullOrEmpty(args.Extended) ? args.Url : args.Extended, "^http://www\\.tinami\\.com/view/\\d+$", RegexOptions.IgnoreCase);

            if (mc.Success)
            {
                args.AddThumbnailUrl(args.Url, mc.Value);
                return(true);
            }

            // 短縮URL
            mc = Regex.Match(string.IsNullOrEmpty(args.Extended) ? args.Url : args.Extended, "^http://tinami\\.jp/(\\w+)$", RegexOptions.IgnoreCase);
            if (mc.Success)
            {
                try
                {
                    args.AddThumbnailUrl(args.Url, string.Format("http://www.tinami.com/view/{0}", RadixConvert.ToInt32(mc.Result("${1}"), 36)));
                    return(true);
                }
                catch (ArgumentOutOfRangeException)
                {
                }
            }

            return(false);
        }
Exemplo n.º 2
0
        /// <summary>
        /// URL解析部で呼び出されるサムネイル画像URL作成デリゲート
        /// </summary>
        /// <param name="args">Class GetUrlArgs
        ///                                 args.url        URL文字列
        ///                                 args.imglist    解析成功した際にこのリストに元URL、サムネイルURLの形で作成するKeyValuePair
        /// </param>
        /// <returns>成功した場合True,失敗の場合False</returns>
        /// <remarks>args.imglistには呼び出しもとで使用しているimglistをそのまま渡すこと</remarks>
        private static bool PhotoShare_GetUrl(GetUrlArgs args)
        {
            var mc = Regex.Match(string.IsNullOrEmpty(args.Extended) ? args.Url : args.Extended, "^http://(?:www\\.)?bcphotoshare\\.com/photos/\\d+/(\\d+)$", RegexOptions.IgnoreCase);

            if (mc.Success)
            {
                // 成功時はサムネイルURLを作成しimglist.Addする
                args.AddThumbnailUrl(args.Url, mc.Result("http://images.bcphotoshare.com/storages/${1}/thumb180.jpg"));
                return(true);
            }

            // 短縮URL
            mc = Regex.Match(string.IsNullOrEmpty(args.Extended) ? args.Url : args.Extended, "^http://bctiny\\.com/p(\\w+)$", RegexOptions.IgnoreCase);
            if (!mc.Success)
            {
                return(false);
            }

            try
            {
                args.AddThumbnailUrl(args.Url, string.Format("http://images.bcphotoshare.com/storages/{0}/thumb180.jpg", RadixConvert.ToInt32(mc.Result("${1}"), 36)));
                return(true);
            }
            catch (ArgumentOutOfRangeException)
            {
            }

            return(false);
        }