Fixed bugs
This commit is contained in:
@@ -598,7 +598,7 @@ class Files(object):
|
|||||||
self._pyboard.exec_(f"f.write({chunk})")
|
self._pyboard.exec_(f"f.write({chunk})")
|
||||||
self._pyboard.exec_("f.close()")
|
self._pyboard.exec_("f.close()")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(' [x]')
|
print(' [x] > ', end='')
|
||||||
self.handle_traceback(e)
|
self.handle_traceback(e)
|
||||||
finally:
|
finally:
|
||||||
self._pyboard.exit_raw_repl()
|
self._pyboard.exit_raw_repl()
|
||||||
@@ -632,7 +632,7 @@ class Files(object):
|
|||||||
self._pyboard.enter_raw_repl()
|
self._pyboard.enter_raw_repl()
|
||||||
output = self._pyboard.exec_(textwrap.dedent(command))
|
output = self._pyboard.exec_(textwrap.dedent(command))
|
||||||
except PyboardError as e:
|
except PyboardError as e:
|
||||||
print(' [x]')
|
print(' [x] > ', end='')
|
||||||
self.handle_traceback(e)
|
self.handle_traceback(e)
|
||||||
finally:
|
finally:
|
||||||
self._pyboard.exit_raw_repl()
|
self._pyboard.exit_raw_repl()
|
||||||
@@ -650,14 +650,14 @@ class Files(object):
|
|||||||
import uos as os
|
import uos as os
|
||||||
os.remove('{filename}')
|
os.remove('{filename}')
|
||||||
"""
|
"""
|
||||||
print(f'– {filename}', end='')
|
print(f'- {filename}', end='')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.__raw_repl_on = True
|
self.__raw_repl_on = True
|
||||||
self._pyboard.enter_raw_repl()
|
self._pyboard.enter_raw_repl()
|
||||||
self._pyboard.exec_(textwrap.dedent(command))
|
self._pyboard.exec_(textwrap.dedent(command))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(' [x]')
|
print(' [x] > ', end='')
|
||||||
self.handle_traceback(e)
|
self.handle_traceback(e)
|
||||||
finally:
|
finally:
|
||||||
self._pyboard.exit_raw_repl()
|
self._pyboard.exit_raw_repl()
|
||||||
@@ -694,15 +694,16 @@ class Files(object):
|
|||||||
os.rmdir(directory)
|
os.rmdir(directory)
|
||||||
rmdir('{directory}')
|
rmdir('{directory}')
|
||||||
"""
|
"""
|
||||||
print(f'– {directory}', end='')
|
print(f'- {directory}', end='')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.__raw_repl_on = True
|
self.__raw_repl_on = True
|
||||||
self._pyboard.enter_raw_repl()
|
self._pyboard.enter_raw_repl()
|
||||||
self._pyboard.exec_(textwrap.dedent(command))
|
self._pyboard.exec_(textwrap.dedent(command))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(' [x]')
|
if not missing_okay:
|
||||||
self.handle_traceback(e)
|
print(' [x] > ', end='')
|
||||||
|
self.handle_traceback(e)
|
||||||
finally:
|
finally:
|
||||||
self._pyboard.exit_raw_repl()
|
self._pyboard.exit_raw_repl()
|
||||||
self.__raw_repl_on = False
|
self.__raw_repl_on = False
|
||||||
@@ -794,10 +795,14 @@ def upload(source: str = '', destination: str = ''):
|
|||||||
|
|
||||||
time.sleep(.5)
|
time.sleep(.5)
|
||||||
elif os.path.exists(real_source):
|
elif os.path.exists(real_source):
|
||||||
|
dirpath = []
|
||||||
|
|
||||||
|
for d in os.path.dirname(destination).split('/'):
|
||||||
|
dirpath.append(d)
|
||||||
|
pico.mkdir('/'.join(dirpath), exists_okay=True)
|
||||||
|
|
||||||
with open(real_source, 'rb') as fh:
|
with open(real_source, 'rb') as fh:
|
||||||
pico.put(destination, fh.read())
|
pico.put(destination, fh.read())
|
||||||
|
|
||||||
time.sleep(.5)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
|
|
||||||
@@ -821,8 +826,6 @@ def download(source: str = '/'):
|
|||||||
|
|
||||||
with open(os.path.join(WATCHING_DIRECTORY, *filename.split('/')), 'wb') as fh:
|
with open(os.path.join(WATCHING_DIRECTORY, *filename.split('/')), 'wb') as fh:
|
||||||
fh.write(pico.get(filename))
|
fh.write(pico.get(filename))
|
||||||
|
|
||||||
time.sleep(.5)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
|
|
||||||
@@ -838,23 +841,10 @@ def contents(filename: str):
|
|||||||
def delete(source: str, is_directory: bool = False):
|
def delete(source: str, is_directory: bool = False):
|
||||||
try:
|
try:
|
||||||
if is_directory:
|
if is_directory:
|
||||||
for filename in pico.ls(directory=source, long_format=False, recursive=True):
|
if not source.endswith('/'):
|
||||||
if filename.startswith('/'):
|
source += '/'
|
||||||
filename = filename[1:]
|
|
||||||
|
|
||||||
pico.rm(filename)
|
pico.rmdir(source, missing_okay=True)
|
||||||
|
|
||||||
try:
|
|
||||||
for filename in pico.ls(directory=source, long_format=False, recursive=True):
|
|
||||||
if filename.startswith('/'):
|
|
||||||
filename = filename[1:]
|
|
||||||
|
|
||||||
if not filename.endswith('/'):
|
|
||||||
filename += '/'
|
|
||||||
|
|
||||||
pico.rm(filename)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
else:
|
else:
|
||||||
pico.rm(source)
|
pico.rm(source)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -906,7 +896,7 @@ def on_deleted_callback(event):
|
|||||||
|
|
||||||
def watchdog_callback():
|
def watchdog_callback():
|
||||||
for source in sessions['deleted']:
|
for source in sessions['deleted']:
|
||||||
delete(source)
|
delete(source, is_directory=source.endswith('/'))
|
||||||
|
|
||||||
for source in sessions['modified']:
|
for source in sessions['modified']:
|
||||||
upload(source)
|
upload(source)
|
||||||
@@ -956,13 +946,17 @@ try:
|
|||||||
delete('/', is_directory=True)
|
delete('/', is_directory=True)
|
||||||
case ['upl' | 'upload' | 'update', source]:
|
case ['upl' | 'upload' | 'update', source]:
|
||||||
upload(source)
|
upload(source)
|
||||||
case ['download' | 'backup', source]:
|
case ['restore']:
|
||||||
|
upload('/')
|
||||||
|
case ['download' | 'transfer', source]:
|
||||||
download(source)
|
download(source)
|
||||||
|
case ['backup']:
|
||||||
|
download('/')
|
||||||
case ['' | 'save' | 'commit']:
|
case ['' | 'save' | 'commit']:
|
||||||
watchdog_callback()
|
watchdog_callback()
|
||||||
case ['status' | 'staged']:
|
case ['status' | 'staged']:
|
||||||
for filename in sessions['deleted']:
|
for filename in sessions['deleted']:
|
||||||
print('–', filename)
|
print('-', filename)
|
||||||
|
|
||||||
for filename in sessions['modified']:
|
for filename in sessions['modified']:
|
||||||
print('+', filename)
|
print('+', filename)
|
||||||
|
|||||||
Reference in New Issue
Block a user