using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Text;
-using System.IO;
using System.Xml.Linq;
-using System.Net;
namespace Azyobuzi.HatenaDiaryClient.Models.Hatena
{
case "bmp":
mimeType = "image/x-bmp";
break;
- case "mov":
- mimeType = "video/quicktime";
- break;
- case "mpg":
- case "mpeg":
- case "m1v":
- mimeType = "video/mpeg";
- break;
- case "wmv":
- mimeType = "video/x-ms-wmv";
- break;
- case "avi":
- mimeType = "video/avi";
- break;
- case "flv":
- mimeType = "video/x-flv";
- break;
- case "3gp":
- case "3gpp":
- mimeType = "video/3gpp";
- break;
- case "3g2":
- mimeType = "video/3gpp2";
- break;
+ //case "mov":
+ // mimeType = "video/quicktime";
+ // break;
+ //case "mpg":
+ //case "mpeg":
+ //case "m1v":
+ // mimeType = "video/mpeg";
+ // break;
+ //case "wmv":
+ // mimeType = "video/x-ms-wmv";
+ // break;
+ //case "avi":
+ // mimeType = "video/avi";
+ // break;
+ //case "flv":
+ // mimeType = "video/x-flv";
+ // break;
+ //case "3gp":
+ //case "3gpp":
+ // mimeType = "video/3gpp";
+ // break;
+ //case "3g2":
+ // mimeType = "video/3gpp2";
+ // break;
default:
throw new ArgumentException("対応してないファイルです。");
}
Encoding.GetEncoding("shift_jis"),
this.userName,
this.password);
- return new FotolifeEntry(reXml.Root, false);
+ return new FotolifeEntry(reXml.Root);
+ }
+
+ public FotolifeEntry GetEntry(string id)
+ {
+ return new FotolifeEntry(
+ WsseAtomConnection.Get(
+ "http://f.hatena.ne.jp/atom/edit/" + id,
+ Encoding.UTF8,
+ this.userName,
+ this.password
+ )
+ .Root
+ );
+ }
+
+ public void EditEntry(string id, string newTitle)
+ {
+ WsseAtomConnection.Put(
+ "http://f.hatena.ne.jp/atom/edit/" + id,
+ null,
+ Encoding.GetEncoding("shift_jis").GetBytes(
+ new XDocument(
+ new XElement(XmlNamespaces.Atom02Spec + "entry",
+ new XElement(XmlNamespaces.Atom02Spec + "title", newTitle)
+ )
+ )
+ .ToString()
+ ),
+ null,
+ this.userName,
+ this.password);
+ }
+
+ public void DeleteEntry(string id)
+ {
+ WsseAtomConnection.Delete(
+ "http://f.hatena.ne.jp/atom/edit/" + id,
+ this.userName,
+ this.password);
+ }
+
+ public IEnumerable<FotolifeEntry> GetEntrys(int page = 1)
+ {
+ return WsseAtomConnection.Get(
+ "http://f.hatena.ne.jp/atom/feed?page=" + page.ToString(),
+ Encoding.UTF8,
+ this.userName,
+ this.password
+ )
+ .Root
+ .Elements(XmlNamespaces.Atom02Spec + "entry")
+ .Select(_ => new FotolifeEntry(_));
}
}
}