diff options
author | Walter Bender <walter.bender@gmail.com> | 2013-01-16 22:41:36 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2013-01-16 22:41:36 (GMT) |
commit | 9eda2d71357e560d9fae4fbdaee30a5501ee7629 (patch) | |
tree | 241784b18e23ca11baa963a224df6f4726e2b259 /pysamples | |
parent | 6bcc4e92b0b82db142897f06e0e6988c7feac3d6 (diff) |
new python example
Diffstat (limited to 'pysamples')
-rw-r--r-- | pysamples/load_file_to_heap.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pysamples/load_file_to_heap.py b/pysamples/load_file_to_heap.py new file mode 100644 index 0000000..919d6b5 --- /dev/null +++ b/pysamples/load_file_to_heap.py @@ -0,0 +1,30 @@ +#Copyright (c) 2010-11, Walter Bender, Tony Forster + +# This procedure is invoked when the user-definable block on the +# "extras" palette is selected. + +# Usage: Import this code into a Python (user-definable) block; when +# this code is run, the chooser will be opened for selecting a file +# from the GNU/Linux file system. The contents of that file will be +# loaded onto the FILO heap. Data is assumed to be json encoded. + + +def myblock(tw, path): + ''' Load heap from file (GNOME only) ''' + + import os + from TurtleArt.tautils import get_load_name, data_from_file + + if type(path) == float: + path = '' + + if not os.path.exists(path): + path, tw.load_save_folder = get_load_name('.*', tw.load_save_folder) + if path is None: + return + + data = data_from_file(path) + if data is not None: + for val in data: + tw.lc.heap.append(val) + tw.lc.update_label_value('pop', tw.lc.heap[-1]) |