Changeset 7512 for lang/powershell
- Timestamp:
- 03/05/08 21:13:32 (9 months ago)
- Location:
- lang/powershell/PSCustomProviders/trunk
- Files:
-
- 10 added
- 10 modified
-
default.build (modified) (1 diff)
-
format/ps2ch.format.ps1xml (modified) (1 diff)
-
src/Dotnet.Commons/Properties (added)
-
src/Dotnet.PowerShell.PS2ch.Test/PS2ch (added)
-
src/Dotnet.PowerShell.PS2ch.Test/Properties (added)
-
src/Dotnet.PowerShell.PS2ch/PS2ch/Configuration/PS2chSnapIn.cs (modified) (1 diff)
-
src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chBoard.cs (modified) (3 diffs)
-
src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chProvider.cs (modified) (6 diffs)
-
src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chResponse.cs (modified) (3 diffs)
-
src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chThread.cs (modified) (3 diffs)
-
src/Dotnet.PowerShell.PS2ch/Properties (added)
-
src/Dotnet.PowerShell.PSTodo.Test/PSTodo (added)
-
src/Dotnet.PowerShell.PSTodo.Test/Properties (added)
-
src/Dotnet.PowerShell.PSTodo/PSTodo/Configuration/PSTodoSnapIn.cs (modified) (1 diff)
-
src/Dotnet.PowerShell.PSTodo/Properties (added)
-
src/Dotnet.PowerShell.PSWeb.Test/PSWeb (added)
-
src/Dotnet.PowerShell.PSWeb.Test/Properties (added)
-
src/Dotnet.PowerShell.PSWeb/PSWeb/Configuration/PSWebSnapIn.cs (modified) (1 diff)
-
src/Dotnet.PowerShell.PSWeb/Properties (added)
-
src/GlobalAssemblyInfo.cs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/powershell/PSCustomProviders/trunk/default.build
r7503 r7512 42 42 </target> 43 43 44 <target name="export-format" 45 description="�t�H�[�}�b�g�t�@�C����erShell��OME�f�B���N�g���ɃG�N�X�|�[�g���܂�"> 46 <copy todir="${environment::get-folder-path('Personal')}/WindowsPowerShell/format"> 47 <fileset basedir="format"> 48 <include name="*.ps1xml" /> 49 </fileset> 50 </copy> 51 </target> 52 44 53 </project> -
lang/powershell/PSCustomProviders/trunk/format/ps2ch.format.ps1xml
r7503 r7512 20 20 --> 21 21 <Configuration> 22 <ViewDefinitions>23 <View>24 <Name>Dotnet.PowerShell.PS2ch.PS2chBoard</Name>25 <ViewSelectedBy>26 <TypeName>Dotnet.PowerShell.PS2ch.PS2chBoard</TypeName>27 </ViewSelectedBy>22 <ViewDefinitions> 23 <View> 24 <Name>Dotnet.PowerShell.PS2ch.PS2chBoard</Name> 25 <ViewSelectedBy> 26 <TypeName>Dotnet.PowerShell.PS2ch.PS2chBoard</TypeName> 27 </ViewSelectedBy> 28 28 29 <TableControl>30 <TableHeaders>31 <TableColumnHeader>32 <Label>板名</Label>33 <Width>20</Width>34 </TableColumnHeader>35 <TableColumnHeader>36 <Label>カテゴリー</Label>37 <Width>20</Width>38 </TableColumnHeader>39 </TableHeaders>29 <TableControl> 30 <TableHeaders> 31 <TableColumnHeader> 32 <Label>板名</Label> 33 <Width>20</Width> 34 </TableColumnHeader> 35 <TableColumnHeader> 36 <Label>カテゴリー</Label> 37 <Width>20</Width> 38 </TableColumnHeader> 39 </TableHeaders> 40 40 41 <TableRowEntries>42 <TableRowEntry>43 <TableColumnItems>44 <TableColumnItem>45 <PropertyName>Name</PropertyName>46 </TableColumnItem>47 <TableColumnItem>48 <PropertyName>Category</PropertyName>49 </TableColumnItem>50 </TableColumnItems>51 </TableRowEntry>52 </TableRowEntries>53 </TableControl>54 </View>55 56 <View>57 <Name>Dotnet.PowerShell.PS2ch.PS2chThread</Name>58 <ViewSelectedBy>59 <TypeName>Dotnet.PowerShell.PS2ch.PS2chThread</TypeName>60 </ViewSelectedBy>41 <TableRowEntries> 42 <TableRowEntry> 43 <TableColumnItems> 44 <TableColumnItem> 45 <PropertyName>Name</PropertyName> 46 </TableColumnItem> 47 <TableColumnItem> 48 <PropertyName>Category</PropertyName> 49 </TableColumnItem> 50 </TableColumnItems> 51 </TableRowEntry> 52 </TableRowEntries> 53 </TableControl> 54 </View> 55 56 <View> 57 <Name>Dotnet.PowerShell.PS2ch.PS2chThread</Name> 58 <ViewSelectedBy> 59 <TypeName>Dotnet.PowerShell.PS2ch.PS2chThread</TypeName> 60 </ViewSelectedBy> 61 61 62 <TableControl>63 <TableHeaders>64 <TableColumnHeader>65 <Label>ID</Label>66 <Width>15</Width>67 </TableColumnHeader>68 <TableColumnHeader>69 <Label>スレッド名</Label>70 <Width>40</Width>71 </TableColumnHeader>72 <TableColumnHeader>73 <Label>レス数</Label>74 <Width>10</Width>75 </TableColumnHeader>76 </TableHeaders>62 <TableControl> 63 <TableHeaders> 64 <TableColumnHeader> 65 <Label>ID</Label> 66 <Width>15</Width> 67 </TableColumnHeader> 68 <TableColumnHeader> 69 <Label>スレッド名</Label> 70 <Width>40</Width> 71 </TableColumnHeader> 72 <TableColumnHeader> 73 <Label>レス数</Label> 74 <Width>10</Width> 75 </TableColumnHeader> 76 </TableHeaders> 77 77 78 <TableRowEntries>79 <TableRowEntry>80 <TableColumnItems>81 <TableColumnItem>82 <PropertyName>ID</PropertyName>83 </TableColumnItem>84 <TableColumnItem>85 <PropertyName>Name</PropertyName>86 </TableColumnItem>87 <TableColumnItem>88 <PropertyName>Count</PropertyName>89 </TableColumnItem>90 </TableColumnItems>91 </TableRowEntry>92 </TableRowEntries>93 </TableControl>94 </View>95 96 <View>97 <Name>Dotnet.PowerShell.PS2ch.PS2chResponse</Name>98 <ViewSelectedBy>99 <TypeName>Dotnet.PowerShell.PS2ch.PS2chResponse</TypeName>100 </ViewSelectedBy>78 <TableRowEntries> 79 <TableRowEntry> 80 <TableColumnItems> 81 <TableColumnItem> 82 <PropertyName>ID</PropertyName> 83 </TableColumnItem> 84 <TableColumnItem> 85 <PropertyName>Name</PropertyName> 86 </TableColumnItem> 87 <TableColumnItem> 88 <PropertyName>Count</PropertyName> 89 </TableColumnItem> 90 </TableColumnItems> 91 </TableRowEntry> 92 </TableRowEntries> 93 </TableControl> 94 </View> 95 96 <View> 97 <Name>Dotnet.PowerShell.PS2ch.PS2chResponse</Name> 98 <ViewSelectedBy> 99 <TypeName>Dotnet.PowerShell.PS2ch.PS2chResponse</TypeName> 100 </ViewSelectedBy> 101 101 102 <ListControl>103 <ListEntries>104 <ListEntry>105 <ListItems>106 <ListItem>107 <Label>レス番号</Label>108 <PropertyName>Index</PropertyName>109 </ListItem>110 <ListItem>111 <Label>タイトル</Label>112 <PropertyName>Title</PropertyName>113 </ListItem>114 <ListItem>115 <Label>日付</Label>116 <PropertyName>Date</PropertyName>117 </ListItem>118 <ListItem>119 <Label>本文</Label>120 <PropertyName>Body</PropertyName>121 </ListItem>122 </ListItems>123 </ListEntry>124 </ListEntries>125 </ListControl>126 </View>102 <ListControl> 103 <ListEntries> 104 <ListEntry> 105 <ListItems> 106 <ListItem> 107 <Label>レス番号</Label> 108 <PropertyName>Index</PropertyName> 109 </ListItem> 110 <ListItem> 111 <Label>タイトル</Label> 112 <PropertyName>Title</PropertyName> 113 </ListItem> 114 <ListItem> 115 <Label>日付</Label> 116 <PropertyName>Date</PropertyName> 117 </ListItem> 118 <ListItem> 119 <Label>本文</Label> 120 <PropertyName>Body</PropertyName> 121 </ListItem> 122 </ListItems> 123 </ListEntry> 124 </ListEntries> 125 </ListControl> 126 </View> 127 127 </ViewDefinitions> 128 128 -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PS2ch/PS2ch/Configuration/PS2chSnapIn.cs
r7503 r7512 63 63 /// </summary> 64 64 public override string Name { 65 get { return " Dotnet.PowerShell.PS2ch"; }65 get { return "PS2ch"; } 66 66 } 67 67 -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chBoard.cs
r7503 r7512 26 26 using System.Diagnostics; 27 27 28 using Dotnet.Commons; 29 28 30 #endregion 29 31 … … 37 39 [Serializable] 38 40 [DebuggerStepThrough] 39 public class PS2chBoard {41 public sealed class PS2chBoard { 40 42 41 43 #region fields … … 99 101 /// <param name="directory">ディレクトリ名</param> 100 102 /// <param name="domain">ドメイン</param> 103 /// <exception cref="ArgumentException">引数が不正な時</exception> 104 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 101 105 public PS2chBoard(string name, string category, string directory, string domain) { 106 #region ArgumentValidation 107 ArgumentValidation.CheckForNullOrEmpty(name, "name"); 108 ArgumentValidation.CheckForNullOrEmpty(category, "category"); 109 ArgumentValidation.CheckForNullOrEmpty(directory, "directory"); 110 ArgumentValidation.CheckForNullOrEmpty(domain, "domain"); 111 #endregion 112 102 113 this.name = name; 103 114 this.category = category; -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chProvider.cs
r7503 r7512 43 43 /// PowerShell上で2chの閲覧を可能にするプロバイダクラス 44 44 /// </summary> 45 [CmdletProvider("Dotnet.PowerShell.PS2ch", ProviderCapabilities.ShouldProcess)] 46 public class PS2chProvider : NavigationCmdletProvider { 45 [CmdletProvider("2ch", ProviderCapabilities.ShouldProcess)] 46 public sealed class PS2chProvider : NavigationCmdletProvider { 47 48 #region const 49 50 private const string BASE_URL = "http://azlucky.s25.xrea.com/2chboard/2channel.brd"; 51 /// <summary> 52 /// Httpリクエストに使うユーザーエージェント 53 /// </summary> 54 private const string USER_AGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)"; 55 56 #endregion 47 57 48 58 #region constructors … … 69 79 /// <returns>板のコレクション</returns> 70 80 private static IEnumerable<PS2chBoard> Enum2chBoard(string includeName) { 71 TextReader rs = GetHttpResponseStream( 72 "http://azlucky.s25.xrea.com/2chboard/2channel.brd" 73 ); 81 TextReader rs = GetHttpResponseStream(BASE_URL); 74 82 rs.ReadLine(); // 一行目は無視 75 83 … … 186 194 private static TextReader GetHttpResponseStream(string uri) { 187 195 HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(uri); 188 webReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)";196 webReq.UserAgent = USER_AGENT; 189 197 190 198 using(HttpWebResponse webRes = (HttpWebResponse)webReq.GetResponse()) { … … 217 225 218 226 /// <summary> 219 /// 220 /// </summary> 221 /// <param name="value"> </param>222 /// <returns> </returns>227 /// 指定したHTML文字列をエスケープします。 228 /// </summary> 229 /// <param name="value">文字列</param> 230 /// <returns>文字列</returns> 223 231 private static string Escape(string value) { 224 // 2ch:\痛いニュース+/1203069245.dat225 232 return HttpUtility.HtmlDecode(value).Replace("<br>", "\r\n"); 226 233 } … … 249 256 protected override void GetChildItems(string path, bool recurse) { 250 257 if(path == base.PSDriveInfo.Root) { 251 foreach(PS2chBoard o in Enum2chBoard()) WriteItemObject(o, path, true); 258 foreach(PS2chBoard o in Enum2chBoard()) { 259 if(base.Stopping) return; 260 261 WriteItemObject(o, path, true); 262 } 252 263 253 264 } else { … … 264 275 265 276 if(thread != null) { 266 foreach(PS2chResponse o in Enum2chResponse(thread)) WriteItemObject(o, path, false); 277 foreach(PS2chResponse o in Enum2chResponse(thread)) { 278 if(base.Stopping) return; 279 280 WriteItemObject(o, path, false); 281 } 267 282 } 268 283 269 284 } else { 270 foreach(PS2chThread o in Enum2chThread(board)) WriteItemObject(o, path, true); 285 foreach(PS2chThread o in Enum2chThread(board)) { 286 if(base.Stopping) return; 287 288 WriteItemObject(o, path, true); 289 } 271 290 } 272 291 } -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chResponse.cs
r7503 r7512 26 26 using System.Diagnostics; 27 27 28 using Dotnet.Commons; 29 28 30 #endregion 29 31 … … 37 39 [Serializable] 38 40 [DebuggerStepThrough] 39 public class PS2chResponse {41 public sealed class PS2chResponse { 40 42 41 43 #region fields … … 99 101 /// <param name="date">日付</param> 100 102 /// <param name="body">本文</param> 103 /// <exception cref="ArgumentException">引数が不正な時</exception> 104 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 101 105 public PS2chResponse(int index, string title, string date, string body) { 106 #region ArgumentValidation 107 ArgumentValidation.CheckForGreaterEqualZero(index, "index"); 108 ArgumentValidation.CheckForNullOrEmpty(title, "title"); 109 ArgumentValidation.CheckForNullOrEmpty(date, "date"); 110 ArgumentValidation.CheckForNullOrEmpty(body, "body"); 111 #endregion 112 102 113 this.index = index; 103 114 this.title = title; -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PS2ch/PS2ch/PS2chThread.cs
r7503 r7512 26 26 using System.Diagnostics; 27 27 28 using Dotnet.Commons; 29 28 30 #endregion 29 31 … … 37 39 [Serializable] 38 40 [DebuggerStepThrough] 39 public class PS2chThread {41 public sealed class PS2chThread { 40 42 41 43 #region fields … … 100 102 /// <param name="count">レス数</param> 101 103 /// <param name="board">属する板</param> 104 /// <exception cref="ArgumentException">引数が不正な時</exception> 105 /// <exception cref="ArgumentNullException">引数がnullの時</exception> 102 106 public PS2chThread(string id, string name, int count, PS2chBoard board) { 107 #region ArgumentValidation 108 ArgumentValidation.CheckForNullOrEmpty(id, "id"); 109 ArgumentValidation.CheckForNullOrEmpty(name, "name"); 110 ArgumentValidation.CheckForGreaterEqualZero(count, "count"); 111 ArgumentValidation.CheckForNullReference(board, "board"); 112 #endregion 113 103 114 this.id = id; 104 115 this.name = name; -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PSTodo/PSTodo/Configuration/PSTodoSnapIn.cs
r7503 r7512 63 63 /// </summary> 64 64 public override string Name { 65 get { return " Dotnet.PowerShell.PSTodo"; }65 get { return "PSTodo"; } 66 66 } 67 67 -
lang/powershell/PSCustomProviders/trunk/src/Dotnet.PowerShell.PSWeb/PSWeb/Configuration/PSWebSnapIn.cs
r7503 r7512 63 63 /// </summary> 64 64 public override string Name { 65 get { return " Dotnet.PowerShell.PSWeb"; }65 get { return "PSWeb"; } 66 66 } 67 67 -
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)