From 8eeae5f161417187fac94fa29d04082ee0c407a7 Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Tue, 21 Jul 2020 21:17:12 +0200 Subject: [PATCH] [mpy/os] Added remove --- python/port/mod/os/modos.cpp | 23 ++++++++++++++++++++++- python/port/mod/os/modos.h | 5 +---- python/port/mod/os/modos_table.c | 7 ++----- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/python/port/mod/os/modos.cpp b/python/port/mod/os/modos.cpp index 687de5e86..fe6576a39 100644 --- a/python/port/mod/os/modos.cpp +++ b/python/port/mod/os/modos.cpp @@ -1,9 +1,13 @@ extern "C" { #include "modos.h" +#include +#include #include #include } +#include + #ifndef OMEGA_VERSION #error This file expects OMEGA_VERSION to be defined #endif @@ -38,6 +42,23 @@ STATIC const mp_rom_map_elem_t modos_uname_info_table[] = { STATIC MP_DEFINE_CONST_DICT(modos_uname_info_obj, modos_uname_info_table); mp_obj_t modos_uname(void) { - return (mp_obj_t)&modos_uname_info_obj; + return (mp_obj_t)&modos_uname_info_obj; +} + +mp_obj_t modos_remove(mp_obj_t o_file_name) { + + size_t len; + const char* file_name; + file_name = mp_obj_str_get_data(o_file_name, &len); + + Ion::Storage::Record record = Ion::Storage::sharedStorage()->recordNamed(file_name); + + if (record == Ion::Storage::Record()) { + mp_raise_OSError(2); + } + + record.destroy(); + + return mp_const_none; } diff --git a/python/port/mod/os/modos.h b/python/port/mod/os/modos.h index 0005f561d..cc7068952 100644 --- a/python/port/mod/os/modos.h +++ b/python/port/mod/os/modos.h @@ -1,7 +1,4 @@ #include -/* -mp_obj_t modos_sleep(mp_obj_t seconds_o); -mp_obj_t modos_monotonic(); -*/ mp_obj_t modos_uname(); +mp_obj_t modos_remove(mp_obj_t o_file_name); diff --git a/python/port/mod/os/modos_table.c b/python/port/mod/os/modos_table.c index c9f1a8ed7..7aa5663e5 100644 --- a/python/port/mod/os/modos_table.c +++ b/python/port/mod/os/modos_table.c @@ -1,15 +1,12 @@ #include "modos.h" -/* -MP_DEFINE_CONST_FUN_OBJ_1(modos_sleep_obj, modos_sleep); -MP_DEFINE_CONST_FUN_OBJ_0(modos_monotonic_obj, modos_monotonic); -*/ - MP_DEFINE_CONST_FUN_OBJ_0(modos_uname_obj, modos_uname); +MP_DEFINE_CONST_FUN_OBJ_1(modos_remove_obj, modos_remove); STATIC const mp_rom_map_elem_t modos_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_os) }, { MP_ROM_QSTR(MP_QSTR_uname), &modos_uname_obj}, + { MP_ROM_QSTR(MP_QSTR_remove), &modos_remove_obj}, }; STATIC MP_DEFINE_CONST_DICT(modos_module_globals, modos_module_globals_table);