Ejemplo n.º 1
0
def test_fixed_file_is_valid():
    """Tests a fixed file is valid comparing the total width with expected
    """
    myParser = MyParser(config.SPEC_FILE)
    myParser.generate_fixed_file()
    total_offset = sum([int(off) for off in myParser.specs["Offsets"]])
    assert os.path.exists(config.OUTPUT_PATH+config.FIXED_FILENAME)

    if os.path.exists(config.OUTPUT_PATH+config.FIXED_FILENAME):
        with open(config.OUTPUT_PATH+config.FIXED_FILENAME, mode="r",encoding=myParser.specs["FixedWidthEncoding"]) as inp:
            for line in inp:
                assert len(line.replace(config.BREAKLINE, ""))==total_offset
Ejemplo n.º 2
0
logger = logging.getLogger(__name__)

if __name__ == '__main__':
    # Get the desired option from user using an argument parser from command line
    # only spcs is required, delimiter and numlines ca be defined with default
    arg_parser = argparse.ArgumentParser()

    # enforce the user to use a specs file
    arg_parser.add_argument("-s", "--spec", required=True, help="Specs")

    # since delimiter is not in specs, let the user to pass it as an argument
    arg_parser.add_argument("-d", "--delimiter", required=False, help="Delimiter")

    # since delimiter is not in specs, let the user to pass it as an argument
    arg_parser.add_argument("-n", "--numlines", required=False, help="Number of lines in file")

    args = vars(arg_parser.parse_args())

    spec_filename = args["spec"]
    delimiter = args["delimiter"]
    
    if args["numlines"]:
        numlines = args["numlines"]
    
    if os.path.exists(spec_filename):
        myParser = MyParser(spec_filename)
        fixed_filename = myParser.generate_fixed_file()
        delimited_filename = myParser.generate_delimited_file(fixed_filename)
    else:
        logger.info("No valid specs file found (%s). Nothing to do! :(",spec_filename)
Ejemplo n.º 3
0
def test_fixed_file_exists():
    """Tests a fixed file was generated
    """
    myParser = MyParser(config.SPEC_FILE)
    filename = myParser.generate_fixed_file()
    assert os.path.exists(filename)