Compare commits

..

No commits in common. "2adb1540a11892acf4ead5d003aee02586372ad6" and "8ad9b100184d7aba27cac96c2fb6ae78e114ccd9" have entirely different histories.

3 changed files with 11 additions and 35 deletions

View File

@ -10,7 +10,6 @@ import os
import re import re
from typing import Optional from typing import Optional
from google.protobuf.json_format import MessageToJson
from google.protobuf.message import Message from google.protobuf.message import Message
import gp2040ce_bintools.storage as storage import gp2040ce_bintools.storage as storage
@ -248,10 +247,6 @@ def write_new_config_to_filename(config: Message, filename: str, inject: bool =
binary = replace_config_in_binary(bytearray(existing_binary), config_binary) binary = replace_config_in_binary(bytearray(existing_binary), config_binary)
with open(filename, 'wb') as file: with open(filename, 'wb') as file:
file.write(binary) file.write(binary)
else:
if filename[-5:] == '.json':
with open(filename, 'w') as file:
file.write(f'{MessageToJson(config)}\n')
else: else:
binary = storage.serialize_config_with_footer(config) binary = storage.serialize_config_with_footer(config)
with open(filename, 'wb') as file: with open(filename, 'wb') as file:

View File

@ -134,8 +134,7 @@ class SaveAsScreen(ModalScreen):
"""Build the pop-up window prompting for the new filename to save the configuration as.""" """Build the pop-up window prompting for the new filename to save the configuration as."""
self.filename_field = Input(value=None, id='field-input', validators=[Length(minimum=1)]) self.filename_field = Input(value=None, id='field-input', validators=[Length(minimum=1)])
yield Grid( yield Grid(
Container(Label("Filename (.uf2, .bin, or .json) to write to:", id='field-name'), Container(Label("Filename (.uf2 or .bin) to write to:", id='field-name'), id='field-name-container'),
id='field-name-container'),
Container(self.filename_field, id='input-field-container'), Container(self.filename_field, id='input-field-container'),
Container(Pretty('', id='input-errors', classes='hidden'), id='error-container'), Container(Pretty('', id='input-errors', classes='hidden'), id='error-container'),
Horizontal(Container(Button("Cancel", id='cancel-button'), id='cancel-button-container'), Horizontal(Container(Button("Cancel", id='cancel-button'), id='cancel-button-container'),

View File

@ -3,7 +3,6 @@
SPDX-FileCopyrightText: © 2023 Brian S. Stephan <bss@incorporeal.org> SPDX-FileCopyrightText: © 2023 Brian S. Stephan <bss@incorporeal.org>
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
""" """
import logging
import math import math
import os import os
import sys import sys
@ -15,12 +14,10 @@ from decorator import decorator
import gp2040ce_bintools.builder as builder import gp2040ce_bintools.builder as builder
from gp2040ce_bintools import get_config_pb2 from gp2040ce_bintools import get_config_pb2
from gp2040ce_bintools.storage import (STORAGE_SIZE, get_board_storage_section, get_config, get_config_footer, from gp2040ce_bintools.storage import (STORAGE_SIZE, get_board_storage_section, get_config, get_config_footer,
get_config_from_json, get_user_storage_section, serialize_config_with_footer) get_user_storage_section, serialize_config_with_footer)
HERE = os.path.dirname(os.path.abspath(__file__)) HERE = os.path.dirname(os.path.abspath(__file__))
logger = logging.getLogger(__name__)
@decorator @decorator
def with_pb2s(test, *args, **kwargs): def with_pb2s(test, *args, **kwargs):
@ -354,21 +351,6 @@ def test_write_new_config_to_config_uf2(firmware_binary, tmp_path):
assert len(config_dump) == STORAGE_SIZE * 2 assert len(config_dump) == STORAGE_SIZE * 2
@with_pb2s
def test_write_new_config_to_config_json(config_binary, tmp_path):
"""Test that the config can be written to a file."""
tmp_file = os.path.join(tmp_path, 'config.json')
config = get_config(config_binary)
builder.write_new_config_to_filename(config, tmp_file)
# read new file
with open(tmp_file, 'r') as file:
config_dump = file.read()
logger.debug(config_dump)
config = get_config_from_json(config_dump)
assert config.boardVersion == 'v0.7.5'
@with_pb2s @with_pb2s
def test_write_new_config_to_usb(config_binary): def test_write_new_config_to_usb(config_binary):
"""Test that the config can be written to USB at the proper alignment.""" """Test that the config can be written to USB at the proper alignment."""