[Kget] Re: Kget
Dario Massarin
nekkar at libero.it
Thu Apr 7 23:45:23 CEST 2005
On Thursday 07 April 2005 11:25, you wrote:
> On Thursday 07 April 2005 19:46, Dario Massarin wrote:
> > If you are interested in this project, I would be _very_ happy. And
> > remember that I accept any kind of critics and suggestions. So, instead
> > of writing your own download manager, criticize my work :-) and.. let's
> > make_it_cool...
> Do you have some list of feature you are planning?
The branch basically wants to achieve these topics:
1) Make kget handle theoretically every kind of protocol, including
filesharing ones. This is possible becouse we are now abstracting the concept
of transfer. This means that we can make use of kioslaves as well as every
other available external library (such as bittorrent ones). Each transfer is
implemented as a plugin.
2) Make the kget scheduler handle Job objects. A job can be a Transfer, a
Search through the net or something else (for example a search for
mirrors, ...)
3) As I've just said, kget will abstract the concept of Search. In this way we
can have lots of Search implementations, such as, for example, a "google
search" or searches with filesharing protocols or whatever...
4) Provide transfer grouping functionalities. This means that the user could
organize his transfer into groups, with special properties, such as the
destination folder. Furthermore, the user can start and stop the download of
the transfers of a specific group (each group has a separate queue).
5) Have a new, polished, powerful gui.
> How do I get this make_it_cool branch so I can have a look at it?
Do you know cvs? Checkout a fresh version of kget head (you can follow the
instructions available somewhere in www.kde.org). Then from the kget
directory execute:
cvs up -r make_it_cool
This updates kget with the make_it_cool branch. From this moment on, every
time you do cvs up you'll make your kget sources up to date with the
make_it_cool branch (and not head).
> One feature I am looking for is download acceleration and in a smarter way
> than download for example 5 equal sized pieces from same or different
> servers and depending on size and speed make it so the start of the file
> will be available sooner. Would be useful when download large videos so
> that it is possible to view the start as soon as possible.
> Is that something you are working on?
As I said in point 1), the new abstraction of the concept of Transfer makes
everything possible to implement.. We have now only a transfer that uses
kioslaves to download files, but It would be extremely useful to have a kget
own implementation. This could mean having kget handle thing like segmented
downloading or bandwidth limiting, actually impossible to achieve using
kioslaves.
If you are interested in working on these low level topics it would be
*great*!
> Also I found as now (3.4.0) kget on some errors I have not identified
> precisely will delete what has been downloaded so far. Possible because
> of the way KIO as it is now automatically restarts download if it cannot
> resume. So if kget just use KIO::copy I guess it would delete the
> destination file. Annoying if you have spend 24 hours already on
> downloading something.
Yes. This shouldn't happen. I've just took a look in the Model class that
handles this in the make_it_cool branch, and this problem shouldn't exist,
since the user should be always prompted for a comfirmation before
overwriting a file:
bool Model::isValidDestURL(KURL destURL)
{
if(KIO::NetAccess::exists(destURL, false, 0))
{
if (KMessageBox::warningYesNo(0,
i18n("Destination file \n%1\nalready exists.\n"
"Do you want to overwrite it?").arg( destURL.prettyURL()) )
== KMessageBox::Yes)
{
safeDeleteFile( destURL );
return true;
}
}
return true;
}
> Also there are several features in the GUI I would like different.
Good. It seems you are not the only one :-)
http://mail.kde.org/pipermail/kget/2005-April/000091.html
> Also I would possible like to separate the actual download in a background
> process so you could do things like log out of the machine, control
> download on another machine. So my server can do the download and I can
> take my laptop somewhere else.
Yeah. This a recent wish filled up by Enrico.
http://bugs.kde.org/show_bug.cgi?id=102655
Best wishes,
Dario
More information about the Kget
mailing list