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.
I've been trying to decide if this is ready for production use, and I have some thoughts.
#!/usr/bin/env python3since pointing to just/usr/bin/pythonwill resolve weirdly on different machines, and warp-cli isn't python2 compatiblewarpwill hang the whole transfer. Meanwhilersyncwill skip that file then saysome files/attrs were not transferred.scpwill sayPermission deniedfor that one file.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.wdtis SO verbose. It would be nicer if it were quieter.If I was doing this I would layout warp-cli as a python package like this and in the
setup.pyyou would add anentry_point:Then you could simply do a
pip install warp-cliand exit early from the installation if the libraries you needed weren't found. Otherwise it would install warp normally in the user's~/.local/binor 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.