Updated 2013-02-18 18:23:47 by kevinwalzer

What: Getleft
 Where: http://personal.telefonica.terra.es/web/getleft/

 Description: Web page grabber featuring support for http and ftp, modification
        of html pages for local file consistency, links can be followed,
        recursion of link following can be limited, support for multiple
        languages. Works on Linux and Windows. Requires Tcl/Tk 8.4 or newer, as
        well as curl.
        Currently at version 1.2.
 Updated: 10/2011

http://personal.telefonica.terra.es/web/getleft/

Getleft is a web site grabber; given an URL it will try to download the complete site or, at least, the part of it that matches the options set by the user.

Its features include:

  • It changes the links in the pages it downloads to relative links, so you can surf the site directly from your hard disk.
  • Limited ftp support, it will download ftp links, but not recursively.
  • Resumes download if interrupted or in case of timeouts.
  • Filters not to download certain kind of files.
  • You can get a site map before downloading.
  • Follows links to external sites.
  • Multilingual support, fourteen languages so far.
  • 'Includes "[a]n extremely handsome help system", Andrei Gratchev's HelpSystem [1].
  • Some others.

Unfortunately it only understands plain html; that means it doesn't understand JavaScript or Java. PHP and other technologies that are processed in the server work fine, though.

For more details please visit the homepage [2]

01dec05 jcw - Andrés, with some small adjustments your Wish-based standalone app for Mac OS X can be replaced by a starpack, now that Tclkit has an Aqua build version (thanks to DAS). Differences:

  • 2.1 Mb single file exe vs. 6.2 Mb app bundle (folder)
  • renamed "Script" folder to "getleft.vfs" for sdx later on
  • had to add Tile extension as getleft.vfs/lib/tile0.6/ to run this with the 8.4.9.1 tclkit I used
  • renamed Appmain.tcl to main.tcl
  • added two lines in front of main.tcl:
       package require starkit
       starkit::startup

  • in GetMainDirectory, added this to the front:
       if {[info exists ::starkit::topdir]} {
           return $::starkit::topdir
       }

  • That's it; I used "sdx wrap getleft -runtime tclkit8491aqua" to build the "getleft" exe

There are some drawbacks right now:

  • the result seems to always launch a terminal console window (Tclkit aqua deficiency; it's still early)
  • no "globe" custom icon, no icon in the exe at all, in fact

While this may not yet be good enough due to these drawbacks, it does show that Tclkit with Aqua is getting close, and the main advantage I expect to see is that such an application for Mac OS X with Aqua GUI can be assembled on any platform - you no longer need a Mac to be able to create / ship native Aqua apps.

Kevin Walzer See http://www.codebykevin.com/opensource/tutorial.html for general information on the structure of Mac application bundles. You actually can use a starkit in a Mac app bundle: it would go in myapp.app/Contents/MacOS as the application executable. You would still need to structure the other parts of the app bundle correctly, as outlined in that web page.