From ea55962e550e65cf30b372cab7e69f4df54e7035 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 11 Nov 2011 23:43:03 +0000 Subject: create [delete] object, but no handling of -force or lists of files yet svn path=/trunk/externals/tclfile/; revision=15728 --- delete-help.pd | 23 +++++++++++++++++++++++ delete.tcl | 38 ++++++++++++++++++++++++++++++++++++++ mkdir-help.pd | 34 +++++++++++++++++++++++----------- 3 files changed, 84 insertions(+), 11 deletions(-) create mode 100644 delete-help.pd create mode 100644 delete.tcl 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; -- cgit v1.2.1