185 lines
3.9 KiB
Python
185 lines
3.9 KiB
Python
from tjnetwork import *
|
|
|
|
|
|
def demo_snapshot():
|
|
p = "demo_snapshot"
|
|
|
|
print(p)
|
|
|
|
if is_project_open(p):
|
|
close_project(p)
|
|
|
|
if have_project(p):
|
|
delete_project(p)
|
|
|
|
create_project(p)
|
|
open_project(p)
|
|
|
|
add_junction(p, 'j-1', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-2', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-3', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-4', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "1-2-3-4")
|
|
|
|
undo(p)
|
|
undo(p)
|
|
undo(p)
|
|
undo(p)
|
|
|
|
add_junction(p, 'j-5', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-6', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-7', 10.0, 20.0, 30.0)
|
|
add_junction(p, 'j-8', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "5-6-7-8")
|
|
|
|
print("before checkout, it should be 5, 6, 7, 8")
|
|
print(get_nodes(p))
|
|
|
|
pick_snapshot(p, "1-2-3-4")
|
|
|
|
print("after checkout, it should be 1, 2, 3, 4")
|
|
print(get_nodes(p))
|
|
|
|
close_project(p)
|
|
delete_project(p)
|
|
|
|
|
|
def demo_transaction():
|
|
p = "demo_transaction"
|
|
|
|
print(p)
|
|
|
|
if is_project_open(p):
|
|
close_project(p)
|
|
|
|
if have_project(p):
|
|
delete_project(p)
|
|
|
|
create_project(p)
|
|
open_project(p)
|
|
|
|
add_junction(p, 'j-1', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "1")
|
|
add_junction(p, 'j-2', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "2")
|
|
|
|
start_transaction(p)
|
|
|
|
add_junction(p, 'j-3', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "3")
|
|
add_junction(p, 'j-4', 10.0, 20.0, 30.0)
|
|
take_snapshot(p, "4")
|
|
|
|
print("before rollback, it should be 1, 2, 3, 4")
|
|
print(get_nodes(p))
|
|
|
|
print("after rollback, it should be 1, 2")
|
|
abort_transaction(p)
|
|
|
|
print(get_nodes(p))
|
|
|
|
print(f"have snapshot 1: {have_snapshot(p, '1')}")
|
|
print(f"have snapshot 2: {have_snapshot(p, '2')}")
|
|
print(f"have snapshot 3: {have_snapshot(p, '3')}")
|
|
print(f"have snapshot 4: {have_snapshot(p, '4')}")
|
|
|
|
close_project(p)
|
|
delete_project(p)
|
|
|
|
|
|
def demo_1_title():
|
|
p = "demo_1_title"
|
|
|
|
print(p)
|
|
|
|
if is_project_open(p):
|
|
close_project(p)
|
|
|
|
if have_project(p):
|
|
delete_project(p)
|
|
|
|
create_project(p)
|
|
open_project(p)
|
|
|
|
print(get_title(p)) #
|
|
|
|
set_title(p, "title")
|
|
print(get_title(p)) # title
|
|
|
|
set_title(p, "test")
|
|
print(get_title(p)) # test
|
|
|
|
undo(p)
|
|
print(get_title(p)) # title
|
|
|
|
undo(p)
|
|
print(get_title(p)) #
|
|
|
|
close_project(p)
|
|
delete_project(p)
|
|
|
|
|
|
def demo_2_junctions():
|
|
p = "demo_2_junctions"
|
|
|
|
print(p)
|
|
|
|
if is_project_open(p):
|
|
close_project(p)
|
|
|
|
if have_project(p):
|
|
delete_project(p)
|
|
|
|
create_project(p)
|
|
open_project(p)
|
|
|
|
j = 'j-1'
|
|
print(get_junction_coord(p, j)) # None
|
|
print(get_junction_elevation(p, j)) # None
|
|
print(get_junction_demand(p, j)) # None
|
|
print(get_junction_pattern(p, j)) # None
|
|
|
|
add_junction(p, j, 10.0, 20.0, 30.0)
|
|
print(get_junction_coord(p, j)) # {'x': 10.0, 'y': 20.0}
|
|
print(get_junction_elevation(p, j)) # 30.0
|
|
print(get_junction_demand(p, j)) # NULL
|
|
print(get_junction_pattern(p, j)) # NULL
|
|
|
|
set_junction_demand(p, j, 100.0)
|
|
print(get_junction_demand(p, j)) # 100.0
|
|
|
|
undo(p)
|
|
print(get_junction_demand(p, j)) # NULL
|
|
|
|
undo(p)
|
|
print(get_junction_coord(p, j)) # None
|
|
print(get_junction_elevation(p, j)) # None
|
|
print(get_junction_demand(p, j)) # None
|
|
print(get_junction_pattern(p, j)) # None
|
|
|
|
add_junction(p, j, 10.0, 20.0, 30.0)
|
|
print(get_junction_coord(p, j)) # {'x': 10.0, 'y': 20.0}
|
|
print(get_junction_elevation(p, j)) # 30.0
|
|
print(get_junction_demand(p, j)) # NULL
|
|
print(get_junction_pattern(p, j)) # NULL
|
|
|
|
set_junction_coord(p, j, 100.0, 200.0)
|
|
print(get_junction_coord(p, j)) # {'x': 100.0, 'y': 200.0}
|
|
|
|
undo(p)
|
|
print(get_junction_coord(p, j)) # {'x': 10.0, 'y': 20.0}
|
|
|
|
redo(p)
|
|
print(get_junction_coord(p, j)) # {'x': 100.0, 'y': 200.0}
|
|
|
|
close_project(p)
|
|
delete_project(p)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
demo_snapshot()
|
|
demo_transaction()
|
|
demo_1_title()
|
|
demo_2_junctions()
|
|
pass
|