22using System . Collections . Generic ;
33using System . Diagnostics ;
44using System . Drawing ;
5+ using System . Drawing . Imaging ;
56using System . IO ;
67using System . Linq ;
78using System . Net ;
@@ -145,7 +146,7 @@ public static Dictionary<string, string> UtilitiesMap
145146
146147 #endregion
147148
148- public static string Download ( Uri direct )
149+ public static string Download ( Uri direct , string path )
149150 {
150151 string filename = Path . GetFileName ( direct . AbsolutePath ) ;
151152
@@ -168,7 +169,6 @@ public static string Download(Uri direct)
168169 Debug . WriteLine ( "Fixed file" ) ;
169170 }
170171
171- var path = Environment . GetFolderPath ( Environment . SpecialFolder . Desktop ) ;
172172
173173 string combine = Path . Combine ( path , filename ) ;
174174
@@ -179,6 +179,8 @@ public static string Download(Uri direct)
179179 return combine ;
180180 }
181181
182+ public static bool IsImage ( string s , double d ) => Network . IsType ( s , "image" , ( long ) TimeSpan . FromSeconds ( d ) . TotalMilliseconds ) ;
183+
182184 public static Image GetImage ( string s )
183185 {
184186 using var wc = new WebClient ( ) ;
@@ -201,16 +203,18 @@ public static Image GetImage(string s)
201203 /// Scans for direct images within a webpage.
202204 /// </summary>
203205 /// <param name="url">Url to search</param>
204- /// <param name="directType">Which criterion to use to determine whether a URI is a direct image </param>
205206 /// <param name="count">Number of direct images to return</param>
206207 /// <param name="pingTimeSec"></param>
207- public static List < string > FindDirectImages ( string url , DirectImageType directType = DirectImageType . Regex ,
208- int count = 10 , double pingTimeSec = 1 )
208+ public static List < string > FindDirectImages ( string url , int count = 10 , double pingTimeSec = 1 )
209209 {
210210
211- var images = new List < string > ( ) ;
212211
213- var pingTime = TimeSpan . FromSeconds ( pingTimeSec ) ;
212+ /*
213+ * TODO: WIP
214+ */
215+
216+ var images = new List < string > ( ) ;
217+
214218
215219 string gallerydl = UtilitiesMap [ GALLERY_DL_EXE ] ;
216220
@@ -241,8 +245,7 @@ public static List<string> FindDirectImages(string url, DirectImageType directTy
241245 . Split ( '|' )
242246 . First ( ) ;
243247
244- if ( ! string . IsNullOrWhiteSpace ( str ) &&
245- Network . IsAlive ( new Uri ( str ) , ( long ) pingTime . TotalMilliseconds ) ) {
248+ if ( ! string . IsNullOrWhiteSpace ( str ) && IsImage ( str , pingTimeSec ) ) {
246249 images . Add ( str ) ;
247250
248251 }
@@ -301,30 +304,14 @@ public static List<string> FindDirectImages(string url, DirectImageType directTy
301304 Parallel . For ( 0 , flat . Count , options , ( i , s ) =>
302305 {
303306 string currentUrl = flat [ i ] ;
304-
305- if ( imagesCopy . Count >= count ) {
306- s . Stop ( ) ;
307+
308+ if ( ! IsImage ( currentUrl , pingTimeSec ) ) {
307309 return ;
308310 }
309311
310- if ( ! Network . IsUri ( currentUrl , out var uri ) )
311- return ;
312-
313- if ( ! Network . IsAlive ( uri , ( long ) pingTime . TotalMilliseconds ) ) {
314- //Debug.WriteLine($"{uri} isn't alive");
315- return ;
316- }
317-
318- if ( ! IsDirect ( currentUrl , directType ) )
319- return ;
320-
321- if ( imagesCopy . Count >= count ) {
322- s . Stop ( ) ;
323- return ;
324- }
312+ Debug . WriteLine ( $ "{ nameof ( FindDirectImages ) } : Adding { currentUrl } ") ;
325313
326314 imagesCopy . Add ( currentUrl ) ;
327-
328315 } ) ;
329316
330317
0 commit comments