2018-07-05 23:30:04 +02:00
using System ;
using System.Net ;
using System.Net.Http ;
2018-07-03 12:12:23 +02:00
using System.IO ;
using System.Windows.Markup ;
using System.Windows ;
2018-07-06 02:04:14 +02:00
using System.Collections.Generic ;
2018-07-03 12:12:23 +02:00
namespace h_encore_auto
{
public class Util
{
2018-07-05 23:30:04 +02:00
private static WebClient web = new WebClient ( ) ;
2018-07-03 12:12:23 +02:00
private static HttpClient http = new HttpClient ( ) ;
public static string GetEncKey ( string aid )
//Thanks to noahc3 (https://github.com/noahc3/) for this.
{
try
{
string page = http . GetStringAsync ( Ref . urlCma + aid ) . Result ;
return page . Substring ( page . Length - 65 , 64 ) ;
}
catch ( Exception )
{
MessageBox . Show ( "Failed to get the CMA encryption key. Make sure your internet is connected and/or retry." ) ;
return "" ;
}
}
public static void DeleteDirectory ( string path )
{
foreach ( string directory in Directory . GetDirectories ( path ) )
{
DeleteDirectory ( directory ) ;
}
try
{
Directory . Delete ( path , true ) ;
}
catch ( IOException )
{
Directory . Delete ( path , true ) ;
}
catch ( UnauthorizedAccessException )
{
Directory . Delete ( path , true ) ;
}
}
public static void dlFile ( string url , string filename )
{
using ( WebClient client = new WebClient ( ) )
{
ServicePointManager . SecurityProtocol = SecurityProtocolType . Tls12 ;
client . DownloadFile ( url , Ref . tempDir + filename ) ;
}
}
public static void cleanup ( )
{
Util . DeleteDirectory ( Ref . tempDir ) ;
System . Environment . Exit ( 0 ) ;
}
2018-07-06 02:04:14 +02:00
public static bool IsDirectoryEmpty ( string path )
{
IEnumerable < string > items = Directory . EnumerateFileSystemEntries ( path ) ;
using ( IEnumerator < string > en = items . GetEnumerator ( ) )
{
return ! en . MoveNext ( ) ;
}
}
2018-07-03 12:12:23 +02:00
}
}