Пример #1
0
  def test0(self):
    '''
    start with empty summaries_file, instantiate a measurement, check that summary got added to file
    '''
    print("--test0--")
    i = 0
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "ping")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)

    self._make_dir_if_nonexists("data")
    curr_path = os.path.dirname(os.path.realpath(__file__))
    data_path = os.path.join(curr_path, "data")
    os.chdir(data_path)
    file1 = measurement2._fetch_to_local(1446336000, 1446336100)
    file2 = measurement2._fetch_to_local(1446422400, 1446422500)
    list_of_entries = os.listdir(data_path)
    list_of_files = [f for f in list_of_entries if os.path.isfile(os.path.join(data_path, f))]
    self.assertEqual(len(list_of_files), 2)

    os.chdir(curr_path)
    ping_data = Ping_Data(measurement2.measurement_id, file1, self.fname)
    self.assertTrue(ping_data.local_hit)

    list_of_headings = Ping_Data.get_ping_headings()
    csv_file = "test.csv"
    gold_file = "gold.csv"
    ping_data.prep_csv_file(csv_file, list_of_headings)
    ping_data.write_data_to_csv(csv_file, probe_id = 10008)

    with open(csv_file) as csv_file_obj:
      with open(gold_file) as gold_file_obj:
        self.assertMultiLineEqual(csv_file_obj.read(), gold_file_obj.read())

    i = 1
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "dns")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)

    i = 2
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "traceroute")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)
Пример #2
0
                    help="A file containing a dictionary of measurement_id : measurement_summary.  If ommitted, summaries are obtained from internet.")
    return parser.parse_args()


if __name__ == "__main__":
    args = parse_args()
    summaries_file = args.summaries_file
    data_path = args.data_path
    probe_id = args.probe_id
    out_file = args.out_file

    list_of_entries = listdir(data_path)
    list_of_files = [join(data_path, f) for f in list_of_entries if isfile(join(data_path, f))]

    for this_file in list_of_files:
        print("reading "+this_file)

        # Get measurement ID
        measurement_id = Measurement_Data.get_measurement_id_from_file(this_file)
        if measurement_id == None:
            print(this_file + " appears to be empty.  Skipping.")
            continue    # go to next file

        # Get data from this file
        measurement_data = Measurement_Data(measurement_id, this_file, summaries_file)

        if measurement_data.type == 'ping':
            ping_data = Ping_Data(measurement_id, this_file, summaries_file)
            ping_data.write_data_to_csv(csv_file, probe_id)

    
Пример #3
0
        "A file containing a dictionary of measurement_id : measurement_summary.  If ommitted, summaries are obtained from internet."
    )
    return parser.parse_args()


# Call the script by typing:
#    $ python explore_data.py filename [limit] [summaries_file]
# where filename is the name of a file containing a ripe atlas response
if __name__ == "__main__":
    args = parse_args()
    summaries_file = args.summaries_file
    data_path = args.data_path
    probe_id = args.probe_id
    csv_file = join(args.csv_path, CSV_FILE_PREFIX + str(probe_id) + ".csv")

    list_of_headings = Ping_Data.get_ping_headings()
    Measurement_Data.prep_csv_file(csv_file, list_of_headings)

    list_of_entries = listdir(data_path)
    list_of_files = [
        join(data_path, f) for f in list_of_entries
        if isfile(join(data_path, f))
    ]

    for this_file in list_of_files:
        print("reading " + this_file)
        measurement_id = Measurement_Data.get_measurement_id_from_file(
            this_file)
        if measurement_id == None:
            print(this_file + " appears to be empty.  Skipping.")
            continue
Пример #4
0
    parser.add_argument('summaries_file', type=str, nargs="?",
                    help="A file containing a dictionary of measurement_id : measurement_summary.  If ommitted, summaries are obtained from internet.")
    return parser.parse_args()


# Call the script by typing:
#    $ python explore_data.py filename [limit] [summaries_file]
# where filename is the name of a file containing a ripe atlas response
if __name__ == "__main__":
    args = parse_args()
    summaries_file = args.summaries_file
    data_path = args.data_path
    probe_id = args.probe_id
    csv_file = join(args.csv_path, CSV_FILE_PREFIX+str(probe_id)+".csv")

    list_of_headings = Ping_Data.get_ping_headings()
    Measurement_Data.prep_csv_file(csv_file, list_of_headings)

    list_of_entries = listdir(data_path)
    list_of_files = [join(data_path, f) for f in list_of_entries if isfile(join(data_path, f))]

    for this_file in list_of_files:
        print("reading "+this_file)
        measurement_id = Measurement_Data.get_measurement_id_from_file(this_file)
        if measurement_id == None:
            print(this_file + " appears to be empty.  Skipping.")
            continue

        measurement_data = Measurement_Data(measurement_id, this_file, summaries_file)

        if measurement_data.type == 'ping':