scientifichackers / ampy

MicroPython Tool - Utility to interact with a MicroPython board over a serial connection.
MIT License
718 stars 156 forks source link

Possibility to rename files within the board #61

Open yeyeto2788 opened 6 years ago

yeyeto2788 commented 6 years ago

Hello guys!

Just a quick possible feature would be to add the option to rename files within the board, I don't really know if this is possible but I guess that it would be a kind of merge between:

Maybe something like this in the cli.py:

@cli.command()
@click.argument("remote_file")
@click.argument("remote_new_file", type=click.File("wb"), required=True)
def rename(remote_file, remote_new_file):
    # Get the file contents.
    board_files = files.Files(_board)
    contents = board_files.get(remote_file)
    # Delete the provided file/directory on the board.
    board_files = files.Files(_board)
    board_files.rm(remote_file)
    # Put the file on the board.
    board_files.put(remote_filename, contents)

I know it involve more than just those couple of line but just wanted to help a bit.

Regards.

ladyada commented 5 years ago

Hiya! We are discontinuing support for ampy, and will no longer be maintaining it. We are leaving this repository available for continued use. If you would like to take over supporting it, please contact us on the Adafruit Discord server and we can transfer the repository to you. If you wish to continue developing it on your own, please fork the repository.

devxpy commented 5 years ago

Do you actually have a legit use-case for a rename feature?

yeyeto2788 commented 5 years ago

Hello @devxpy, I guess I have it. When you work on a script, you run the script from an ampy command but then you want to rename the script into boot.py or main.py so you can now unplug the board and test if booting into the script works as expected.

This will also make our life easier since we do not need to type each command for doing it.

e.g: First script test.py (basic script to output text on a LCD from an API) you run it on the board with ampy -p <port> run test.py. Your first run went OK, so now want to rename the file on the board to boot.py and to do so you have to do the following:

I hope it makes sense what I just explained above 😄

Regards.

devxpy commented 5 years ago

I can work on adding an mv command, since it's the UNIX counterpart. Don't have a device with me right now, give me a few weeks.

yeyeto2788 commented 5 years ago

If you want me to test something just let me know!

Regards.

yeyeto2788 commented 5 years ago

Hello @devxpy, any updates here? Anything I can help with?

devxpy commented 5 years ago

I'm devoting most of my time working on ampy2.

But if you have any code you want to upstream, I'll gladly accept your PR.

yeyeto2788 commented 5 years ago

And in ampy2 is the option? I can do the PR in the ampy2 instead of doing it in here.

devxpy commented 5 years ago

ampy2 is not really usable right now. I'm still working on the Dockerfile for micropython.

yeyeto2788 commented 5 years ago

Really interesting, what I do now in order to not use a lot of memory is to minify the script I'm loading into the board which might be cool to add on the ampy2.

The code I think it is documented and I could add the option on the new ampy2 if you wish. Of course, when you have a working version.

devxpy commented 5 years ago

I'll try my best to include a plugin system in ampy2, so that features like this can be added independently. Something like cargo's plugins.