def connect(**kwargs): if "conn" not in kwargs or kwargs["conn"] is None: kwargs["conn"] = tools.connect_to_omero(kwargs["uname"], kwargs["passwd"]) err = None for i in xrange(3): # try to connect 3 times try: kwargs["dataset"] = tools.get_dataset(kwargs["conn"], os.path.dirname(kwargs["path"])) except Exception, e: close_session(**kwargs) kwargs["conn"] = tools.connect_to_omero(kwargs["uname"], kwargs["passwd"]) err = e continue err = None break
def import_to_omero(path, pattern=None, ignores=None): ignore_pattern = re.compile("|".join(construct(ignores, r".*/\..*"))) result = {} connects = {} info("path: %s" % path) for dpath, fname in search_files(path, pattern, ignore_pattern): fullpath = os.path.join(dpath, fname) info('checking for "%s"' % fullpath) if not os.access(fullpath, os.R_OK): continue owner = get_owner(fullpath) if owner not in connects: passwd = getPassword(owner) if passwd is None: continue connects[owner] = tools.connect_to_omero(owner, passwd) obj, is_completed = import_file(fullpath, owner, passwd, connects[owner]) if not is_completed: continue # result[fullpath] = obj if "ERROR" not in obj or "ERRNO" not in obj["ERROR"] or obj["ERROR"]["ERRNO"] != errno.EEXIST: print '"%s": %s' % (fullpath, json.dumps(obj)) for uname, conn in connects: close_session(conn=conn) return result
def main(): pattern = re.compile('^(.*)\R3D.zs$') for user, passwd in users: conn = omero_tools.connect_to_omero(user, passwd) for image in omero_tools.get_images(conn): if re.match(pattern, image.getName()): print '#' * 50 print 'from: %s' % image.getName() to_name = re.sub(pattern, r'\1R3D_D3D.dv.zs', image.getName()) image.setName(to_name) image.save() print 'to : %s' % image.getName() conn._closeSession()