Esempio n. 1
0
def scan():
    """Scan NetCDF files and cdf2cim specific metadata to file-system.

    :returns: Tuple of scanned cdf2cim files written to file system.
    :rtype: tuple

    """
    # Parse command line args.
    parser = argparse.ArgumentParser("ES-DOC netCDF scanner.")
    parser.add_argument(
        "-i",
        "--in-dir",
        help="Path to a directory where CF files are to be found",
        dest="input_dir",
        type=str)
    args = parser.parse_args()

    # Invoke.
    try:
        for fpath in cdf2cim.scan(args.input_dir):
            cdf2cim.log("Scanned file: {}".format(fpath))
    except Exception as err:
        cdf2cim.log_error('Scan error: {}'.format(err))
        sys.exit(1)
    else:
        cdf2cim.log('Scan succeeded')
        sys.exit(0)
Esempio n. 2
0
def verify_credentials():
    """Verifies that passed credentials are deemed valid by ES-DOC cdf2cim web-service.

    """
    try:
        cdf2cim.verify_credentials()
    except Exception as err:
        cdf2cim.log_error('Credentials verification failed: {}'.format(err))
        sys.exit(1)
    else:
        cdf2cim.log('Credentials verification succeeded')
        sys.exit(0)
Esempio n. 3
0
def publish():
    """Publishes to remote ES-DOC cdf2cim web-service.

    :returns: 2 member tuple: successes, failures
    :rtype: tuple

    """
    try:
        successes, failures = cdf2cim.publish()
    except Exception as err:
        cdf2cim.log_error('Publication error: {}'.format(err))
        sys.exit(1)
    else:
        for fpath, err in failures:
            cdf2cim.log_warning("Publication error: {} :: {}".format(
                fpath, err))
        for fpath in successes:
            cdf2cim.log("Published file: {}".format(fpath))
        sys.exit(0)