Use suffix _.tkl
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 11 Jun 2003 09:40:22 +0000 (09:40 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 11 Jun 2003 09:40:22 +0000 (09:40 +0000)
robot.tcl

index 141ecac..a90d6e8 100755 (executable)
--- a/robot.tcl
+++ b/robot.tcl
@@ -1,5 +1,5 @@
 #!/usr/bin/tclsh 
-# $Id: robot.tcl,v 1.42 2003/06/11 08:49:09 adam Exp $
+# $Id: robot.tcl,v 1.43 2003/06/11 09:40:22 adam Exp $
 #
 proc RobotFileNext1 {area lead} {
     # puts "RobotFileNext1 area=$area lead=$lead"
@@ -9,14 +9,19 @@ proc RobotFileNext1 {area lead} {
     foreach n $ns {
        if {[file isfile $n]} {
             set off [string last / $n]
-           incr off 2
-            return $lead/[string range $n $off end]
+           # skip /
+           incr off
+           set end [string length $n]
+           # skip _.tkl
+           incr end -6
+            return $lead/[string range $n $off $end]
         }
     }
     foreach n $ns {
        if {[file isdirectory $n]} {
             set off [string last / $n]
-           incr off 2
+           # skip /
+           incr off
             set sb [RobotFileNext1 $n $lead/[string range $n $off end]]
             if {[string length $sb]} {
                 return $sb
@@ -77,8 +82,8 @@ proc RobotFileNext {task area} {
        return wait
     }
     incr control($task,seq)
-    if {[file isfile $n/frobots.txt]} {
-       puts "ok returning http://[string range $n $off end]/robots.txt"
+    if {[file isfile $n/robots.txt_.tkl]} {
+       # puts "ok returning http://[string range $n $off end]/robots.txt"
        return http://[string range $n $off end]/robots.txt
     } elseif {[file isdirectory $n]} {
        set sb [RobotFileNext1 $n http://[string range $n $off end]]
@@ -98,35 +103,20 @@ proc RobotFileExist {task area host path} {
     if {$debuglevel > 3} {
         puts "RobotFileExist begin area=$area host=$host path=$path"
     }
-    set lpath [split $path /]
-    set l [llength $lpath]
-    incr l -1
-    set t [lindex $lpath $l]
-    incr l -1
-    set npath $task/$area/$host[join [lrange $lpath 0 $l] /d]/f$t
-    if {$debuglevel > 3} {
-        puts "RobotFileExist end npath=$npath"
-    }
-    return [file exists $npath]
+    return [file exists $task/$area/$host${path}_.tkl]
 }
 
 proc RobotFileUnlink {task area host path} {
     global status
     # puts "RobotFileUnlink begin"
     # puts "area=$area host=$host path=$path"
-    set lpath [split $path /]
-    set l [llength $lpath]
-    incr l -1
-    set t [lindex $lpath $l]
-    incr l -1
-    set npath $task/$area/$host[join [lrange $lpath 0 $l] /d]/f$t
+    set npath $task/$area/$host${path}_.tkl
     # puts "npath=$npath"
     set comp [split $npath /]
-    if {[catch {exec rm [join $comp /]}]} return
+    if {[catch {exec rm $npath}]} return
 
     set l [llength $comp]
-    incr l -1
-    incr l -1
+    incr l -2
     incr status($task,$area) -1
     for {set i $l} {$i > 0} {incr i -1} {
         set path [join [lrange $comp 0 $i] /]
@@ -178,7 +168,7 @@ proc RobotFileOpen {task area host path {mode w}} {
             cd ./$d
            if {![string compare $area unvisited] && $i == $len && $mode == "w"} {
                if {[string compare $path /robots.txt]} {
-                   set out [open frobots.txt w]
+                   set out [open robots.txt_.tkl w]
                    puts "creating robots.txt in $d"
                    close $out
                     incr status($task,unvisited)
@@ -194,8 +184,8 @@ proc RobotFileOpen {task area host path {mode w}} {
     # puts "2 path=$path comp=$comp"
 
     for {set i 0} {$i < $len} {incr i} {
-        set d "d[lindex $comp $i]" 
-        if {[string length $d] > 1} {
+        set d [lindex $comp $i]
+        if {[string length $d] > 0} {
             if {[catch {cd $d}]} {
                 exec mkdir $d
                 cd ./$d
@@ -203,11 +193,7 @@ proc RobotFileOpen {task area host path {mode w}} {
         }
     }
     set d [lindex $comp $len]
-    if {[string length $d]} {
-        set out [open f$d $mode]
-    } else {
-        set out [open f $mode]
-    }
+    set out [open ${d}_.tkl $mode]
     if {$mode == "w"} {
         incr status($task,$area)
     }
@@ -215,7 +201,6 @@ proc RobotFileOpen {task area host path {mode w}} {
     return $out
 }
 
-
 proc RobotStartJob {fname t} {
     global control