Example #1
0
    def test_save_basic(self, tmpdir):
        tracker = Tracker(nodecreator=FakeNodeCreator(),
                skeleton=False)

        node1 = GenericNode("node1", "\u2665node1_text", tracker.root)
        tracker.root.addchild(node1)
        node2 = GenericNode("node2", "\u2665node2_text", tracker.root)
        tracker.root.addchild(node2)
        node3 = GenericNode("node3", None, tracker.root)
        tracker.root.addchild(node3)

        node1_1 = GenericNode("node1_1", "\u2665node1_1_text", node1)
        node1_1.setoption("herp", "\u2665derp")
        node1.addchild(node1_1)

        node1_2 = GenericNode("node1_2", "\u2665node1_2_text", node1)
        node1_2.continue_text("\u2665herk derk")
        node1.addchild(node1_2)

        node2_1 = GenericNode("node2_1", "\u2665node2_1_text", node2)
        node2_1.setoption("hark", "\u2665dark")
        node2_1.continue_text('\u2665honk donk')
        node2.addchild(node2_1)

        f = tmpdir.join("life")
        tracker.save(str(tmpdir))
        assert match(f.read("rb"), (
            "node1#?????: \u2665node1_text\n"
            "    node1_1#?????: \u2665node1_1_text\n"
            "        @herp: \u2665derp\n"
            "    node1_2#?????: \u2665node1_2_text\n"
            "        - \u2665herk derk\n"
            "node2#?????: \u2665node2_text\n"
            "    node2_1#?????: \u2665node2_1_text\n"
            "        - \u2665honk donk\n"
            "        @hark: \u2665dark\n"
            "node3#?????\n"
        ).encode("utf-8"))
Example #2
0
def main(filename):
    tracker = Tracker()
    try:
        reader = open(filename, "r")
    except IOError:
        pass
    else:
        tracker.load(reader)

    commandline = CommandLineInterface(tracker)

    while True:
        try:
            line = raw_input(commandline.prompt()).strip()

            commandline.command(None, line)
        except (KeyboardInterrupt, EOFError, ExitMainloop) as e:
            print
            break
        except Exception:
            print xtraceback.XTraceback(*sys.exc_info(), color=False)

    tracker.save(open(filename, "w"))