Fix TYTDClient for blazor
This commit is contained in:
		
							parent
							
								
									26c9960003
								
							
						
					
					
						commit
						e1046c33b5
					
				| 
						 | 
				
			
			@ -64,7 +64,7 @@ namespace Tesses.YouTubeDownloader
 | 
			
		|||
            //Console.WriteLine("IN FUNC");
 | 
			
		||||
            
 | 
			
		||||
                //Console.WriteLine("DIR");
 | 
			
		||||
                if(storage.BestStreamInfoExists(id))
 | 
			
		||||
                if(await storage.BestStreamInfoExistsAsync(id))
 | 
			
		||||
                {
 | 
			
		||||
                    //Console.WriteLine("STREAMS");
 | 
			
		||||
                    BestStreamsSerialized serialization=await storage.GetBestStreamInfoAsync(id);
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ namespace Tesses.YouTubeDownloader
 | 
			
		|||
        {
 | 
			
		||||
            
 | 
			
		||||
            
 | 
			
		||||
                if(storage.BestStreamInfoExists(id))
 | 
			
		||||
                if(await storage.BestStreamInfoExistsAsync(id))
 | 
			
		||||
                {
 | 
			
		||||
                    BestStreamsSerialized serialization=await storage.GetBestStreamInfoAsync(id);
 | 
			
		||||
                    if(DateTime.Now < serialization.Expires || !expire_check)
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +99,7 @@ namespace Tesses.YouTubeDownloader
 | 
			
		|||
            
 | 
			
		||||
            DateTime expires=DateTime.Now.AddHours(6);
 | 
			
		||||
            try{
 | 
			
		||||
                if(storage.VideoInfoExists(id))
 | 
			
		||||
                if(await storage.VideoInfoExistsAsync(id))
 | 
			
		||||
                {
 | 
			
		||||
                    var video = await storage.GetVideoInfoAsync(id);
 | 
			
		||||
                    if(video.VideoFrozen)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -128,7 +128,7 @@ namespace Tesses.YouTubeDownloader
 | 
			
		|||
        {
 | 
			
		||||
            
 | 
			
		||||
            string file = info.DownloadFrom.StartsWith("NormalDownload,Length=") ? $"DownloadsInfo/{HashDownloadUrl(info.Id)}.json" : $"Info/{info.Id}.json";
 | 
			
		||||
            if(!FileExists(file))
 | 
			
		||||
            if(!await FileExistsAsync(file))
 | 
			
		||||
            {
 | 
			
		||||
               await WriteAllTextAsync(file,JsonConvert.SerializeObject(info));
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +144,7 @@ namespace Tesses.YouTubeDownloader
 | 
			
		|||
        public virtual async Task WriteChannelInfoAsync(SavedChannel info)
 | 
			
		||||
        {
 | 
			
		||||
             string file = $"Channel/{info.Id}.json";
 | 
			
		||||
            if(!FileExists(file))
 | 
			
		||||
            if(!await FileExistsAsync(file))
 | 
			
		||||
            {
 | 
			
		||||
               await WriteAllTextAsync(file,JsonConvert.SerializeObject(info));
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -552,11 +552,13 @@ internal class SegmentedHttpStream : Stream
 | 
			
		|||
                _error.Invoke(this,new TYTDErrorEventArgs("jNQXAC9IVRw",ex));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        public IBlazorContext BlazorContext {get;set;} = null;
 | 
			
		||||
        public void ResetEvents()
 | 
			
		||||
        {
 | 
			
		||||
            if(src != null) {
 | 
			
		||||
            src.Cancel();
 | 
			
		||||
            src.Dispose();
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
           
 | 
			
		||||
            if(hadBeenListeningToEvents)
 | 
			
		||||
| 
						 | 
				
			
			@ -711,9 +713,18 @@ internal class SegmentedHttpStream : Stream
 | 
			
		|||
        }
 | 
			
		||||
        private void _startEventStream()
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            if(BlazorContext !=  null)
 | 
			
		||||
            {
 | 
			
		||||
                BlazorContext.StartEvents((evt)=>{
 | 
			
		||||
                    sse_Event(this,new SSEEvent(evt));
 | 
			
		||||
                });
 | 
			
		||||
                src=new CancellationTokenSource();
 | 
			
		||||
                hadBeenListeningToEvents=true;
 | 
			
		||||
                src.Token.Register(BlazorContext.StopEvents);
 | 
			
		||||
            }else{
 | 
			
		||||
                Task.Run(_startEventStreamAsync).Wait(0);
 | 
			
		||||
            }
 | 
			
		||||
        }  
 | 
			
		||||
        public ExtraData GetExtraDataOnce()
 | 
			
		||||
        {
 | 
			
		||||
            if(data ==null){
 | 
			
		||||
| 
						 | 
				
			
			@ -724,6 +735,20 @@ internal class SegmentedHttpStream : Stream
 | 
			
		|||
            }
 | 
			
		||||
           return data;
 | 
			
		||||
        }
 | 
			
		||||
        public async Task<ExtraData> GetExtraDataOnceAsync()
 | 
			
		||||
        {
 | 
			
		||||
            if(data ==null)
 | 
			
		||||
            {
 | 
			
		||||
                string text= await client.GetStringAsync($"{url}api/v2/extra_data.json");
 | 
			
		||||
                data = JsonConvert.DeserializeObject<ExtraData>(text);
 | 
			
		||||
            }
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
        public async Task<ExtraData> GetExtraDataAsync()
 | 
			
		||||
        {
 | 
			
		||||
             string text= await client.GetStringAsync($"{url}api/v2/extra_data.json");
 | 
			
		||||
                return JsonConvert.DeserializeObject<ExtraData>(text);
 | 
			
		||||
        }
 | 
			
		||||
        public override ExtraData GetExtraData()
 | 
			
		||||
        {
 | 
			
		||||
            return Task.Run<ExtraData>(async()=>{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,9 +7,9 @@
 | 
			
		|||
      <PackageId>Tesses.YouTubeDownloader</PackageId>
 | 
			
		||||
    <Author>Mike Nolan</Author>
 | 
			
		||||
    <Company>Tesses</Company>
 | 
			
		||||
     <Version>2.0.2.1</Version>
 | 
			
		||||
    <AssemblyVersion>2.0.2.1</AssemblyVersion>
 | 
			
		||||
    <FileVersion>2.0.2.1</FileVersion>
 | 
			
		||||
     <Version>2.0.2.2</Version>
 | 
			
		||||
    <AssemblyVersion>2.0.2.2</AssemblyVersion>
 | 
			
		||||
    <FileVersion>2.0.2.2</FileVersion>
 | 
			
		||||
    <Description>A YouTube Downloader</Description>
 | 
			
		||||
    <PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
 | 
			
		||||
     <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue