-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathmain.py
More file actions
111 lines (99 loc) · 2.95 KB
/
Copy pathmain.py
File metadata and controls
111 lines (99 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import argparse
import os
import sys
import turtle
from shapes.canvas import Canvas
from shapes.shapes import Quadrilateral
from shapes.text import Text
turtle.tracer(False)
def main():
# circle = Circle(50, fill='orange', stroke='red')
# print(f"area = {circle.calculate_area()}")
# print(f"area = {circle.area}")
# print(f"circumference is {len(circle)}")
# print(circle())
# print(repr(circle))
#
# my_dict = {
# 'key': {
# 'inside_dict': [5, 6, 7, 8]
# }
# }
#
# my_yaml = yaml.dump(my_dict)
# print(my_yaml)
#
# print(circle)
#
# yaml_circle = """\
# circle:
# at: !!python/tuple
# - 0
# - 0
# fill: orange
# radius: 5.0
# stroke: red"""
# my_circle = Circle.from_yaml(yaml_circle)
#
# pen = turtle.Turtle() # we draw with a turtle
# text = Text("This was written by a turtle!", at=(20, -50))
# print(text)
# text.write(pen, font=('Arial', 30, 'bold'))
#
# circle.draw(pen)
#
# # quad
# quad = Quadrilateral(200, 60, at=(215, -5))
# print(f"vertices = {quad.vertices}")
# quad.draw(pen)
#
# # canvas
# canvas = Canvas(1000, 700)
# canvas.draw_axes()
# canvas.draw_grid()
# canvas.write(text)
# # user
# canvas.draw(circle)
# canvas = Canvas(1000, 700)
# gquad = Quadrilateral(
# 200, 300, fill='#009a44', stroke='white', at=(-200, 0)
# )
# wquad = Quadrilateral(
# 200, 300, fill='white', stroke='#dddddd', at=(0, 0)
# )
# oquad = Quadrilateral(
# 200, 300, fill='#ff8200', stroke='white', at=(200, 0)
# )
# text = Text('IRELAND', at=(0, -250))
# canvas.draw(gquad)
# canvas.draw(wquad)
# canvas.draw(oquad)
# canvas.write(text, align='center', font=('Arial', 60, 'bold'))
# turtle.done()
parser = argparse.ArgumentParser(prog='shapes', description='draws shapes')
parser.add_argument('command', help='the command to issue')
parser.add_argument('-o', '--output', help='output file')
args = parser.parse_args()
print(args)
if args.command == 'draw':
canvas = Canvas(1000, 700)
gquad = Quadrilateral(
200, 300, fill='#009a44', stroke='white', at=(-200, 0)
)
wquad = Quadrilateral(
200, 300, fill='white', stroke='#dddddd', at=(0, 0)
)
oquad = Quadrilateral(
200, 300, fill='#ff8200', stroke='white', at=(200, 0)
)
text = Text('IRELAND', at=(0, -250))
canvas.draw(gquad)
canvas.draw(wquad)
canvas.draw(oquad)
canvas.write(text, align='center', font=('Arial', 60, 'bold'))
turtle.done()
elif args.command == 'eval':
print('Evaluating shape...')
return os.EX_OK
if __name__ == "__main__":
sys.exit(main())