armut / f.tea.p

A basic ftp client on python with PyQt5 GUI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

f.tea.p

A basic ftp client with python and PyQt5.

This application is an ftp client. It does a few basic operations.

GUI is made with Qt's python binding PyQt5. ftplib is used for ftp backend.

When you run the program with:

$ python fteap.py

You should see the login window:

Login window.

After you have given the credentials, main window appears:

Main window.

As can be seen from the screenshot, available operations are:

  • RETR: Fetches the selected file on the remote listing.
  • STOR: Pushes selected local file from tree onto the current remote directory.
  • RN: Renames selected file on the remote listing. A little line edit and button controls appear when you click this, so that you can enter the new name.
  • DELE: Deletes selected file on the remote listing.
  • RMD: Removes selected directory on the remote listing.
  • MKD: Makes a directory on the current remote path by the name input in the same little line edit.

Renaming

You can enter the selected directory either on the tree or the list by clicking the -> button. Likewise, you can go up one directory by clicking ^ button.

GUI design is made with Qt Designer and a good introduction guide can be found here for generating python classes from ui files and using the generated code afterwards.

Dependencies

In order GUI to work -- app doesn't work without GUI by the way ^^; --, you need Qt python binding PyQt5. On Arch Linux, you can get it from the main repo:

$ pacman -S python-pyqt5

To connect an ftp server locally, you must have an ftp daemon running as a service on your local machine. For this, you can install vsftpd. On Arch Linux, you can install it via pacman:

$ pacman -S vsftpd

If you are encountering permission issues, consider changing default settings of vsftpd by editing /etc/vsftpd.conf. By default, you can connect to the server anonymously. If you want to connect as a local user as well, you should enable it by adding local_enable=YES to the configuration file mentioned above. Additionally you should add the write_enable=YES line to execute any write operation.

About

A basic ftp client on python with PyQt5 GUI.


Languages

Language:Python 100.0%