[FL-3162] Moved ufbt to fbt codebase (#2520)
* scripts: moved ufbt code * ufbt: fixed tool path * ufbt: fixed linter/formatter target descriptions * scripts: ufbt: cleanup * fbt: moved fap launch target to tools; ufbt fixes * fbt: fixed missing headers from SDK * ufbt: removed debug output * ufbt: moved project template to main codebase * ufbt: fixed vscode_dist * ufbt: path naming changes * fbt: error message for older ufbt versions * ufbt: docs fixes * ufbt: fixed build dir location * fbt: fixes for extapps objcopy * fbt: extapps: removed extra debug output; fixed formatting * ufbt: handle launch target for multiple known apps * ufbt: dropping wrapper; linter fixes * ufbt: fixed boostrap path * ufbt: renamed entrypoint * ufbt: updated vscode config * ufbt: moved sconsign db location * ufbt: fixed sconsign path * fbt: SDK builders rework * fbt: reworked sdk packaging * ufbt: additional checks and state processing * ufbt: fixed sdk state file location * dist: not packaging pycache * dump commit json content * Github: more workflow debug prints * Github: fix incorrect commit meta extraction in get_env.py * ufbt, fbt: changed SConsEnvironmentError->StopError * fbtenv: no longer needs SCRIPT_PATH pre-set * ufbt: fixed sdk state check * scripts: exception fixes for storage.py * scripts: fbtenv: added FBT_TOOLCHAIN_PATH for on Windows for compat * ufbt: app template: creating .gitkeep for images folder * ufbt: app template: fixed .gitkeep creation * docs: formatting fixes for AppManifests; added link to ufbt * fbt: added link to PyPI for old ufbt versions * sdk: fixed dir component paths Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -56,11 +56,11 @@ class StorageErrorCode(enum.Enum):
|
||||
|
||||
|
||||
class FlipperStorageException(Exception):
|
||||
def __init__(self, message):
|
||||
super().__init__(f"Storage error: {message}")
|
||||
|
||||
def __init__(self, path: str, error_code: StorageErrorCode):
|
||||
super().__init__(f"Storage error: path '{path}': {error_code.value}")
|
||||
@staticmethod
|
||||
def from_error_code(path: str, error_code: StorageErrorCode):
|
||||
return FlipperStorageException(
|
||||
f"Storage error: path '{path}': {error_code.value}"
|
||||
)
|
||||
|
||||
|
||||
class BufferedRead:
|
||||
@@ -247,7 +247,9 @@ class FlipperStorage:
|
||||
if self.has_error(answer):
|
||||
last_error = self.get_error(answer)
|
||||
self.read.until(self.CLI_PROMPT)
|
||||
raise FlipperStorageException(filename_to, last_error)
|
||||
raise FlipperStorageException.from_error_code(
|
||||
filename_to, last_error
|
||||
)
|
||||
|
||||
self.port.write(filedata)
|
||||
self.read.until(self.CLI_PROMPT)
|
||||
@@ -319,7 +321,7 @@ class FlipperStorage:
|
||||
StorageErrorCode.INVALID_NAME,
|
||||
):
|
||||
return False
|
||||
raise FlipperStorageException(path, error_code)
|
||||
raise FlipperStorageException.from_error_code(path, error_code)
|
||||
|
||||
return True
|
||||
|
||||
@@ -333,7 +335,7 @@ class FlipperStorage:
|
||||
|
||||
def _check_no_error(self, response, path=None):
|
||||
if self.has_error(response):
|
||||
raise FlipperStorageException(self.get_error(response))
|
||||
raise FlipperStorageException.from_error_code(self.get_error(response))
|
||||
|
||||
def size(self, path: str):
|
||||
"""file size on Flipper"""
|
||||
|
Reference in New Issue
Block a user