1# file: runme.py
2
3import example
4
5# Try to set the values of some global variables
6
7example.cvar.ivar = 42
8example.cvar.svar = -31000
9example.cvar.lvar = 65537
10example.cvar.uivar = 123456
11example.cvar.usvar = 61000
12example.cvar.ulvar = 654321
13example.cvar.scvar = -13
14example.cvar.ucvar = 251
15example.cvar.cvar = "S"
16example.cvar.fvar = 3.14159
17example.cvar.dvar = 2.1828
18example.cvar.strvar = "Hello World"
19example.cvar.iptrvar = example.new_int(37)
20example.cvar.ptptr = example.new_Point(37, 42)
21example.cvar.name = "Bill"
22
23# Now print out the values of the variables
24
25print "Variables (values printed from Python)"
26
27print "ivar      =", example.cvar.ivar
28print "svar      =", example.cvar.svar
29print "lvar      =", example.cvar.lvar
30print "uivar     =", example.cvar.uivar
31print "usvar     =", example.cvar.usvar
32print "ulvar     =", example.cvar.ulvar
33print "scvar     =", example.cvar.scvar
34print "ucvar     =", example.cvar.ucvar
35print "fvar      =", example.cvar.fvar
36print "dvar      =", example.cvar.dvar
37print "cvar      =", example.cvar.cvar
38print "strvar    =", example.cvar.strvar
39print "cstrvar   =", example.cvar.cstrvar
40print "iptrvar   =", example.cvar.iptrvar
41print "name      =", example.cvar.name
42print "ptptr     =", example.cvar.ptptr, example.Point_print(example.cvar.ptptr)
43print "pt        =", example.cvar.pt, example.Point_print(example.cvar.pt)
44
45print "\nVariables (values printed from C)"
46
47example.print_vars()
48
49print "\nNow I'm going to try and modify some read only variables"
50
51print "     Trying to set 'path'"
52try:
53    example.cvar.path = "Whoa!"
54    print "Hey, what's going on?!?! This shouldn't work"
55except Exception:
56    print "Good."
57
58print "     Trying to set 'status'"
59try:
60    example.cvar.status = 0
61    print "Hey, what's going on?!?! This shouldn't work"
62except Exception:
63    print "Good."
64
65
66print "\nI'm going to try and update a structure variable.\n"
67
68example.cvar.pt = example.cvar.ptptr
69
70print "The new value is"
71example.pt_print()
72print "You should see the value", example.Point_print(example.cvar.ptptr)
73