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

Reply via email to