Mercurial > repos > greg > validate_temperature_data
comparison validate_temperature_data.py @ 7:c5004164d035 draft
Uploaded
| author | greg |
|---|---|
| date | Tue, 27 Nov 2018 10:09:20 -0500 |
| parents | 418a11822c5a |
| children | 119c30a504db |
comparison
equal
deleted
inserted
replaced
| 6:418a11822c5a | 7:c5004164d035 |
|---|---|
| 53 def validate_mmdd(line_no, mmdd, accumulated_msgs): | 53 def validate_mmdd(line_no, mmdd, accumulated_msgs): |
| 54 try: | 54 try: |
| 55 datetime.datetime.strptime(mmdd, '%m-%d') | 55 datetime.datetime.strptime(mmdd, '%m-%d') |
| 56 return accumulated_msgs | 56 return accumulated_msgs |
| 57 except ValueError: | 57 except ValueError: |
| 58 # Handle Feb 29. | |
| 59 items = mmdd.split("-") | |
| 60 try: | |
| 61 month = int(items[0]) | |
| 62 day = int(items[1]) | |
| 63 if month == 2 and day == 29: | |
| 64 return accumulated_msgs | |
| 65 except Exception | |
| 66 # Error message accumulated below. | |
| 67 pass | |
| 58 return add_error_msg(accumulated_msgs, "Line %d contains an incorrect date format (%s must be mm-dd)." % (line_no, mmdd)) | 68 return add_error_msg(accumulated_msgs, "Line %d contains an incorrect date format (%s must be mm-dd)." % (line_no, mmdd)) |
| 59 | 69 |
| 60 | 70 |
| 61 accumulated_msgs = "" | 71 accumulated_msgs = "" |
| 62 # Parse the input file, skipping the header, and validating | 72 # Parse the input file, skipping the header, and validating |
| 76 if line != header: | 86 if line != header: |
| 77 accumulated_msgs = add_error_msg(accumulated_msgs, "The header is invalid, must be %s" % header) | 87 accumulated_msgs = add_error_msg(accumulated_msgs, "The header is invalid, must be %s" % header) |
| 78 continue | 88 continue |
| 79 items = line.split(",") | 89 items = line.split(",") |
| 80 if args.data_type == "normals": | 90 if args.data_type == "normals": |
| 91 num_normals_rows += 1 | |
| 81 if i > 367: | 92 if i > 367: |
| 82 accumulated_msgs = add_error_msg(accumulated_msgs, "The input file contains more than 367 lines (must be 1 header line and 366 data lines).") | 93 accumulated_msgs = add_error_msg(accumulated_msgs, "The input file contains more than 367 lines (must be 1 header line and 366 data lines).") |
| 83 stop_error(accumulated_msgs) | 94 stop_error(accumulated_msgs) |
| 84 if len(items) != 10: | 95 if len(items) != 10: |
| 85 accumulated_msgs = add_error_msg(accumulated_msgs, "Line %d contains %s columns, (must be 10)." % (i, len(items))) | 96 accumulated_msgs = add_error_msg(accumulated_msgs, "Line %d contains %s columns, (must be 10)." % (i, len(items))) |
| 115 pass | 126 pass |
| 116 tmin = items[8].strip() | 127 tmin = items[8].strip() |
| 117 accumulated_msgs = validate_decimal(i, tmin, accumulated_msgs, "tmin") | 128 accumulated_msgs = validate_decimal(i, tmin, accumulated_msgs, "tmin") |
| 118 tmax = items[9].strip() | 129 tmax = items[9].strip() |
| 119 accumulated_msgs = validate_decimal(i, tmax, accumulated_msgs, "tmax") | 130 accumulated_msgs = validate_decimal(i, tmax, accumulated_msgs, "tmax") |
| 120 num_normals_rows += 1 | |
| 121 else: | 131 else: |
| 122 if i > 367: | 132 if i > 367: |
| 123 accumulated_msgs = add_error_msg(accumulated_msgs, "The input file contains more than 367 lines (must be 1 header line and no more than 366 data lines).") | 133 accumulated_msgs = add_error_msg(accumulated_msgs, "The input file contains more than 367 lines (must be 1 header line and no more than 366 data lines).") |
| 124 stop_error(accumulated_msgs) | 134 stop_error(accumulated_msgs) |
| 125 if len(items) != 6: | 135 if len(items) != 6: |
