tools/pyboard.py: Add "touch" filesystem command.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
parent
a311e9e3d4
commit
263737ecfe
|
@ -131,6 +131,7 @@ The full list of supported commands are:
|
||||||
- ``rm <src...>`` to remove files on the device
|
- ``rm <src...>`` to remove files on the device
|
||||||
- ``mkdir <dirs...>`` to create directories on the device
|
- ``mkdir <dirs...>`` to create directories on the device
|
||||||
- ``rmdir <dirs...>`` to remove directories on the device
|
- ``rmdir <dirs...>`` to remove directories on the device
|
||||||
|
- ``touch <file..>`` to create the files (if they don't already exist)
|
||||||
|
|
||||||
- mount the local directory on the remote device:
|
- mount the local directory on the remote device:
|
||||||
|
|
||||||
|
@ -192,8 +193,8 @@ Shortcuts can be defined using the macro system. Built-in shortcuts are::
|
||||||
|
|
||||||
- ``c0``, ``c1``, ``c2``, ``c3``: connect to COM?
|
- ``c0``, ``c1``, ``c2``, ``c3``: connect to COM?
|
||||||
|
|
||||||
- ``cat``, ``ls``, ``cp``, ``rm``, ``mkdir``, ``rmdir``, ``df``: filesystem
|
- ``cat``, ``ls``, ``cp``, ``rm``, ``mkdir``, ``rmdir``, ``touch``, ``df``:
|
||||||
commands
|
filesystem commands
|
||||||
|
|
||||||
- ``reset``: reset the device
|
- ``reset``: reset the device
|
||||||
|
|
||||||
|
|
|
@ -92,12 +92,13 @@ Filesystem access
|
||||||
|
|
||||||
Using the ``-f`` flag, the following filesystem operations are supported:
|
Using the ``-f`` flag, the following filesystem operations are supported:
|
||||||
|
|
||||||
* ``cp src [src...] dest`` Copy files to/from the device.
|
|
||||||
* ``cat path`` Print the contents of a file on the device.
|
* ``cat path`` Print the contents of a file on the device.
|
||||||
|
* ``cp src [src...] dest`` Copy files to/from the device.
|
||||||
* ``ls [path]`` List contents of a directory (defaults to current working directory).
|
* ``ls [path]`` List contents of a directory (defaults to current working directory).
|
||||||
* ``rm path`` Remove a file.
|
|
||||||
* ``mkdir path`` Create a directory.
|
* ``mkdir path`` Create a directory.
|
||||||
|
* ``rm path`` Remove a file.
|
||||||
* ``rmdir path`` Remove a directory.
|
* ``rmdir path`` Remove a directory.
|
||||||
|
* ``touch path`` Create a file if it doesn't already exist.
|
||||||
|
|
||||||
The ``cp`` command uses a ``ssh``-like convention for referring to local and
|
The ``cp`` command uses a ``ssh``-like convention for referring to local and
|
||||||
remote files. Any path starting with a ``:`` will be interpreted as on the
|
remote files. Any path starting with a ``:`` will be interpreted as on the
|
||||||
|
|
|
@ -543,6 +543,9 @@ class Pyboard:
|
||||||
def fs_rm(self, src):
|
def fs_rm(self, src):
|
||||||
self.exec_("import uos\nuos.remove('%s')" % src)
|
self.exec_("import uos\nuos.remove('%s')" % src)
|
||||||
|
|
||||||
|
def fs_touch(self, src):
|
||||||
|
self.exec_("f=open('%s','a')\nf.close()" % src)
|
||||||
|
|
||||||
|
|
||||||
# in Python2 exec is a keyword so one must use "exec_"
|
# in Python2 exec is a keyword so one must use "exec_"
|
||||||
# but for Python3 we want to provide the nicer version "exec"
|
# but for Python3 we want to provide the nicer version "exec"
|
||||||
|
@ -595,11 +598,12 @@ def filesystem_command(pyb, args, progress_callback=None, verbose=False):
|
||||||
op(src, dest2, progress_callback=progress_callback)
|
op(src, dest2, progress_callback=progress_callback)
|
||||||
else:
|
else:
|
||||||
op = {
|
op = {
|
||||||
"ls": pyb.fs_ls,
|
|
||||||
"cat": pyb.fs_cat,
|
"cat": pyb.fs_cat,
|
||||||
|
"ls": pyb.fs_ls,
|
||||||
"mkdir": pyb.fs_mkdir,
|
"mkdir": pyb.fs_mkdir,
|
||||||
"rmdir": pyb.fs_rmdir,
|
|
||||||
"rm": pyb.fs_rm,
|
"rm": pyb.fs_rm,
|
||||||
|
"rmdir": pyb.fs_rmdir,
|
||||||
|
"touch": pyb.fs_touch,
|
||||||
}[cmd]
|
}[cmd]
|
||||||
if cmd == "ls" and not args:
|
if cmd == "ls" and not args:
|
||||||
args = [""]
|
args = [""]
|
||||||
|
|
Loading…
Reference in New Issue