1#!/usr/bin/tclsh 2 3############################################################### 4# SecPanel helper 5# Converting from old profile seetings to new version (0.5) 6############################################################### 7 8proc cp {} { 9 global env 10 11 if {! [file exists "$env(HOME)/.secpanel/sites"]} { 12 puts "No sites-file to convert" 13 return 14 } 15 16 set sf [open "$env(HOME)/.secpanel/sites"] 17 18 while {[gets $sf line] >= 0} { 19 set nf [open "$env(HOME)/.secpanel/profiles/newfiles.tmp" w] 20 21 set sitetitle [lindex [split $line \#] 0] 22 set sitehost [lindex [split $line \#] 1] 23 set siteuser [lindex [split $line \#] 2] 24 25 set defs [open "$env(HOME)/.secpanel/default.profile"] 26 while {[gets $defs defline] >= 0} { 27 switch -regexp $defline { 28 "^set title .*" { 29 regsub -all " " $sitetitle "" filetitle 30 puts $nf "set title \"$sitetitle\"" 31 } 32 "^set host .*" { 33 puts $nf "set host \"$sitehost\"" 34 } 35 "^set user .*" { 36 puts $nf "set user \"$siteuser\"" 37 } 38 default { 39 puts $nf $defline 40 } 41 } 42 } 43 close $defs 44 close $nf 45 file copy -force "$env(HOME)/.secpanel/profiles/newfiles.tmp" "$env(HOME)/.secpanel/profiles/$filetitle.profile" 46 unset filetitle 47 file delete -force "$env(HOME)/.secpanel/profiles/newfiles.tmp" 48 } 49 close $sf 50} 51 52proc do_backup {} { 53 global env 54 set butime [clock seconds] 55 file copy -force "$env(HOME)/.secpanel" "$env(HOME)/secpanel_backup$butime" 56 puts "Put Backup of $env(HOME)/.secpanel to $env(HOME)/secpanel_backup$butime" 57} 58 59proc moveprofs {} { 60 global env 61 file delete -force "$env(HOME)/.secpanel/default.profile" 62 foreach file [glob -nocomplain "$env(HOME)/.secpanel/*.profile"] { 63 file copy -force "$file" "$env(HOME)/.secpanel/profiles" 64 file delete -force "$file" 65 } 66 file delete -force "$env(HOME)/.secpanel/sites" 67} 68 69puts "Doing profile conversion..." 70do_backup 71file mkdir "$env(HOME)/.secpanel/profiles" 72cp 73moveprofs 74