def test_files_by_name__should_provide_group(self): target = Metadata(ls_txt_lines) file: File = target.files[ '20200827/402/CAM1_402-20200827012938-01.jpg'] group: Group = file.group self.assertEqual('402', group.name) self.assertEqual(12, len(group.files)) self.assertEqual('20200827/402/CAM1_402-20200827012938-01.jpg', group.files[-1].name)
def test_GroupList_files(self): target = Metadata(reversed(ls_txt_lines)) actual = target.groups['402'].files self.assertEqual(12, len(actual)) self.assertEqual('20200827/402/CAM1_402-20200827012933-00.jpg', actual[0].name) self.assertEqual('20200827/402/CAM1_402-20200827012934-01.jpg', actual[3].name) self.assertEqual('20200827/402/CAM1_402-20200827012938-01.jpg', actual[-1].name)
def main(): port = 8090 print('Starting server web v1.1 on port %d...' % port) args = sys.argv[1:] image_directory = './test_files/flat_files' if len(args) == 0 else args[0] refreshable_metadata = RefreshableCache(lambda: Metadata.from_folder(image_directory)) api_dispatch = Dispatch().register(WebApi, 'API_') httpd = HTTPServer(('', port), partial(RequestHandler , refreshable_metadata=refreshable_metadata , api_dispatch=api_dispatch , image_directory=image_directory , directory='./wwwroot')) httpd.timeout = 10 print('serving...') Thread(target=httpd.serve_forever).start() changed = wait_file_changes(__file__) httpd.shutdown() sys.exit(4 if changed else 0)
def test_files_by_name_should_match_group(self): target = Metadata(ls_txt_lines) file: File = target.files[ '20200827/402/CAM1_402-20200827012938-01.jpg'] self.assertEqual('20200827/402/CAM1_402-20200827012938-01.jpg', file.name)
def test_days_names_bug1(self): target = Metadata(file_lines('test_files/ls_bug1.txt')) actual = target.days.names expected = sorted(list(set(actual))) self.assertEqual(expected, actual)
def test_days_names_with_folder(self): target = Metadata.from_folder('test_files/flat_files') self.assertEqual(['2020-08-25', '2020-08-27', '2020-08-30'], target.days.names)
def test_with_folder(self): target = Metadata.from_folder('test_files/flat_files') self.assertEqual(['174', '500', '804', '805'], target.groups.names)
def test_group_time_str(self): target = Metadata(ls_txt_lines) self.assertEqual('01:29:33', target.groups['402'].time_str)
def test_days_groups(self): target = Metadata(ls_txt_lines) groups = target.days['2020-08-27'].groups self.assertEqual(['402', '403'], groups.names)
def test_days_string_dictionary(self): target = Metadata(ls_txt_lines) self.assertEqual('2020-08-27', target.days['2020-08-27'].date_str)
def test_days_names(self): target = Metadata(ls_txt_lines) self.assertEqual(['2020-08-26', '2020-08-27', '2020-08-30'], target.days.names)
def test_days(self): target = Metadata(ls_txt_lines) self.assertEqual(3, len(target.days)) self.assertEqual('2020-08-26', target.days[0].date_str) self.assertEqual('2020-08-27', target.days[1].date_str) self.assertEqual('2020-08-30', target.days[2].date_str)
def test_Groups_index(self): target = Metadata(reversed(ls_txt_lines)) self.assertEqual('402', target.days['2020-08-27'].groups[0].name)
def test_GroupList(self): target = Metadata(ls_txt_lines) self.assertEqual(['01', '02', '355', '402', '403'], target.groups.names) self.assertEqual(91, len(target.files))
def setUp(self) -> None: self.refreshable_metadata = RefreshableCache( lambda: Metadata(ls_txt_lines)) self.target = WebApi(self.refreshable_metadata)