@@ -82,21 +82,26 @@ def delay(_ms):
82
82
83
83
84
84
# HELPERS
85
- def create_sketch (sketch_name = None , path = '.' , overwrite = False ):
85
+
86
+ def get_template ():
87
+ return '/' .join (__file__ .split ('/' )[:- 1 ]) + '/template.py'
88
+
89
+
90
+ def create_sketch (sketch_name = None , destination_path = '.' , overwrite = False , source = None ):
86
91
87
92
if sketch_name is None :
88
93
sketch_name = 'main'
89
- new_sketch_path = f'{ path } /{ sketch_name } .py'
94
+ new_sketch_path = f'{ destination_path } /{ sketch_name } .py'
90
95
try :
91
96
open (new_sketch_path , 'r' )
92
97
if not overwrite :
93
98
sketch_name = f'{ sketch_name } _{ ticks_us ()} '
94
99
except OSError :
95
100
pass
96
101
97
- template_path = '/' . join ( __file__ . split ( '/' )[: - 1 ]) + '/template.py'
102
+ template_path = get_template () if source is None else source
98
103
template_sketch = open (template_path , 'r' )
99
- new_sketch_path = f'{ path } /{ sketch_name } .py'
104
+ new_sketch_path = f'{ destination_path } /{ sketch_name } .py'
100
105
101
106
with open (new_sketch_path , 'w' ) as f :
102
107
sketch_line = None
@@ -107,6 +112,10 @@ def create_sketch(sketch_name = None, path = '.', overwrite = False):
107
112
template_sketch .close ()
108
113
return new_sketch_path
109
114
115
+ def copy_sketch (source_path = '' , destination_path = '.' , name = None , overwrite = False ):
116
+ name = name or 'main'
117
+ return create_sketch (sketch_name = name , destination_path = destination_path , overwrite = overwrite , source = source_path )
118
+
110
119
# the following methods are just for testing
111
120
# will produce output when this module is run as __main__
112
121
def preload ():
0 commit comments