aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2011-11-11 23:43:03 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2011-11-11 23:43:03 +0000
commitea55962e550e65cf30b372cab7e69f4df54e7035 (patch)
treebce405b19ca3311723daffd1227e7cc3f6f14492
parent9af7bda60aa9a321cd0f595692b58c6d1e15d9ea (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.pd23
-rw-r--r--delete.tcl38
-rw-r--r--mkdir-help.pd34
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;