Posted to tcl by dbohdan at Tue Mar 08 17:13:08 GMT 2016view raw

  1. #!/usr/bin/env tclsh
  2. # KitCreator downloader v0.1.0
  3. proc download url {
  4. set page [split [exec curl -s $url] \n]
  5. set descr [lsearch -glob -inline $page *Description:*]
  6. regexp {(http://kitcreator.rkeene.org/[^"]+/tclkit)} \
  7. [lsearch -glob -inline $page *URL:*] _ url
  8.  
  9. set filename tclkit
  10.  
  11. regexp {Tcl ([0-9.]+)} $descr _ version
  12. append filename -$version
  13.  
  14. regexp {Platform ([-a-z0-9]+)} $descr _ platform
  15. append filename -$platform
  16.  
  17. if {[regexp {packages statically linked} $descr]} {
  18. append filename -staticpkgs
  19. }
  20.  
  21. if {[regexp {Threaded} $descr]} {
  22. append filename -threaded
  23. }
  24.  
  25. if {[regexp {Packages: (.*)} $descr _ packages]} {
  26. foreach package $packages {
  27. set package [string trimright $package ,]
  28. append filename -$package
  29. }
  30. }
  31.  
  32. puts "Downloading $url to $filename..."
  33. exec curl -o $filename $url > stdout 2> stderr
  34. }
  35.  
  36. download [lindex $argv 0]
  37.