# properties.tcl # Returns properties of web servers # and web pages source getFromWeb.tcl source fileLib.tcl source parse.tcl # CREATE WIDGETS label .lURL -text "URL:" entry .eURL -width 60 label .lProperties -text "Properties" text .tProperties -width 60 -height 10 -yscroll ".sProperties set" scrollbar .sProperties -command ".tProperties yview" button .bStart -text "Get Properties" -command getProperties # PACK AND DISPLAY WIDGETS pack .lURL -anchor w pack .eURL -anchor w pack .bStart -anchor w pack .lProperties -anchor w pack .tProperties -side left pack .sProperties -side right -fill y proc getProperties { } { set webPage [.eURL get] set token [getFromWeb $webPage download.temp] .tProperties insert end "*** Properties for:$webPage ***\n" # DISPLAY CONTENT DATA # RETURNED FROM PAGE ANALYSTS set GIFqty [parse download.temp <img 40 .gif temp1] set JPGqty [parse download.temp <img 40 .jpg temp2] set LINKqty [parse download.temp <A 140 /A> temp3] # PARSE AND STRIP TAGS FROM DOCUMENT TITLE parse download.temp <TITLE> 80 </TITLE> temp4 set Title [readEntireFile temp4] regsub -nocase "<TITLE>" $Title {} Title regsub -nocase "</TITLE>" $Title {} Title # DISPLAY TITLE, IMAGE, AND LINK METRICS .tProperties insert end "Title: \t $Title \n" .tProperties insert end "Images \t gif:$GIFqty \t jpg:$JPGqty \n" .tProperties insert end "Links: \t $LINKqty \n" # GET AND DISPLAY META DATA # RETURNED FROM SERVER upvar $token state regsub -all {\}} $state(meta) "\}\n" state(meta) .tProperties insert end "$state(meta) \n" }