7
7
// You should have received a copy of the Open Software License along with this
8
8
// program. If not, see <https://opensource.org/licenses/OSL-3.0>.
9
9
10
- using Heijden . DNS ;
11
10
using PlaylistsNET . Content ;
12
11
using System ;
13
12
using System . Collections . Generic ;
14
13
using System . IO ;
15
14
using System . Linq ;
16
- using System . Net ;
17
15
using System . Threading . Tasks ;
18
16
using TS3AudioBot . Config ;
19
17
using TS3AudioBot . Helper ;
@@ -66,18 +64,18 @@ public async Task<PlayResource> GetResourceById(ResolveContext ctx, AudioResourc
66
64
67
65
public string RestoreLink ( ResolveContext _ , AudioResource resource ) => resource . ResourceId ;
68
66
69
- private async Task < ResData > ValidateFromString ( ConfBot config , string uriStr )
67
+ private Task < ResData > ValidateFromString ( ConfBot config , string uriStr )
70
68
{
71
69
var uri = GetUri ( config , uriStr ) ;
72
- return await ValidateUri ( uri ) ;
70
+ return ValidateUri ( uri ) ;
73
71
}
74
72
75
- private async Task < ResData > ValidateUri ( Uri uri )
73
+ private Task < ResData > ValidateUri ( Uri uri )
76
74
{
77
75
if ( uri . IsWeb ( ) )
78
- return await ValidateWeb ( uri ) ;
76
+ return ValidateWeb ( uri ) ;
79
77
if ( uri . IsFile ( ) )
80
- return ValidateFile ( uri ) ;
78
+ return Task . Run ( ( ) => ValidateFile ( uri ) ) ;
81
79
82
80
throw Error . LocalStr ( strings . error_media_invalid_uri ) ;
83
81
}
@@ -211,11 +209,8 @@ public async Task<Playlist> GetPlaylist(ResolveContext ctx, string url)
211
209
{
212
210
if ( uri . IsFile ( ) )
213
211
{
214
- if ( File . Exists ( url ) )
215
- {
216
- using var stream = File . OpenRead ( uri . AbsolutePath ) ;
217
- return await GetPlaylistContentAsync ( stream , url ) ;
218
- }
212
+ using var stream = File . OpenRead ( uri . AbsolutePath ) ;
213
+ return await GetPlaylistContentAsync ( stream , url ) ;
219
214
}
220
215
else if ( uri . IsWeb ( ) )
221
216
{
@@ -252,15 +247,6 @@ private Playlist GetPlaylistContent(Stream stream, string url, string? mime = nu
252
247
switch ( anyId )
253
248
{
254
249
case ".m3u" :
255
- {
256
- var parser = new M3uContent ( ) ;
257
- var list = parser . GetFromStream ( stream ) ;
258
-
259
- items = new List < PlaylistItem > (
260
- from e in list . PlaylistEntries
261
- select new PlaylistItem ( new AudioResource ( e . Path , e . Title , ResolverFor ) ) ) ;
262
- break ;
263
- }
264
250
case ".m3u8" :
265
251
case "application/mpegurl" :
266
252
case "application/x-mpegurl" :
@@ -269,7 +255,7 @@ from e in list.PlaylistEntries
269
255
case "application/vnd.apple.mpegurl" :
270
256
case "application/vnd.apple.mpegurl.audio" :
271
257
{
272
- var parser = new M3u8Content ( ) ;
258
+ var parser = new M3uContent ( ) ;
273
259
var list = parser . GetFromStream ( stream ) ;
274
260
275
261
items = new List < PlaylistItem > (
0 commit comments