Giter VIP home page Giter VIP logo

ftpclient's Introduction

FTPClient

A fman FTP Client that uses the powerful ftputil library.

Usage

Commands

  • Open ftp location (open_ftp_location): Connect to a FTP server using the given URL.
  • Add ftp bookmark (add_ftp_bookmark): Bookmark current -or custom- URL.
  • Open ftp bookmark (open_ftp_bookmark): Open a bookmarked URL.
  • Remove ftp bookmark (remove_ftp_bookmark): Remove a bookmarked URL.
  • Open ftp history (open_ftp_history): Open a previous URL.
  • Remove ftp history (remove_ftp_history): Remove the whole connection history.

Connection URL

The URL must follow the format below:

ftp[s]://[user[:password]@]ftp.host[:port][/path/to/dir]

Features

  • Support for URL-encoded chars in user/password (e.g. @ -> %40).
  • Show extra file/directory attributes: Permissions, Owner and Group.
  • Connection pool under the hood for a better overall performance.
  • Bookmarks.
  • History.
  • File view/edit.

TODO

  • Allow setting file/folder permissions, if applicable.
  • Limit number of simultaneous connections to avoid ftplib.error_temp: 421 Too many connections from the same IP address..

Known issues

  • Currently there is no way to close an active connection.
  • When editing files, there is no way to know if a file has been edited. Must be uploaded manually through the popup.
  • Create file command shows an editing files is not supported alert after file creation, although file edition is enabled.
  • When in the root directory, the Go Up command raises an error.
  • Move to trash has been disabled on purpose, there is no Trash support.
  • Although there is -theoretically- FTP_TLS support, it has not been tested.
  • Passwords are stored in plain text when creating Bookmarks.
  • Passwords are shown in plain text in the URL (this can be mitigated using Bookmarks).
  • Currently ftputil is loaded from a frozen copy included in the plugin source pointing to the 3.4 version. I have not found a better way to include it.

History

See the CHANGELOG.

Credits

License

See the LICENSE file for license rights and limitations (MIT).

ftpclient's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

staatzstreich

ftpclient's Issues

Plugin 'FTPClient' failed to load

After the most recent fman update (on Ubuntu 16.04) I get the following error when starting fman:

Traceback (most recent call last):
  File "fman/impl/plugins/plugin.py", line 125, in load
  File "fman/impl/plugins/plugin.py", line 141, in _load
  File "fman/impl/plugins/plugin.py", line 164, in _load_classes
  File "fman/impl/plugins/plugin.py", line 229, in _load_packages
  File "<frozen importlib._bootstrap_external>", line 399, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 823, in load_module
  File "<frozen importlib._bootstrap_external>", line 682, in load_module
  File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 684, in _load
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/damjan/.config/fman/Plugins/Third-party/FTPClient/ftpclient/__init__.py", line 6, in <module>
    from .listeners import FtpListener
  File "/home/damjan/.config/fman/Plugins/Third-party/FTPClient/ftpclient/listeners.py", line 4, in <module>
    from core.commands import _open_local_file
ImportError: cannot import name '_open_local_file'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.