def test_set_alarm_list_date(self): base_time = TimeController.get_epoch(da(1970, 1, 1, 00, 00, 00)) ma = MultiAlarmTimer(None, register_datetime=datetime.datetime( 1970, 1, 1, 00, 00, 10)) ma.set_alarm_list_date( [da(1970, 1, 1, 00, 00, 12), da(1970, 1, 1, 00, 00, 20)]) self.assertFalse(ma.is_it_time(base_time + 11)) self.assertTrue(ma.is_it_time(base_time + 12)) self.assertFalse(ma.is_it_time(base_time + 15)) self.assertTrue(ma.is_it_time(base_time + 20))
def test_do_trigger(self): gen = FakeGen(None) base_time = TimeController.get_epoch(da(1970, 1, 1, 00, 00, 00)) ma = MultiAlarmTimer(gen, register_datetime=datetime.datetime( 1970, 1, 1, 00, 00, 10)) ma.set_alarm_list_date([ da(1970, 1, 1, 00, 00, 12), da(1970, 1, 1, 00, 00, 12), da(1970, 1, 1, 00, 00, 20) ]) self.assertEqual(ma.do_trigger(base_time + 11), 0) self.assertEqual(ma.do_trigger(base_time + 12), 2) self.assertEqual(ma.do_trigger(base_time + 15), 0) self.assertEqual(ma.do_trigger(base_time + 20), 1) self.assertEqual(gen._count, 3)
def test_timed_wf_gen(self): tg = FakeTraceGenWF(self) machine = FakeEdison() wg = WorkloadGenerator(machine, tg, ["user1"], ["qos1"], ["partition1"], ["account1"]) flow = WorkflowGenerator(["manifest_sim.json"], [1.0], wg) alarm = MultiAlarmTimer(flow, register_datetime=datetime.datetime( 2015, 1, 1)) alarm.set_alarm_list_date([ da(2015, 1, 1, 00, 00, 10), da(2015, 1, 1, 00, 00, 10), da(2015, 1, 1, 00, 00, 20) ]) alarm2 = MultiAlarmTimer(flow, register_datetime=datetime.datetime( 2015, 1, 1)) alarm2.set_alarm_list_date([ da(2015, 1, 1, 00, 00, 10), da(2015, 1, 2, 00, 00, 10), da(2015, 1, 2, 00, 00, 20) ]) wg.register_pattern_generator_timer(alarm) wg.register_pattern_generator_timer(alarm2) wg.generate_trace(datetime.datetime(2015, 1, 1), 100, 100) self.assertEqual(tg._workflow_count, 4, "Alarms didn't generate WFs") self.assertGreater(tg._job_count, 10) self.assertEqual(len(wg._pattern_timers), 1, "Purging does not work")
def test_init(self): ma = MultiAlarmTimer(None) self.assertEqual(ma._alarm_list, []) ma.register_time(100) self.assertEqual(ma._current_timestamp, 100) self.assertEqual(ma._register_timestamp, 100) ma = MultiAlarmTimer(None, 200) self.assertEqual(ma._current_timestamp, 200) self.assertEqual(ma._register_timestamp, 200) base_time = TimeController.get_epoch(da(1970, 1, 1, 00, 00, 00)) ma = MultiAlarmTimer(None, register_datetime=datetime.datetime( 1970, 1, 1, 00, 00, 10)) self.assertEqual(ma._current_timestamp, base_time + 10) self.assertEqual(ma._register_timestamp, base_time + 10)
template = Environment().from_string(MD) root = ET.parse(argv[1]).getroot() for child in root: article = {} article["pmid"] = child.find(".//PMID").text article["title"] = child.find(".//ArticleTitle").text if child.find(".//AbstractText") is not None: article["abstract"] = child.find(".//AbstractText").text else: article["abstract"] = "" article["authors"] = ", ".join([ '"' + x.find("ForeName").text + " " + x.find("LastName").text + '"' for x in child.findall(".//Author") ]) article["keywords"] = ", ".join([ '"' + x.text + '"' for x in child.findall(".//Keyword") ]) article["doi"] = child.find( ".//ArticleId[@IdType='doi']").text article["journal"] = child.find(".//Journal/Title").text date = child.find(".//PubMedPubDate[@PubStatus='pubmed']") article["date"] = da(int(date.find("Year").text), int(date.find("Month").text), int(date.find("Day").text)).isoformat() print(article["keywords"]) filename = "content/pubs/PM{}.md".format(article["pmid"]) if not exists(filename): with open(filename, "w") as f: f.write(template.render(**article))
], id="header", className="row flex-display", style={"margin-bottom": "25px"}, ), html.Div( [ html.Div( [ html.P( "Select by Date:", className="control_label", ), dcc.DatePickerSingle( id='stream-date', min_date_allowed=da(2020, 6, 1), max_date_allowed=da(2020, 6, 7), initial_visible_month=da(2020, 6, 1), date=str(da(2020, 6, 25, 23, 59, 59)), className="dcc_control", ), html.P("Filter by Keywords:", className="control_label"), dcc.RadioItems( id="keywords_selector", options=[ {"label": "All ", "value": "all"}, {"label": "Customize ", "value": "custom"}, ], value="all", labelStyle={"display": "inline-block"},