diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2011-11-11 23:43:03 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2011-11-11 23:43:03 +0000 |
commit | ea55962e550e65cf30b372cab7e69f4df54e7035 (patch) | |
tree | bce405b19ca3311723daffd1227e7cc3f6f14492 | |
parent | 9af7bda60aa9a321cd0f595692b58c6d1e15d9ea (diff) |
create [delete] object, but no handling of -force or lists of files yet
svn path=/trunk/externals/tclfile/; revision=15728
-rw-r--r-- | delete-help.pd | 23 | ||||
-rw-r--r-- | delete.tcl | 38 | ||||
-rw-r--r-- | mkdir-help.pd | 34 |
3 files changed, 84 insertions, 11 deletions
diff --git a/delete-help.pd b/delete-help.pd new file mode 100644 index 0000000..667cfd5 --- /dev/null +++ b/delete-help.pd @@ -0,0 +1,23 @@ +#N canvas 186 203 501 349 10; +#X obj 297 261 mkdir; +#X msg 298 232 symbol /tmp/blah; +#X obj 202 160 exists; +#X msg 202 114 symbol /tmp/blah; +#X obj 202 181 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 202 201 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 209 133 symbol /tmp/created_after_bang; +#X text 28 294 this is a clone of this command:; +#X msg 48 63 symbol /tmp/blah; +#X obj 48 115 delete; +#X text 25 20 delete a file or empty folder; +#X text 253 209 make a new one:; +#X obj 120 306 pddp/pddplink http://tcl.tk/man/tcl8.5/TclCmd/file.htm#M12 +; +#X connect 1 0 0 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 5 0; +#X connect 6 0 2 0; +#X connect 8 0 9 0; diff --git a/delete.tcl b/delete.tcl new file mode 100644 index 0000000..840535f --- /dev/null +++ b/delete.tcl @@ -0,0 +1,38 @@ +package require Tclpd 0.2.3 +package require TclpdLib 0.19 + +proc delete::constructor {self args} { + if {![namespace exists $self]} { + namespace eval $self {} + } + # set to blank so the var always delete + variable ${self}::filename {} + variable ${self}::current_canvas [canvas_getcurrent] + + # add second inlet (first created by default) + pd::add_inlet $self list +} + +proc delete::0_symbol {self args} { + # HOT inlet + variable ${self}::filename [pd::arg 0 symbol] + delete::0_bang $self +} + +proc delete::0_bang {self} { + variable ${self}::current_canvas + variable ${self}::filename + if {[file pathtype $filename] eq "absolute"} { + file delete -- $filename + } else { + set dir [[canvas_getdir $current_canvas] cget -s_name] + file delete -- [file join $dir $filename] + } +} + +proc+ delete::1_symbol {self args} { + # COLD inlet + variable ${self}::filename [pd::arg 0 symbol] +} + +pd::class delete diff --git a/mkdir-help.pd b/mkdir-help.pd index 4ea2384..5c1dab9 100644 --- a/mkdir-help.pd +++ b/mkdir-help.pd @@ -1,18 +1,30 @@ #N canvas 186 203 501 349 10; -#X obj 120 161 mkdir; -#X msg 120 109 symbol /tmp/blah; -#X obj 268 155 exists; -#X msg 268 109 symbol /tmp/blah; -#X obj 268 176 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 203 190 exists; +#X msg 203 144 symbol /tmp/blah; +#X obj 203 211 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; -#X obj 268 196 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 203 231 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X msg 275 128 symbol /tmp/created_after_bang; +#X msg 210 163 symbol /tmp/created_after_bang; #X text 28 294 this is a clone of this command:; #X obj 120 306 pddp/pddplink http://tcl.tk/man/tcl8.5/TclCmd/file.htm#M22 ; +#X msg 48 63 symbol /tmp/blah; +#X text 25 20 make a new folder; +#X obj 48 115 mkdir; +#X obj 222 109 mkdir; +#X msg 250 85 symbol /tmp/created_after_bang; +#X msg 222 54 bang; +#X msg 289 217 symbol /tmp/blah; +#X msg 296 236 symbol /tmp/created_after_bang; +#X obj 289 263 delete; +#X text 267 199 and delete it:; +#X connect 0 0 2 0; #X connect 1 0 0 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 4 0 5 0; -#X connect 6 0 2 0; +#X connect 2 0 3 0; +#X connect 4 0 0 0; +#X connect 7 0 9 0; +#X connect 11 0 10 1; +#X connect 12 0 10 0; +#X connect 13 0 15 0; +#X connect 14 0 15 0; |