Am 28.11.15 um 13:48 schrieb Ulli Horlacher:
Christian Gollwitzer <aurio...@gmx.de> wrote:
Many problems would simply go away if you wrote the whole thing as a GUI
program.
Too much hassle.
The predecessor was a Perl/Tk program and I have had to invest 90% of the
programming work into the GUI handling. No fun at all.
As I see it, the program consists only of user interface - or is there
any "algorithm" working behinds the scenes? Maybe you could pass the
task on to somebody who enjoys GUI programming?
Now, with fexit in Python, I skipped most of these problems.
The only GUI part is the file selection.
If I understand correctly, what you want - a program to select files and
folders to upload to your server
This is only one of the tasks. The main menu looks:
[s] send a file or directory
[g] get a file
[c] change login data (user, server, auth-ID)
[l] login with webbrowser
[u] update fexit
[h] help
[q] quit
All of this is easily integrated into a GUI like the one I posted (have
you tried it?), either as a button or as a menu entry. IMO the most
common GUI pattern for this kind of thing is a side-by-side view of the
directories on the server and on the client, and a button (or
drag'n'drop) to move files between both views. I understand this is not
as easy as the script posted by me - nonetheless quite doable. For an
experienced GUI script writer it'll take a weekend to get the basics
running.
(with more features to come in the future)
And the CLI:
framstag@juhu:~: ./fexit.py -h
usage: fexit [-C "comment"] [-a container] file(s) recipient[,...]
example: fexit flupp.avi frams...@rus.uni-stuttgart.de
example: fexit -C "more data" -a labdata *.png x...@flupp.org,x...@flupp.org
usage: fexit FEX-download-URL
example: fexit http://fex.rus.uni-stuttgart.de/fop/jHn34yp7/flupp.avi
This part should probably stay as it is. For a command line tool, an
scp-like interface seems well-fitting. But for guided user input, an
interface which prompts the user for input has never been a good
solution. You have to work very hard to make that convenient. Have a
look at lftp, for instance. In the end, real GUI programming will be
easier (and more accessible)
A (still) alternative solution would be an interface to the OS to make
it a remote mounted folder (works for WebDAV on any modern OS, for
instance) or a daemon, which watches and synchronizes a directory (this
is how Dropbox works). This way it feels much more integrated to the
user - they can use whatever file manager they like to do the transfer,
or even "save" from any application (like Word, Firefox, ...) into the
remote folder.
Christian
--
https://mail.python.org/mailman/listinfo/python-list