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)
예제 #2
0
 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)
예제 #6
0
 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)
예제 #9
0
 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)
예제 #10
0
 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)
예제 #11
0
 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)
예제 #17
0
 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)
예제 #18
0
 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)
예제 #20
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)
예제 #21
0
 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)
예제 #23
0
 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)
예제 #24
0
 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)