def testChecklistEvalExcel(self): """ Test checklist evaluation with generated Minim file from Excel source """ self.setupConfig() rodir = self.createTestRo(testbase, "testro", "RO for testMkMinim", "ro-testMkMinim") self.populateTestRo(testbase, rodir) self.annotateResource(testbase, rodir, "", "FileAnnotations.ttl") rouri = ro_manifest.getRoUri(rodir) # Create minim graph from CSV file gridname = "TestMkMinim.xls" griduri = ro_manifest.getComponentUri(rodir, gridname) gridxls = os.path.join(rodir, gridname) gridbase = "http://example.org/base/" grid = GridExcel(gridxls, baseuri=gridbase) (status, minimgr) = mkminim.mkminim(grid, baseuri=grid.resolveUri("")) self.assertEquals(status, 0) # Write Minim minimname = "TestMkMinim_minim.ttl" with open(rodir + "/" + minimname, "w") as minimfile: minimgr.serialize(minimfile, format="turtle") # Evaluate checklist minimuri = ro_manifest.getComponentUri(rodir, minimname) minimpurpose = "test1" args = ["ro", "evaluate", "checklist", "-a", "-d", rodir + "/", minimname, minimpurpose, "."] self.outstr.seek(0) with StdoutContext.SwitchStdout(self.outstr): status = ro.runCommand( os.path.join(testbase, TestConfig.ro_test_config.CONFIGDIR), os.path.join(testbase, TestConfig.ro_test_config.ROBASEDIR), args, ) outtxt = self.outstr.getvalue() assert status == 0, "Status %d, outtxt: %s" % (status, outtxt) log.debug("status %d, outtxt: %s" % (status, outtxt)) # Check response returned # filelist = [ unicode(ro_manifest.getComponentUri(rodir, f)) # for f in ["File1.txt", "File2.txt", "File3.txt"] ] filelist = ValueList( [str(ro_manifest.getComponentUri(rodir, f)) for f in ["File1.txt", "File2.txt", "File3.txt"]] ) expect = [ "Research Object file://%s/:" % (rodir), "Fully complete for test1 of resource .", "Satisfied requirements:", " At least 3 file as part values are present", " At most 3 file as part values are present", " All part resource files %s are aggregated in RO" % (filelist), " All file as part resources are accessible (live)", " Python 2.7.x present", " Files as part are partOf some indicated whole", " File exists as a part", "Research object URI: %s" % (rouri), "Minimum information URI: %s" % (minimuri), ] self.outstr.seek(0) for line in self.outstr: self.assertIn(str(line)[:-1], expect) self.deleteTestRo(rodir) return
grid = GridCSV(csvfile, baseuri="", dialect=csv.excel) except IOError, e: print "Failed to open grid CSV file %s"%(e) return 2 elif gridfilename.endswith(".xls"): try: grid = GridExcel(gridfilename, baseuri="") except IOError, e: print "Failed to open grid XLS file %s"%(e) return 2 else: print "Unrecognized grid file type %s; must be CSV or XLS."%(gridfilename) return 2 # Make minim file log.debug("mkminim %s"%(repr(options))) (status, mgr) = mkminim(grid, baseuri=grid.resolveUri("")) # Serialize graph to output stream if status == 0: mgr.serialize(sys.stdout, format=options.outformat) # Exit return status def parseCommandArgs(argv): """ Parse command line arguments prog -- program name from command line argv -- argument list from command line Returns a pair consisting of options specified as returned by OptionParser, and any remaining unparsed arguments.