Skip to content

Some Observations #6

@Teque5

Description

@Teque5

I've been trying to decide if this is ready for production use, and I have some thoughts.

  • All your scripts should have the crunchbang as #!/usr/bin/env python3 since pointing to just /usr/bin/python will resolve weirdly on different machines, and warp-cli isn't python2 compatible
  • If something is wrong with the warp-cli install on a remote machine, a transfer doesn't fail, it will simply hang forever. Perhaps there should be a 'test' that verifies that things are installed correctly.
  • If a file permission is incorrect for one file in a directory, warp will hang the whole transfer. Meanwhile rsync will skip that file then say some files/attrs were not transferred. scp will say Permission denied for that one file.
  • I can't do warp --version. Perhaps put a __version__ = '2.0.0' somewhere in your script, then you can reference it. It would be best if it printed warp-cli, wdt, and folly version.
  • wdt is SO verbose. It would be nicer if it were quieter.
  • I think trying to automate the install is too painful. You can tell folks to get the exact versions of folly and wdt and install the libraries, people can follow those instructions. Automating apt is wierd since your approach doesn't work behind corporate proxies and I think there are a lot of edge cases.

If I was doing this I would layout warp-cli as a python package like this and in the setup.py you would add an entry_point:

setup(
    # other stuff
    entry_points={
        'console_scripts': [
            'warp = warp:main',
        ],
    }
)

Then you could simply do a pip install warp-cli and exit early from the installation if the libraries you needed weren't found. Otherwise it would install warp normally in the user's ~/.local/bin or wherever.

If you'd like I can create a PR that starts going in this direction, but I didn't want to attempt if you weren't interested.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions