AcManager.Tools.Miscellaneous.Fixes.FixMissingDefaultPpFilter C# (CSharp) Method

FixMissingDefaultPpFilter() public static method

public static FixMissingDefaultPpFilter ( CancellationToken cancellation ) : Task
cancellation System.Threading.CancellationToken
return Task
        public static Task FixMissingDefaultPpFilter(CancellationToken cancellation) {
            return Task.Run(() => {
                var original = CmApiProvider.GetData("static/get/pp_default");
                cancellation.ThrowIfCancellationRequested();
                if (original == null) throw new InformativeException("Can’t load original filter");

                using (var stream = new MemoryStream(original))
                using (var zip = ZipArchive.Open(stream)) {
                    var entry = zip.Entries.FirstOrDefault(x => x.Key == @"default.ini");
                    if (entry == null) throw new Exception("Invalid data");

                    File.WriteAllBytes(PpFiltersManager.Instance.DefaultFilename, entry.OpenEntryStream().ReadAsBytesAndDispose());
                }
            }, cancellation); 
        }
    }