本文整理汇总了C#中CreateImageArgs.AddTooltipInfo方法的典型用法代码示例。如果您正苦于以下问题:C# CreateImageArgs.AddTooltipInfo方法的具体用法?C# CreateImageArgs.AddTooltipInfo怎么用?C# CreateImageArgs.AddTooltipInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CreateImageArgs
的用法示例。
在下文中一共展示了CreateImageArgs.AddTooltipInfo方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MiilMe_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">CreateImageArgs</param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool MiilMe_CreateImage(CreateImageArgs args)
{
var photoId = new Uri(args.Url.Value).AbsolutePath.Split('/')[2];
var apiUrl = $"http://miil.me/api/photos/{ToInt32(photoId, 36)}.js";
var json = string.Empty;
if (!new HttpVarious().GetData(apiUrl, null, ref json, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
// name="twitter:image" content="http://images.miil.me/i/ab9f8cd6-9500-11e2-97f8-123143016634.jpg"
var thummc = Regex.Match(json, "\"url\"\\s*:\\s*\"([^\"]+)\"", RegexOptions.IgnoreCase);
if (!thummc.Success)
{
return false;
}
var thumburl = thummc.Result("$1");
var img = new HttpVarious().GetImage(thumburl, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例2: TwipplePhoto_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool TwipplePhoto_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, "^http://p.twipple.jp/(?<contentId>[0-9a-z]+)", RegexOptions.IgnoreCase);
if (!mc.Success)
{
return false;
}
var src = string.Empty;
var http = new HttpVarious();
if (!http.GetData(args.Url.Key, null, ref src, 0, ref args.Errmsg, string.Empty))
{
return false;
}
var contentId = mc.Groups["contentId"].Value;
var thumbnailUrl = "http://p.twpl.jp/show/large/" + contentId;
var img = http.GetImage(thumbnailUrl, args.Url.Key, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例3: TwitterGeo_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool TwitterGeo_CreateImage(CreateImageArgs args)
{
var img = (new HttpVarious()).GetImage(args.Url.Value, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
// 成功した場合はURLに対応する画像、ツールチップテキストを登録
string url = args.Url.Value;
try
{
// URLをStaticMapAPIから通常のURLへ変換
// 仕様:ズーム率、サムネイルサイズの設定は無視する
// 参考:http://imakoko.didit.jp/imakoko_html/memo/parameters_google.html
// サンプル
// static版 http://maps.google.com/maps/api/staticmap?center=35.16959869,136.93813205&size=300x300&zoom=15&markers=35.16959869,136.93813205&sensor=false
// 通常URL http://maps.google.com/maps?ll=35.16959869,136.93813205&size=300x300&zoom=15&markers=35.16959869,136.93813205&sensor=false
url = url.Replace("/maps/api/staticmap?center=", "?ll=");
url = url.Replace("&markers=", "&q=");
url = Regex.Replace(url, "&size=\\d+x\\d+&zoom=\\d+", string.Empty);
url = url.Replace("&sensor=false", string.Empty);
}
catch (Exception)
{
url = args.Url.Value;
}
args.AddTooltipInfo(url, string.Empty, img);
return true;
}
示例4: StreamZoo_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">CreateImageArgs</param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool StreamZoo_CreateImage(CreateImageArgs args)
{
var src = string.Empty;
if (!new HttpVarious().GetData(args.Url.Value, null, ref src, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
// <meta property="og:image" content="http://cdn.streamzoo.com/si_5790766_p194egkoms_lr.jpg" />
var thummc = Regex.Match(src, "property=\"og:image\"(?: *)content=\"([^\"]+)\"", RegexOptions.IgnoreCase);
if (!thummc.Success)
{
return false;
}
var thumburl = thummc.Result("$1");
var img = new HttpVarious().GetImage(thumburl, args.Url.Value, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例5: Flickr_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Flickr_CreateImage(CreateImageArgs args)
{
/*
// 参考: http://tanarky.blogspot.com/2010/03/flickr-urlunavailable.html アグレッシブエンジニア: flickr の画像URL仕様についてまとめ(Unavailable画像)
// 画像URL仕様 http://farm{farm}.static.flickr.com/{server}/{id}_{secret}_{size}.{extension}
// photostreamなど複数の画像がある場合先頭の一つのみ認識と言うことにする
// (二つ目のキャプチャ 一つ目の画像はユーザーアイコン)
*/
string src = string.Empty;
var http = new HttpVarious();
if (!http.GetData(args.Url.Value, null, ref src, 0, ref args.Errmsg, string.Empty))
{
return false;
}
var mc = Regex.Match(args.Url.Value, "^http://www.flickr.com/", RegexOptions.IgnoreCase);
var mc2 = Regex.Matches(src, mc.Result("http://farm[0-9]+\\.staticflickr\\.com/[0-9]+/.+?\\.([a-zA-Z]+)"));
// 二つ以上キャプチャした場合先頭の一つだけ 一つだけの場合はユーザーアイコンしか取れなかった
if (mc2.Count > 1)
{
var img = http.GetImage(mc2[1].Value, args.Url.Value, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
args.Errmsg = "Pattern NotFound";
return false;
}
示例6: Lockerz_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Lockerz_CreateImage(CreateImageArgs args)
{
var src = string.Empty;
if (!new HttpVarious().GetData(args.Url.Value, null, ref src, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
// <meta name="twitter:image" value="http://static.lockerz.com/decalz/original/image001366662197907nmgm7x.jpeg" />
var thummc = Regex.Match(src, "name=\"twitter:image\" (?:value|content)=\"([^\"]+)\"", RegexOptions.IgnoreCase);
if (!thummc.Success)
{
return false;
}
var thumburl = thummc.Result("$1");
var img = new HttpVarious().GetImage(thumburl, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
// 成功した場合はURLに対応する画像、ツールチップテキストを登録
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例7: Piapro_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Piapro_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, "^http://piapro\\.jp/(?:content/[0-9a-z]+|t/[0-9a-zA-Z_\\-]+)$");
if (!mc.Success)
{
return false;
}
string src = string.Empty;
var http = new HttpVarious();
if (!http.GetData(args.Url.Key, null, ref src, 0, ref args.Errmsg, string.Empty))
{
return false;
}
Match mc2 = Regex.Match(src, "<meta property=\"og:image\" content=\"(?<big_img>http://c1\\.piapro\\.jp/timg/[0-9a-z]+_\\d{14}_0500_0500\\.(?:jpg|png|gif)?)\" />");
if (!mc2.Success)
{
args.Errmsg = "Pattern NotFound";
return false;
}
// 各画像には120x120のサムネイルがある(多分)ので、URLを置き換える。元々ページに埋め込まれている画像は500x500
var r = new Regex("_\\d{4}_\\d{4}");
string minImgUrl = r.Replace(mc2.Groups["big_img"].Value, "_0120_0120");
Image img = http.GetImage(minImgUrl, args.Url.Key, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例8: Instagram_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Instagram_CreateImage(CreateImageArgs args)
{
var src = string.Empty;
var http = new HttpVarious();
if (!http.GetData(args.Url.Value, null, ref src, 0, ref args.Errmsg, string.Empty))
{
return false;
}
var mc = Regex.Match(src, "<meta property=\"og:image\" content=\"(?<url>.+)\" ?/>");
if (!mc.Success)
{
args.Errmsg = "Pattern NotFound";
return false;
}
var img = http.GetImage(mc.Groups["url"].Value, args.Url.Key, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例9: ViaMe_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">CreateImageArgs</param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
private static bool ViaMe_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, @"^https?://via\.me/-(\w+)$", RegexOptions.IgnoreCase);
var apiUrl = mc.Result("http://via.me/api/v1/posts/$1");
var src = string.Empty;
if (!new HttpVarious().GetData(apiUrl, null, ref src, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
// "thumb_url":"http://img.viame-cdn.com/photos/0e267550-b6c4-012f-bf69-123138092a26/s150x150.jpg",
var thummc = Regex.Match(src, "\"thumb_url\":\"([^\"]+)\"", RegexOptions.IgnoreCase);
if (!thummc.Success)
{
return false;
}
var thumburl = thummc.Result("$1");
var img = new HttpVarious().GetImage(thumburl, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例10: Twimg_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Twimg_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, "^https?://p\\.twimg\\.com/.*$", RegexOptions.IgnoreCase);
if (!mc.Success)
{
return false;
}
var img = new HttpVarious().GetImage(args.Url.Value + ":thumb", string.Empty, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例11: Nicoseiga_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Nicoseiga_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, "^http://(?:seiga\\.nicovideo\\.jp/seiga/|nico\\.ms/)im(?<id>\\d+)");
if (!mc.Success)
{
return false;
}
var img = new HttpVarious().GetImage(string.Format("http://lohas.nicoseiga.jp/thumb/{0}q?", mc.Groups["id"].Value), args.Url.Key, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例12: Foursquare_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Foursquare_CreateImage(CreateImageArgs args)
{
string tipsText = string.Empty;
string mapsUrl = Foursquare.GetInstance.GetMapsUri(args.Url.Key, ref tipsText);
if (string.IsNullOrEmpty(mapsUrl))
{
return false;
}
var img = new HttpVarious().GetImage(mapsUrl, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, tipsText, img);
return true;
}
示例13: My365_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">CreateImageArgs</param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool My365_CreateImage(CreateImageArgs args)
{
var src = string.Empty;
if (!new HttpVarious().GetData(args.Url.Value, null, ref src, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
var thummc = Regex.Match(src, "property=\"og:image\" content=\"([^\"]+)\"", RegexOptions.IgnoreCase);
if (!thummc.Success)
{
return false;
}
var thumburl = thummc.Result("$1");
var img = new HttpVarious().GetImage(thumburl, args.Url.Key, 10000, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
示例14: PicPlz_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool PicPlz_CreateImage(CreateImageArgs args)
{
string apiurl = "http://api.picplz.com/api/v2/pic.json?";
Match mc = Regex.Match(args.Url.Value, "^http://picplz\\.com/user/\\w+/pic/(?<longurl_ids>\\w+)/?$", RegexOptions.IgnoreCase);
if (mc.Success)
{
apiurl += "longurl_ids=" + mc.Groups["longurl_ids"].Value;
}
else
{
mc = Regex.Match(args.Url.Value, "^http://picplz\\.com/(?<shorturl_ids>\\w+)?$", RegexOptions.IgnoreCase);
if (mc.Success)
{
apiurl += "shorturl_ids=" + mc.Groups["shorturl_ids"].Value;
}
else
{
return false;
}
}
string src = string.Empty;
string imgurl = string.Empty;
if (!(new HttpVarious()).GetData(apiurl, null, ref src, 0, ref args.Errmsg, MyCommon.GetUserAgentString()))
{
return false;
}
var sb = new StringBuilder();
PicPlzDataModel.ResultData res;
try
{
res = D.CreateDataFromJson<PicPlzDataModel.ResultData>(src);
}
catch (Exception)
{
return false;
}
if (res.Result != "ok")
{
return false;
}
try
{
imgurl = res.Value.Pics[0].PicFiles.Pic320Rh.ImgUrl;
}
catch (Exception)
{
}
try
{
sb.Append(res.Value.Pics[0].Caption);
}
catch (Exception)
{
}
if (string.IsNullOrEmpty(imgurl))
{
return false;
}
Image img = new HttpVarious().GetImage(imgurl, args.Url.Key, 0, ref args.Errmsg);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, sb.ToString().Trim(), img);
return true;
}
示例15: Tinami_CreateImage
/// <summary>
/// BackgroundWorkerから呼び出されるサムネイル画像作成デリゲート
/// </summary>
/// <param name="args">Class CreateImageArgs
/// url As KeyValuePair(Of String, String) 元URLとサムネイルURLのKeyValuePair
/// pics As List(Of KeyValuePair(Of String, Image)) 元URLとサムネイル画像のKeyValuePair
/// tooltiptext As List(Of KeyValuePair(Of String, String)) 元URLとツールチップテキストのKeyValuePair
/// errmsg As String 取得に失敗した際のエラーメッセージ
/// </param>
/// <returns>サムネイル画像作成に成功した場合はTrue,失敗した場合はFalse
/// なお失敗した場合はargs.errmsgにエラーを表す文字列がセットされる</returns>
/// <remarks></remarks>
private static bool Tinami_CreateImage(CreateImageArgs args)
{
var mc = Regex.Match(args.Url.Value, "^http://www\\.tinami\\.com/view/(?<ContentId>\\d+)$", RegexOptions.IgnoreCase);
if (!mc.Success)
{
return false;
}
var src = string.Empty;
const string apiKey = "4e353d9113dce"; // TODO: TINAMI API Key
var contentInfo = mc.Result("http://api.tinami.com/content/info?api_key=" + apiKey + "&cont_id=${ContentId}");
var http = new HttpVarious();
if (!http.GetData(contentInfo, null, ref src, 0, ref args.Errmsg, string.Empty))
{
return false;
}
var xdoc = new XmlDocument();
try
{
xdoc.LoadXml(src);
var stat = xdoc.SelectSingleNode("/rsp").Attributes.GetNamedItem("stat").InnerText;
if (stat != "ok")
{
args.Errmsg = xdoc.SelectSingleNode("/rsp/err") != null ?
xdoc.SelectSingleNode("/rsp/err").Attributes.GetNamedItem("msg").InnerText :
"DeletedOrSuspended";
return false;
}
if (xdoc.SelectSingleNode("/rsp/content/thumbnails/thumbnail_150x150") != null)
{
var nd = xdoc.SelectSingleNode("/rsp/content/thumbnails/thumbnail_150x150");
var thumbnailUrl = nd.Attributes.GetNamedItem("url").InnerText;
if (string.IsNullOrEmpty(thumbnailUrl))
{
return false;
}
var img = http.GetImage(thumbnailUrl, args.Url.Key);
if (img == null)
{
return false;
}
args.AddTooltipInfo(args.Url.Key, string.Empty, img);
return true;
}
// エラー処理 エラーメッセージが返ってきた場合はここで処理
if (xdoc.SelectSingleNode("/rsp/err") != null)
{
args.Errmsg = xdoc.SelectSingleNode("/rsp/err").Attributes.GetNamedItem("msg").InnerText;
}
return false;
}
catch (Exception ex)
{
args.Errmsg = ex.Message;
return false;
}
}