def islofarhdf5(filename): """returns True if filename is a hdf5 container""" if not os.path.isfile(filename): return False if filename[-2:].lower() != 'h5': return False try: pyrap_image(filename) except RuntimeError: return False return True
def image_to_mongodb(filename, hostname, port, db): """Copy a file into mongodb""" try: import pymongo import gridfs except ImportError: msg = "Could not import MongoDB modules" logger.error(msg) warnings.warn(msg) return False try: connection = pymongo.Connection(host=hostname, port=port) gfs = gridfs.GridFS(connection[db]) if gfs.exists(filename=filename): logger.debug("File already in database") else: # This conversion should work whether the input file # is in FITS or CASA format. # temp_fits_file is removed automatically when closed. temp_fits_file = NamedTemporaryFile() i = pyrap_image(filename) i.tofits(temp_fits_file.name) new_file = gfs.new_file(filename=filename) with open(temp_fits_file.name, "r") as f: new_file.write(f) new_file.close() logger.info("Saved local copy of %s on %s"\ % (os.path.basename(filename), hostname)) except Exception, e: msg = "Failed to save image to MongoDB: %s" % (str(e),) logger.error(msg) warnings.warn(msg) return False
def image_to_mongodb(filename, hostname, port, db): """Copy a file into mongodb""" try: import pymongo import gridfs except ImportError: msg = "Could not import MongoDB modules" logger.error(msg) warnings.warn(msg) return False try: connection = pymongo.Connection(host=hostname, port=port) gfs = gridfs.GridFS(connection[db]) if gfs.exists(filename=filename): logger.debug("File already in database") else: # This conversion should work whether the input file # is in FITS or CASA format. # temp_fits_file is removed automatically when closed. temp_fits_file = NamedTemporaryFile() i = pyrap_image(filename) i.tofits(temp_fits_file.name) new_file = gfs.new_file(filename=filename) with open(temp_fits_file.name, "r") as f: new_file.write(f) new_file.close() logger.info("Saved local copy of %s on %s"\ % (os.path.basename(filename), hostname)) except Exception, e: msg = "Failed to save image to MongoDB: %s" % (str(e), ) logger.error(msg) warnings.warn(msg) return False