static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("usage: PrintExample archive-file"); return; } var archive = new CombineArchive(); if (!archive.initializeFromArchive(args[0])) { Console.WriteLine("Invalid Combine Archive"); return; } PrintMetaDataFor(archive, "."); Console.WriteLine("Num Entries: {0}", archive.getNumEntries()); for (int i = 0; i < archive.getNumEntries(); ++i) { CaContent entry = archive.getEntry(i); Console.WriteLine(" {0}: location: {1} format: {2}", i, entry.getLocation(), entry.getFormat()); PrintMetaDataFor(archive, entry.getLocation()); // the entry could now be extracted via // archive.extractEntry(entry.getLocation(), <filename or folder>) // or used as string // string content = archive.extractEntryToString(entry.getLocation()); } archive.cleanUp(); }
static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("usage: CreateArchiveExample sbml-file"); return; } var archive = new CombineArchive(); archive.addFile( args[0], // filename "./models/model.xml", // target file name KnownFormats.lookupFormat("sbml"), // look up identifier for SBML models true // mark file as master ); var description = new OmexDescription(); description.setAbout("."); // about the archive itself description.setDescription("Simple test archive including one SBML model"); description.setCreated(OmexDescription.getCurrentDateAndTime()); var creator = new VCard(); creator.setFamilyName("Bergmann"); creator.setGivenName("Frank"); creator.setEmail("*****@*****.**"); creator.setOrganization("Caltech"); description.addCreator(creator); archive.addMetadata(".", description); archive.writeToFile("out.omex"); }
private static List <PrimaryModelWData> read(string filename, string uri) { CombineArchive combineArchive = CombineArchive.FromFile(filename); List <PrimaryModelWData> models = new List <>(); // Gets data entries // ... }
private static List <ExperimentalData> read(string filename) { CombineArchive combineArchive = CombineArchive.FromFile(filename); List <ExperimentalData> dataRecords = new List <ExperimentalData>(); foreach (Entry entry in combineArchive.GetEntriesWithFormat(URI.NUML)) { string docName = entry.GetLocalFileName(); NuMLDocument doc = NuMLReader.read(docName); dataRecords.Add(new ExperimentalData(docName, doc)); } return(dataRecords); }
public static void write(string filename, List <ExperimentalData> dataRecords) { CombineArchive combineArchive = new CombineArchive(); combineArchive.ArchiveFileName = filename; // Add data records foreach (ExperimentalData ed in dataRecords) { // TODO: give tmpFile the ed.docName instead of random file name string tmpFile = System.IO.Path.GetTempFileName(); NuMLWriter.write(ed.doc, tmpFile); combineArchive.AddEntry(tmpFile, URI.NUML, null); } }
static void PrintMetaDataFor(CombineArchive archive, string location) { OmexDescription desc = archive.getMetadataForLocation(location); if (desc.isEmpty()) { Console.WriteLine(" no metadata for '{0}'", location); return; } Console.WriteLine(" metadata for '{0}':", location); Console.WriteLine(" Created : {0}", desc.getCreated().getDateAsString()); for (int i = 0; i < desc.getNumModified(); ++i) { Console.WriteLine(" Modified : {0}", desc.getModified(i).getDateAsString()); } Console.WriteLine(" # Creators: {0}", desc.getNumCreators()); for (int i = 0; i < desc.getNumCreators(); ++i) { VCard creator = desc.getCreator(i); Console.WriteLine(" {0} {1}", creator.getGivenName(), creator.getFamilyName()); } }