def main(lims, args, epp_logger): d_elts = [] no_updated = 0 incorrect_udfs = 0 project_names = '' source_udfs = args.source_udf dest_udfs = args.dest_udf s_elt = Process(lims, id=args.pid) analytes, inf = s_elt.analytes() for analyte in analytes: for samp in analyte.samples: d_elts.append(samp.project) d_elts = list(set(d_elts)) if args.status_changelog: epp_logger.prepend_old_log(args.status_changelog) if not dest_udfs: dest_udfs = source_udfs elif len(dest_udfs) != len(source_udfs): logging.error( "source_udfs and dest_udfs lists of arguments are uneven.") sys.exit(-1) for d_elt in d_elts: project_names = ' '.join([project_names, d_elt.name]) for i in range(len(source_udfs)): source_udf = source_udfs[i] dest_udf = dest_udfs[i] with open(args.status_changelog, 'a') as changelog_f: if source_udf in s_elt.udf: copy_sesion = CopyField(s_elt, d_elt, source_udf, dest_udf) test = copy_sesion.copy_udf(changelog_f) if test: no_updated = no_updated + 1 else: logging.warning( ("Udf: {1} in Process {0} is undefined/blank, exiting" ).format(s_elt.id, source_udf)) incorrect_udfs = incorrect_udfs + 1 if incorrect_udfs > 0: warn = "Failed to update %s udf(s) due to missing/wrong source udf info." % incorrect_udfs else: warn = '' d = {'up': no_updated, 'ap': len(d_elts), 'w': warn, 'pr': project_names} abstract = ("Updated {up} udf(s). Handeled project(s): {pr} {w}").format( **d) print >> sys.stderr, abstract
def main(lims, args, epp_logger): d_elts = [] no_updated = 0 incorrect_udfs = 0 project_names = '' source_udfs = args.source_udf dest_udfs = args.dest_udf s_elt = Process(lims,id = args.pid) analytes, inf = s_elt.analytes() for analyte in analytes: for samp in analyte.samples: d_elts.append(samp.project) d_elts = list(set(d_elts)) if args.status_changelog: epp_logger.prepend_old_log(args.status_changelog) if not dest_udfs: dest_udfs = source_udfs elif len(dest_udfs) != len(source_udfs): logging.error("source_udfs and dest_udfs lists of arguments are uneven.") sys.exit(-1) for d_elt in d_elts: project_names = ' '.join([project_names, d_elt.name]) for i in range(len(source_udfs)): source_udf = source_udfs[i] dest_udf = dest_udfs[i] with open(args.status_changelog, 'a') as changelog_f: if source_udf in s_elt.udf: copy_sesion = CopyField(s_elt, d_elt, source_udf, dest_udf) test = copy_sesion.copy_udf(changelog_f) if test: no_updated = no_updated + 1 else: logging.warning(("Udf: {1} in Process {0} is undefined/blank, exiting").format(s_elt.id, source_udf)) incorrect_udfs = incorrect_udfs + 1 if incorrect_udfs > 0: warn = "Failed to update %s udf(s) due to missing/wrong source udf info." %incorrect_udfs else: warn = '' d = {'up': no_updated, 'ap': len(d_elts), 'w' : warn, 'pr': project_names} abstract = ("Updated {up} udf(s). Handeled project(s): {pr} {w}").format(**d) print >> sys.stderr, abstract
def main(lims, args, epp_logger): source_udfs = args.source_udf dest_udfs = args.dest_udf correct_artifacts = 0 incorrect_artifacts = 0 no_updated = 0 p = Process(lims, id=args.pid) artifacts, inf = p.analytes() if args.status_changelog: epp_logger.prepend_old_log(args.status_changelog) if not dest_udfs: dest_udfs = source_udfs elif len(dest_udfs) != len(source_udfs): logging.error( "source_udfs and dest_udfs lists of arguments are uneven.") sys.exit(-1) for i in range(len(source_udfs)): source_udf = source_udfs[i] dest_udf = dest_udfs[i] with open(args.status_changelog, 'a') as changelog_f: for artifact in artifacts: if source_udf in artifact.udf: correct_artifacts = correct_artifacts + 1 copy_sesion = CopyField(artifact, artifact.samples[0], source_udf, dest_udf) test = copy_sesion.copy_udf(changelog_f) if test: no_updated = no_updated + 1 else: incorrect_artifacts = incorrect_artifacts + 1 logging.warning(("Found artifact for sample {0} with {1} " "undefined/blank, exiting").format( artifact.samples[0].name, source_udf)) if incorrect_artifacts == 0: warning = "no artifacts" else: warning = "WARNING: skipped {0} udfs(s)".format(incorrect_artifacts) d = { 'ua': no_updated, 'ca': correct_artifacts, 'ia': incorrect_artifacts, 'warning': warning } abstract = ("Updated {ua} udf(s), out of {ca} in total, " "{warning} with incorrect udf info.").format(**d) print >> sys.stderr, abstract # stderr will be logged and printed in GUI
def main(lims, args, epp_logger): source_udfs = args.source_udf dest_udfs = args.dest_udf correct_artifacts = 0 incorrect_artifacts = 0 no_updated = 0 p = Process(lims,id = args.pid) artifacts, inf = p.analytes() if args.status_changelog: epp_logger.prepend_old_log(args.status_changelog) if not dest_udfs: dest_udfs = source_udfs elif len(dest_udfs) != len(source_udfs): logging.error("source_udfs and dest_udfs lists of arguments are uneven.") sys.exit(-1) for i in range(len(source_udfs)): source_udf = source_udfs[i] dest_udf = dest_udfs[i] with open(args.status_changelog, 'a') as changelog_f: for artifact in artifacts: if source_udf in artifact.udf: correct_artifacts = correct_artifacts +1 copy_sesion = CopyField(artifact, artifact.samples[0], source_udf, dest_udf) test = copy_sesion.copy_udf(changelog_f) if test: no_updated = no_updated + 1 else: incorrect_artifacts = incorrect_artifacts + 1 logging.warning(("Found artifact for sample {0} with {1} " "undefined/blank, exiting").format(artifact.samples[0].name, source_udf)) if incorrect_artifacts == 0: warning = "no artifacts" else: warning = "WARNING: skipped {0} udfs(s)".format(incorrect_artifacts) d = {'ua': no_updated, 'ca': correct_artifacts, 'ia': incorrect_artifacts, 'warning' : warning} abstract = ("Updated {ua} udf(s), out of {ca} in total, " "{warning} with incorrect udf info.").format(**d) print >> sys.stderr, abstract # stderr will be logged and printed in GUI