def test_no_previous_blank_line_section_break(self): state = lib.state.State() state.update('test a line') state.update('---') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line)
def test_beginning_of_file(self): """First paragraph found from beginning of file, no markup.""" state = lib.state.State() self.assertFalse(state.is_first_paragraph) state.update('') state.update(proze_line) self.assertTrue(state.is_first_paragraph)
def test_empty_string(self): state = lib.state.State() self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line) state.update('') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line)
def test_multiple_levels(self): """A paragraph indented as a block quotes.""" state = lib.state.State() self.assertEqual(state.indent_level, 0) state.update(' a line of proze') self.assertEqual(state.indent_level, 1) state.update(' ') state.update(' a line of proze') self.assertEqual(state.indent_level, 2) state.update(' ') state.update(' a line of proze') self.assertEqual(state.indent_level, 1)
def test_mix_tabs_spaces(self): state = lib.state.State() state.update('\t') state.update(proze_line) self.assertTrue(state.previous_line.is_blank) state.update('\t \t ') state.update(proze_line) self.assertTrue(state.previous_line.is_blank)
def test_not_flag_second_paragraph(self): """Second paragraph not flagged as being first.""" state = lib.state.State() self.assertFalse(state.is_first_paragraph) state.update('') state.update(proze_line) state.update('') state.update(proze_line) self.assertFalse(state.is_first_paragraph)
def test_contiguous_markup_lines_no_previous_blank_line(self): state = lib.state.State() state.update('test a line') state.update('Title: test') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line) state.update('Chapter: test') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line) state.update('Section: test') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line) state.update('---') self.assertFalse(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertFalse(state.markup.is_markup_line)
def test_with_line_comments(self): """Interaction with line comments.""" state = lib.state.State() self.assertEqual(state.indent_level, 0) state.update(' indented ## with line comment') self.assertEqual(state.indent_level, 1) state.update(' part of the same indented block') self.assertEqual(state.indent_level, 1) state.update('## the entire line is commented out') self.assertEqual(state.indent_level, 1) state.update('part of the same block quote') self.assertEqual(state.indent_level, 1)
def test_hanging_closed_by_newline(self): """Wraps multiple lines and is closed by an empty line.""" state = lib.state.State() self.assertFalse(state.is_italics) state.update('*test') state.update('more proze') self.assertTrue(state.is_italics) state.update(' ') self.assertFalse(state.is_italics)
def test_hanging_closed_by_bold_token(self): """Wraps multiple lines and closed by token.""" state = lib.state.State() self.assertFalse(state.is_italics) state.update('*test') state.update('more proze') self.assertTrue(state.is_italics) state.update('*') self.assertFalse(state.is_italics)
def test_after_title(self): """Flag first line after title markup as first paragraph.""" state = lib.state.State() self.assertFalse(state.is_first_paragraph) state.update('') state.update(proze_line) state.update(proze_line) state.update('') state.update('Title: test') state.update(proze_line) self.assertTrue(state.is_first_paragraph)
def test_section_break(self): state = lib.state.State() state.update('---') self.assertTrue(state.markup.is_section) self.assertFalse(state.markup.is_chapter) self.assertTrue(state.markup.is_markup_line)
def test_chapter(self): state = lib.state.State() state.update('Chapter: test') self.assertFalse(state.markup.is_section) self.assertTrue(state.markup.is_chapter) self.assertTrue(state.markup.is_markup_line)
def test_empty_string(self): state = lib.state.State() self.assertTrue(state.previous_line.is_blank) state.update('') state.update(proze_line) self.assertTrue(state.previous_line.is_blank)
def test_structural_markup_previous_not_blank(self): state = lib.state.State() state.update('a') state.update('Chapter: test') self.assertFalse(state.previous_line.is_blank) self.assertFalse(state.markup.is_markup_line)
def test_structural_markup(self): state = lib.state.State() state.update('') state.update('Chapter: test') self.assertTrue(state.markup.is_markup_line) self.assertTrue(state.previous_line.is_blank)
def test_one_line(self): """A single line with a single bold block that closes itself.""" state = lib.state.State() self.assertFalse(state.is_italics) state.update('*test*') self.assertFalse(state.is_italics)
def test_multiple_structural_tags(self): """Flag first paragraph after each structure markup tag.""" state = lib.state.State() state.update('Title: test') state.update(proze_line) state.update('') state.update('Chapter: test') state.update(proze_line) self.assertTrue(state.is_first_paragraph) state.update('') state.update('Section: test') state.update(proze_line) self.assertTrue(state.is_first_paragraph) state.update('') state.update('---') state.update(proze_line) self.assertTrue(state.is_first_paragraph) state.update(proze_line) self.assertFalse(state.is_first_paragraph)
def test_indented_blockquote(self): """A paragraph indented as a block quotes.""" state = lib.state.State() self.assertEqual(state.indent_level, 0) state.update(' a line of proze') self.assertEqual(state.indent_level, 1) state.update(' ') self.assertEqual(state.indent_level, 1) state.update('a line of proze') self.assertEqual(state.indent_level, 0) state.update(' ') self.assertEqual(state.indent_level, 0) state.update(' a line of proze') self.assertEqual(state.indent_level, 1) state.update(' a line of proze') self.assertEqual(state.indent_level, 1) state.update(' a line of proze') self.assertEqual(state.indent_level, 1) state.update('a line of proze') self.assertEqual(state.indent_level, 1) state.update('') self.assertEqual(state.indent_level, 1) # This reverts to zero because it's an un-indent that goes negative. state.update('\t\ta line of proze') self.assertEqual(state.indent_level, 0) state.reset() state.update('a line of proze') self.assertEqual(state.indent_level, 0)
# assume a nadir camera rigidly mounted to airframe camera.set_mount_params(args.yaw_deg, args.pitch_deg, args.roll_deg) # note: dist_coeffs = array[5] = k1, k2, p1, p2, k3 # ... and save proj.save() else: # failed to load camera config file if not args.camera: log("Camera autodetection failed. Consider running the new camera script to create a camera config and then try running this script again." ) else: log("Specified camera config not found:", args.camera) log("Aborting due to camera detection failure.") quit() state.update("STEP1") ############################################################################ log("Step 2: configure camera poses and per-image meta data files", fancy=True) ############################################################################ log("Configuring images") # create pose file (if it doesn't already exist, for example sentera # cameras will generate the pix4d.csv file automatically, dji does not) pix4d_file = os.path.join(args.project, 'pix4d.csv') meta_file = os.path.join(args.project, 'image-metadata.txt') if os.path.exists(pix4d_file): log("Found a pose file:", pix4d_file) elif os.path.exists(meta_file): log("Found a pose file:", meta_file)
def test_second_line_of_paragraph(self): """Second lines of paragraphs not flagged as being first line.""" state = lib.state.State() self.assertFalse(state.is_first_paragraph) state.update('') state.update(proze_line) state.update(proze_line) self.assertFalse(state.is_first_paragraph) state.update('') state.update(proze_line) state.update(proze_line) self.assertFalse(state.is_first_paragraph)
def test_not_a_blank_line(self): state = lib.state.State() state.update('a') self.assertTrue(state.previous_line.is_blank)
def test_none_exists(self): """No first paragraph found from beginning of file.""" state = lib.state.State() self.assertFalse(state.is_first_paragraph) state.update('') self.assertFalse(state.is_first_paragraph)
def test_multiple_hanging_open(self): """Multiple bold blocks on a line with the last one staying open.""" state = lib.state.State() self.assertFalse(state.is_italics) state.update('*test* and * test') self.assertTrue(state.is_italics)