/// <summary> /// Create a new PebbleBundle from a .pwb file and parse its metadata. /// </summary> /// <param name="bundle">The stream to the bundle.</param> /// <param name="zip">The zip library implementation.</param> public void Load(Stream bundle, IZip zip) { //TODO: This needs to be refactored, probably put into a Load method if (false == zip.Open(bundle)) { throw new InvalidOperationException("Failed to open pebble bundle"); } using (Stream manifestStream = zip.OpenEntryStream("manifest.json")) { if (manifestStream == null) { throw new InvalidOperationException("manifest.json not found in archive - not a valid Pebble bundle."); } var serializer = new DataContractJsonSerializer(typeof(BundleManifest)); Manifest = (BundleManifest)serializer.ReadObject(manifestStream); } HasResources = (Manifest.Resources.Size != 0); if (HasResources) { using (Stream resourcesBinary = zip.OpenEntryStream(Manifest.Resources.Filename)) { if (resourcesBinary == null) { throw new PebbleException("Could not find resource entry in the bundle"); } Resources = Util.GetBytes(resourcesBinary); } } LoadData(zip); }
public DownloadController(IUpdate updateService, IZip zipService, IWebHostEnvironment environment, IValidate validateService) { _updateService = updateService; _zipService = zipService; _hostingEnvironment = environment; _validateService = validateService; }
public void Save(string sHistoryFileName, string sSettingsFileName, ClipboardList listMain, ClipboardList listFavorites) { globalSettings.Save(sSettingsFileName); try { IZip zip = null; try { zip = new DotNetZip(GetZipFilePath(sHistoryFileName), true); } catch (Exception err) { FormClipboard.TraceLn(true, "Settings", "Save", "Create Zip: {0} Error: {1}", sHistoryFileName, err.Message); }//end catch XmlDocument doc = new XmlDocument(); XmlNode root = doc.CreateNode(XmlNodeType.Element, "Settings", ""); root = doc.AppendChild(root); listMain.Save(root, zip); listFavorites.Save(root, zip); doc.PreserveWhitespace = true; XmlUtil.SaveXmlDocFormatted(doc, sHistoryFileName); zip.Add(sHistoryFileName); zip.Close(); File.Delete(sHistoryFileName); }//end try catch (Exception err) { FormClipboard.TraceLn(true, "Settings", "Save", "Exception: {0}", err.Message); } //end catch } //end save
public ZipObserver(object gate, IZip parent, int index) { _gate = gate; _parent = parent; _index = index; _values = new Queue <T>(); }
public static void TestInitialize(TestContext testContext) { _mockObjForExecuteUrl = new Mock <IGitCommandExecute>(); _mockObjForZipOperation = new Mock <IZip>(); _mockObjForSendOperation = new Mock <ISendInput>(); _mockObjCompareOperation = new Mock <ICompare>(); _mockObjForCleanUpOperation = new Mock <IDataRemove>(); _helper = new Helper(); _zip = new ZipGitRepo(); _dataExtract = new CsvDataExtractor(); _thresholdRecieve = new QualityThresholdListRecieve(); _dataRemove = new TemporaryDataRemover(); _sendInput = new SendProjectPathAsInput(); _testHelper = new TestHelper(); _recievedThresholdList = new List <string>() { "Error", "Warning", "Error", "Warning" }; _targetThresholdList = new List <string>() { "error: 3", "Warning: 3" }; }
/// <summary> /// Create a new PebbleBundle from a .pwb file and parse its metadata. /// </summary> /// <param name="bundle">The stream to the bundle.</param> /// <param name="zip">The zip library implementation.</param> public void Load(Stream bundle, IZip zip) { //TODO: This needs to be refactored, probably put into a Load method if (false == zip.Open(bundle)) throw new InvalidOperationException("Failed to open pebble bundle"); using (Stream manifestStream = zip.OpenEntryStream("manifest.json")) { if (manifestStream == null) { throw new InvalidOperationException("manifest.json not found in archive - not a valid Pebble bundle."); } var serializer = new DataContractJsonSerializer(typeof(BundleManifest)); Manifest = (BundleManifest)serializer.ReadObject(manifestStream); } HasResources = (Manifest.Resources.Size != 0); if (HasResources) { using (Stream resourcesBinary = zip.OpenEntryStream(Manifest.Resources.Filename)) { if (resourcesBinary == null) throw new PebbleException("Could not find resource entry in the bundle"); Resources = Util.GetBytes(resourcesBinary); } } LoadData(zip); }
protected override void LoadData(IZip zip) { if (string.IsNullOrWhiteSpace(Manifest.Application.Filename)) { throw new PebbleException("Bundle does not contain pebble app"); } using (Stream binStream = zip.OpenEntryStream(this.PlatformSubdirectory() + Manifest.Application.Filename)) { if (binStream == null) { throw new Exception(string.Format("App file {0} not found in archive", Manifest.Application.Filename)); } App = Util.GetBytes(binStream); AppMetadata = BinarySerializer.ReadObject <ApplicationMetadata>(App); } //note, appinfo.json is NOT under the platform subdir using (Stream appinfoStream = zip.OpenEntryStream("appinfo.json")) { if (appinfoStream != null) { var serializer = new DataContractJsonSerializer(typeof(PebbleSharp.Core.AppInfo)); AppInfo = (PebbleSharp.Core.AppInfo)serializer.ReadObject(appinfoStream); } } }
private BundleManifest LoadManifest(IZip zip) { using (var manifestStream = zip.OpenEntryStream(PlatformSubdirectory() + "manifest.json")) { var serializer = new DataContractJsonSerializer(typeof(BundleManifest)); return((BundleManifest)serializer.ReadObject(manifestStream)); } }
public ZipObserver(object gate, IZip parent, int index, IDisposable self) { _gate = gate; _parent = parent; _index = index; _self = self; _values = new Queue <T>(); }
public async Task <EpubStructure> CreateStructureAsync(IZip zip) { var container = await GetContainerAsync(zip).ConfigureAwait(false); var opf = await GetOpfAsync(zip, container).ConfigureAwait(false); return(new EpubStructure(opf, container, zip)); }
} //end Load public void Save(XmlNode nd, IZip zip) { nd = XmlUtil.UpdSubNode(nd, "ClipBoardList", ""); for (int i = 0; i < Count; i++) { string sImageFileName = GetImageFileName(i); GetEntry(i).Save(nd, zip, sImageFileName); } //end for } //end Save
public EpubStructure( XmlStructureFile opf, XmlStructureFile container, IZip zip) { Opf = opf; Container = container; Zip = zip; }
protected override void LoadData(IZip zip) { if (string.IsNullOrWhiteSpace(Manifest.Firmware.Filename)) throw new InvalidOperationException("Bundle does not contain firmware"); using (Stream binStream = zip.OpenEntryStream(Manifest.Firmware.Filename)) { Firmware = Util.GetBytes(binStream); } }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += (o, e) => { ExitWithError("Oops! It was unexpected."); }; Console.CancelKeyPress += CancelKeyPress; var validationResult = CommandLineArgumentsValidator.ValidateArguments(args); if (!validationResult.Success) { ExitWithError(validationResult.ErrorMessage); } try { _zipProcessor = new MultithreadedZip(); string successMessage = ""; switch (validationResult.Command) { case CommandLineArgumentsValidator.Command.Compress: { Console.WriteLine("Compression started"); _zipProcessor.Compress(validationResult.SourceFileInfo, validationResult.DestinationFileInfo); successMessage = "File was successfully compressed"; break; } case CommandLineArgumentsValidator.Command.Decompress: { Console.WriteLine("Decompression started"); _zipProcessor.Decompress(validationResult.SourceFileInfo, validationResult.DestinationFileInfo); successMessage = "File was successfully decompressed"; break; } } if (_zipProcessor.Success) { ExitSuccess(successMessage); } else { ExitWithError(_zipProcessor.ErrorMessage); } } catch (Exception e) { ExitWithError($"Error occured: {e.Message}"); } }
protected override void LoadData(IZip zip) { if (string.IsNullOrWhiteSpace(Manifest.Firmware.Filename)) { throw new PebbleException("Bundle does not contain firmware"); } using (Stream binStream = zip.OpenEntryStream(Manifest.Firmware.Filename)) { Firmware = Util.GetBytes(binStream); } }
public IGitCommandExecute InitExecute(out IZip zip, out ISendInput sendInput, out IDataRemove dataRemove, out IThresholdRecieve inputRecieve, out IDataExtract dataExtract, out ICompare compare) { IGitCommandExecute execute = new GitCloneExecute(); zip = new ZipGitRepo(); sendInput = new SendProjectPathAsInput(); dataRemove = new TemporaryDataRemover(); inputRecieve = new QualityThresholdListRecieve(); dataExtract = new CsvDataExtractor(); compare = new QualityThresholdEvaluator(); return(execute); }
protected override void LoadData(IZip zip) { if (string.IsNullOrWhiteSpace(Manifest.Application.Filename)) throw new InvalidOperationException("Bundle does not contain pebble app"); using (Stream binStream = zip.OpenEntryStream(Manifest.Application.Filename)) { if (binStream == null) throw new Exception(string.Format("App file {0} not found in archive", Manifest.Application.Filename)); App = Util.GetBytes(binStream); AppMetadata = BinarySerializer.ReadObject<ApplicationMetadata>(App); } }
protected override void LoadData(IZip zip) { if (string.IsNullOrWhiteSpace(Manifest.Application.Filename)) { throw new InvalidOperationException("Bundle does not contain pebble app"); } using (Stream binStream = zip.OpenEntryStream(Manifest.Application.Filename)) { if (binStream == null) { throw new Exception(string.Format("App file {0} not found in archive", Manifest.Application.Filename)); } App = Util.GetBytes(binStream); AppMetadata = BinarySerializer.ReadObject <ApplicationMetadata>(App); } }
public void PerformExecute(IGitCommandExecute execute, IZip zip, ISendInput sendInput, IThresholdRecieve inputRecieve, IDataExtract dataExtract, ICompare compare, IDataRemove dataRemove) { Console.WriteLine("Enter repo to clone:"); var urlIn = Console.ReadLine(); var url = ExecuteUrl(execute, urlIn); Thread.Sleep(10000); Console.WriteLine("Zip operation undergoes"); Thread.Sleep(10000); Console.WriteLine("Sending zip to server"); Thread.Sleep(10000); var fileName = url.Split('/')[1].Split('.')[0]; var zipPath = PerformZipOperation(zip, sendInput, url, fileName); PerformSendOperation(sendInput, zipPath); PerformComparisonAndCleanUp(inputRecieve, dataExtract, compare, dataRemove, fileName, zipPath, _outputPath); }
/// <summary> /// Create a new PebbleBundle from a .pwb file and parse its metadata. /// </summary> /// <param name="bundle">The stream to the bundle.</param> /// <param name="zip">The zip library implementation.</param> public void Load(IZip zip, Platform platform) { Platform = platform; Manifest = LoadManifest(zip); HasResources = (Manifest.Resources.Size != 0); if (HasResources) { using (Stream resourcesBinary = zip.OpenEntryStream(PlatformSubdirectory() + Manifest.Resources.Filename)) { if (resourcesBinary == null) { throw new PebbleException("Could not find resource entry in the bundle"); } Resources = Util.GetBytes(resourcesBinary); } } LoadData(zip); }
public PebbleViewer (ILogger logger, PebblePlugin plugin, PebbleSharp.Core.Pebble pebble, IZip appBundleZip, Action<Action<ISystemController, IRaceController>> queueCommand) { _queueCommand = queueCommand; _plugin = plugin; _logger = logger; _pebble = pebble; _pebble.ConnectAsync ().Wait (); _logger.Info ("Connected to pebble " + _pebble.PebbleID); _transactionId = 255; var progress = new Progress<ProgressValue> (pv => _logger.Debug ("Installing app on pebble " + pebble.PebbleID + ", " + pv.ProgressPercentage + "% complete. " + pv.Message)); var bundle = new AppBundle (); bundle.Load (appBundleZip, _pebble.Firmware.HardwarePlatform.GetPlatform ()); _uuid = bundle.AppMetadata.UUID; _pebble.InstallClient.InstallAppAsync (bundle, progress).Wait (); _logger.Info ("Installed app on pebble " + pebble.PebbleID); _pebble.RegisterCallback<AppMessagePacket> (Receive); InitializeViewer (); }
protected abstract void LoadData(IZip zip);
public ProtocolPackage(IZip zip) { ZipEnable = false; Zip = zip; }
private Task <XmlStructureFile> GetContainerAsync(IZip zip) { return(XmlStructureFile.LoadFromZipAsync(containerXmlPath, zip)); }
private Task <XmlStructureFile> GetOpfAsync(IZip zip, XmlStructureFile container) { var opfXmlPath = opfPathExtractor.ExtractOpfPath(container); return(XmlStructureFile.LoadFromZipAsync(opfXmlPath, zip)); }
public static Task <XmlStructureFile> LoadFromZipAsync(string path, IZip zip) { using var stream = zip.GetFileStream(path); return(LoadFromStreamAsync(path, stream)); }
private static void TestZipImplementation(IZip zip) { }
public PebbleViewer(ILogger logger, PebblePlugin plugin, PebbleSharp.Core.Pebble pebble, IZip appBundleZip, Action <Action <ISystemController, IRaceController> > queueCommand) { _queueCommand = queueCommand; _plugin = plugin; _logger = logger; _pebble = pebble; _pebble.ConnectAsync().Wait(); _logger.Info("Connected to pebble " + _pebble.PebbleID); _transactionId = 255; var progress = new Progress <ProgressValue> (pv => _logger.Debug("Installing app on pebble " + pebble.PebbleID + ", " + pv.ProgressPercentage + "% complete. " + pv.Message)); var bundle = new AppBundle(); bundle.Load(appBundleZip, _pebble.Firmware.HardwarePlatform.GetPlatform()); _uuid = bundle.AppMetadata.UUID; _pebble.InstallClient.InstallAppAsync(bundle, progress).Wait(); _logger.Info("Installed app on pebble " + pebble.PebbleID); _pebble.RegisterCallback <AppMessagePacket> (Receive); InitializeViewer(); }
public string PerformZipOperation(IZip zip, ISendInput sendInput, string url, string fileName) { return(zip.Zip(fileName)); }
} //end CreateEmpty public void Save(XmlNode ndParent, IZip zip, string sImageFileName) { if (_data == null) { return; } string Value = ""; string Type = ""; if (_dataType == DataFormats.Text || _dataType == DataFormats.UnicodeText || _dataType == DataFormats.Rtf) { Type = _dataType; Value = (string)_data; } //end if else if (_dataType == DataFormats.FileDrop) { Type = _dataType; String[] sv = (String[])_data; StringBuilder sb = new StringBuilder(12); for (int i = 0; i < sv.Length; i++) { sb.Append(sv[i]); if (i != sv.Length - 1) { sb.Append('|'); } } //end for Value = sb.ToString(); } //end if else //do not know how to save { return; } try { File.Delete(sImageFileName); _icoAppFrom.Save(sImageFileName); if (zip != null) { zip.Add(sImageFileName); File.Delete(sImageFileName); } //end if System.Diagnostics.Trace.WriteLine( "File: " + Path.GetFileName(sImageFileName) + " Entry: " + ShortDesc()); } //end try catch (Exception err) { System.Diagnostics.Trace.WriteLine("Archiving Error: " + err.ToString()); FormClipboard.TraceLn(true, "ClipboardEntry", "Save", "{0} Error: {1}", sImageFileName, err.Message); } //end catch XmlNode ndEntry = XmlUtil.AddNewNode(ndParent, "ClipboardEntry", Value); XmlUtil.UpdStrAtt(ndEntry, "OwnerType", _ownerType); XmlUtil.UpdStrAtt(ndEntry, "Type", Type); XmlUtil.UpdStrAtt(ndEntry, "Ico", sImageFileName); } //end Save
private Task <File> CreateFileFromManifestItem(ManifestItem item, string opfDirectory, IZip zip) { var path = EpubPathHelper.ExpandPath(opfDirectory, item.Href !); var fileName = EpubPathHelper.GetFileName(item.Href !); return(Task.FromResult( new File(fileName, path, item.ContentType, zip.GetFileContent(path)))); }
private void DESERIALButt_Click(object sender, EventArgs e) { Trans.Clear(); string FileName; string FileExtension; string FileToDeserialize = ""; if (openFileDialog1.ShowDialog() == DialogResult.OK) { FileName = openFileDialog1.FileName; FileExtension = Path.GetExtension(FileName); } else { return; } if (FileExtension == ".zip") { string DllName = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "ZipArchive.dll"); if (!File.Exists(DllName)) { Console.Write("Плагин " + DllName + " не найден."); return; } Assembly AboutAssembly = Assembly.LoadFrom(DllName); foreach (Type t in AboutAssembly.GetExportedTypes()) { if (t.IsClass && typeof(IZip).IsAssignableFrom(t)) { IZip about = (IZip)Activator.CreateInstance(t); FileToDeserialize = about.UnZip(FileName, Path.GetFileNameWithoutExtension(FileName)); break; } } } else if (FileExtension == ".gz") { string DllName = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "GzArchive.dll"); if (!File.Exists(DllName)) { Console.Write("Плагин " + DllName + " не найден."); return; } Assembly AboutAssembly = Assembly.LoadFrom(DllName); foreach (Type t in AboutAssembly.GetExportedTypes()) { if (t.IsClass && typeof(IZip).IsAssignableFrom(t)) { IZip about = (IZip)Activator.CreateInstance(t); FileToDeserialize = about.UnZip(FileName, Path.GetFileNameWithoutExtension(FileName)); break; } } } if (FileExtension == ".bz2") { string DllName = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Bz2Archive.dll"); if (!File.Exists(DllName)) { Console.Write("Плагин " + DllName + " не найден."); return; } Assembly AboutAssembly = Assembly.LoadFrom(DllName); foreach (Type t in AboutAssembly.GetExportedTypes()) { if (t.IsClass && typeof(IZip).IsAssignableFrom(t)) { IZip about = (IZip)Activator.CreateInstance(t); FileToDeserialize = about.UnZip(FileName, Path.GetFileNameWithoutExtension(FileName)); break; } } } //if (filename.Contains("cipher_")) if (FileToDeserialize == "") { ChooseYourFighter(FileName, false); } else { ChooseYourFighter(FileToDeserialize, false); } dataGridAndAllListsUpdate(); }
public Task <File[]> ExtractFiles( XmlStructureFile opf, IEnumerable <ManifestItem> manifestItems, IZip zip) { return(Task.WhenAll(manifestItems.Select( item => CreateFileFromManifestItem(item, EpubPathHelper.GetDirectoryName(opf.Path), zip)))); }