diff --git a/docs/conf.py b/docs/conf.py index 922d7c0f..c3e79f80 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,7 +12,6 @@ import sphinx_rtd_theme # pylint: disable=unused-import - # importlib.metadata is implemented in Python 3.8 # Previous versions require the backport, https://pypi.org/project/importlib-metadata/ try: diff --git a/setup.py b/setup.py index c9ee01c8..8c659071 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,6 @@ from setuptools import find_packages, setup - #### # GDS Packages: # diff --git a/src/fprime_gds/common/communication/adapters/ip.py b/src/fprime_gds/common/communication/adapters/ip.py index a6ef5db1..edfd6dee 100644 --- a/src/fprime_gds/common/communication/adapters/ip.py +++ b/src/fprime_gds/common/communication/adapters/ip.py @@ -7,16 +7,16 @@ @author lestarch """ -import atexit import abc +import atexit import logging import queue import socket import threading import time -import fprime_gds.common.logger import fprime_gds.common.communication.adapters.base +import fprime_gds.common.logger LOGGER = logging.getLogger("ip_adapter") diff --git a/src/fprime_gds/common/communication/adapters/uart.py b/src/fprime_gds/common/communication/adapters/uart.py index 09c3ec90..62de04fa 100644 --- a/src/fprime_gds/common/communication/adapters/uart.py +++ b/src/fprime_gds/common/communication/adapters/uart.py @@ -10,11 +10,10 @@ import logging -import fprime_gds.common.communication.adapters.base - import serial from serial.tools import list_ports +import fprime_gds.common.communication.adapters.base LOGGER = logging.getLogger("serial_adapter") diff --git a/src/fprime_gds/common/communication/framing.py b/src/fprime_gds/common/communication/framing.py index 14413752..bc94d2b0 100644 --- a/src/fprime_gds/common/communication/framing.py +++ b/src/fprime_gds/common/communication/framing.py @@ -12,9 +12,10 @@ @author lestarch """ import abc -import sys import copy import struct +import sys + from .checksum import calculate_checksum diff --git a/src/fprime_gds/common/communication/ground.py b/src/fprime_gds/common/communication/ground.py index 0aec40b8..d3f32ba8 100644 --- a/src/fprime_gds/common/communication/ground.py +++ b/src/fprime_gds/common/communication/ground.py @@ -11,9 +11,10 @@ import abc import logging -from .framing import TcpServerFramerDeframer from fprime_gds.common.communication.adapters.ip import TcpHandler +from .framing import TcpServerFramerDeframer + LOGGER = logging.getLogger("gds_sender") diff --git a/src/fprime_gds/common/communication/updown.py b/src/fprime_gds/common/communication/updown.py index 37d9c557..b52145b4 100644 --- a/src/fprime_gds/common/communication/updown.py +++ b/src/fprime_gds/common/communication/updown.py @@ -9,16 +9,16 @@ is represented by a single thread, as it is not dealing with multiple streams of data that need to be multiplexed. """ -import threading -from queue import Queue, Full, Empty import logging +import threading +from queue import Empty, Full, Queue from fprime.common.models.serialize.numerical_types import U32Type -from fprime_gds.common.utils.data_desc_type import DataDescType + from fprime_gds.common.communication.adapters.base import BaseAdapter -from fprime_gds.common.communication.ground import GroundHandler from fprime_gds.common.communication.framing import FramerDeframer - +from fprime_gds.common.communication.ground import GroundHandler +from fprime_gds.common.utils.data_desc_type import DataDescType DW_LOGGER = logging.getLogger("downlink") UP_LOGGER = logging.getLogger("uplink") diff --git a/src/fprime_gds/common/data_types/ch_data.py b/src/fprime_gds/common/data_types/ch_data.py index d94b055a..6ce67cd5 100644 --- a/src/fprime_gds/common/data_types/ch_data.py +++ b/src/fprime_gds/common/data_types/ch_data.py @@ -8,10 +8,11 @@ """ from fprime.common.models.serialize import time_type +from fprime.common.models.serialize.array_type import ArrayType +from fprime.common.models.serialize.serializable_type import SerializableType + from fprime_gds.common.data_types import sys_data from fprime_gds.common.utils.string_util import format_string_template -from fprime.common.models.serialize.serializable_type import SerializableType -from fprime.common.models.serialize.array_type import ArrayType class ChData(sys_data.SysData): diff --git a/src/fprime_gds/common/data_types/cmd_data.py b/src/fprime_gds/common/data_types/cmd_data.py index 5d43b3ec..5dff35f6 100644 --- a/src/fprime_gds/common/data_types/cmd_data.py +++ b/src/fprime_gds/common/data_types/cmd_data.py @@ -10,10 +10,13 @@ @bug No known bugs """ import json + from fprime.common.models.serialize.array_type import ArrayType from fprime.common.models.serialize.bool_type import BoolType from fprime.common.models.serialize.enum_type import EnumType from fprime.common.models.serialize.numerical_types import ( + F32Type, + F64Type, I8Type, I16Type, I32Type, @@ -22,12 +25,11 @@ U16Type, U32Type, U64Type, - F32Type, - F64Type, ) from fprime.common.models.serialize.serializable_type import SerializableType from fprime.common.models.serialize.string_type import StringType from fprime.common.models.serialize.time_type import TimeBase, TimeType + from fprime_gds.common.data_types import sys_data diff --git a/src/fprime_gds/common/data_types/event_data.py b/src/fprime_gds/common/data_types/event_data.py index 93b9f0ec..08df08d8 100644 --- a/src/fprime_gds/common/data_types/event_data.py +++ b/src/fprime_gds/common/data_types/event_data.py @@ -8,6 +8,7 @@ """ from fprime.common.models.serialize import time_type + from fprime_gds.common.data_types import sys_data from fprime_gds.common.utils.string_util import format_string_template diff --git a/src/fprime_gds/common/data_types/sys_data.py b/src/fprime_gds/common/data_types/sys_data.py index fa2d9e9d..6adf117a 100644 --- a/src/fprime_gds/common/data_types/sys_data.py +++ b/src/fprime_gds/common/data_types/sys_data.py @@ -11,6 +11,7 @@ @bug No known bugs """ from fprime.common.models.serialize import time_type + from fprime_gds.common.templates import data_template diff --git a/src/fprime_gds/common/decoders/ch_decoder.py b/src/fprime_gds/common/decoders/ch_decoder.py index 3127d54c..60f43e2d 100644 --- a/src/fprime_gds/common/decoders/ch_decoder.py +++ b/src/fprime_gds/common/decoders/ch_decoder.py @@ -17,6 +17,7 @@ @bug No known bugs """ from fprime.common.models.serialize.time_type import TimeType + from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.decoders.decoder import Decoder, DecodingException from fprime_gds.common.utils import config_manager diff --git a/src/fprime_gds/common/decoders/event_decoder.py b/src/fprime_gds/common/decoders/event_decoder.py index a250dee6..5c974825 100644 --- a/src/fprime_gds/common/decoders/event_decoder.py +++ b/src/fprime_gds/common/decoders/event_decoder.py @@ -16,6 +16,7 @@ """ from fprime.common.models.serialize import time_type from fprime.common.models.serialize.type_exceptions import TypeException + from fprime_gds.common.data_types import event_data from fprime_gds.common.decoders import decoder from fprime_gds.common.utils import config_manager diff --git a/src/fprime_gds/common/decoders/pkt_decoder.py b/src/fprime_gds/common/decoders/pkt_decoder.py index 00d292e6..9a3f5946 100644 --- a/src/fprime_gds/common/decoders/pkt_decoder.py +++ b/src/fprime_gds/common/decoders/pkt_decoder.py @@ -18,6 +18,7 @@ """ from fprime.common.models.serialize.time_type import TimeType + from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.decoders.ch_decoder import ChDecoder from fprime_gds.common.utils import config_manager diff --git a/src/fprime_gds/common/distributor/distributor.py b/src/fprime_gds/common/distributor/distributor.py index 2a4dcbd1..fb15b766 100644 --- a/src/fprime_gds/common/distributor/distributor.py +++ b/src/fprime_gds/common/distributor/distributor.py @@ -14,10 +14,10 @@ @bug No known bugs """ import logging -from fprime_gds.common.utils import config_manager, data_desc_type -from fprime_gds.common.handlers import DataHandler -from fprime_gds.common.decoders.decoder import DecodingException +from fprime_gds.common.decoders.decoder import DecodingException +from fprime_gds.common.handlers import DataHandler +from fprime_gds.common.utils import config_manager, data_desc_type LOGGER = logging.getLogger("distributor") diff --git a/src/fprime_gds/common/encoders/ch_encoder.py b/src/fprime_gds/common/encoders/ch_encoder.py index ffb8bb02..bf8c2198 100644 --- a/src/fprime_gds/common/encoders/ch_encoder.py +++ b/src/fprime_gds/common/encoders/ch_encoder.py @@ -32,10 +32,11 @@ @bug No known bugs """ -from .encoder import Encoder from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.utils.data_desc_type import DataDescType +from .encoder import Encoder + class ChEncoder(Encoder): """Encoder class for channel data""" diff --git a/src/fprime_gds/common/encoders/cmd_encoder.py b/src/fprime_gds/common/encoders/cmd_encoder.py index 3fd32ba3..e7a02a7f 100644 --- a/src/fprime_gds/common/encoders/cmd_encoder.py +++ b/src/fprime_gds/common/encoders/cmd_encoder.py @@ -42,11 +42,13 @@ """ -from . import encoder from fprime.common.models.serialize.numerical_types import U32Type + from fprime_gds.common.data_types.cmd_data import CmdData -from fprime_gds.common.utils.data_desc_type import DataDescType from fprime_gds.common.utils import config_manager +from fprime_gds.common.utils.data_desc_type import DataDescType + +from . import encoder class CmdEncoder(encoder.Encoder): diff --git a/src/fprime_gds/common/encoders/event_encoder.py b/src/fprime_gds/common/encoders/event_encoder.py index 3216399c..77e487c7 100644 --- a/src/fprime_gds/common/encoders/event_encoder.py +++ b/src/fprime_gds/common/encoders/event_encoder.py @@ -37,10 +37,11 @@ @bug No known bugs """ -from .encoder import Encoder from fprime_gds.common.data_types.event_data import EventData from fprime_gds.common.utils.data_desc_type import DataDescType +from .encoder import Encoder + class EventEncoder(Encoder): """Encoder class for event data""" diff --git a/src/fprime_gds/common/encoders/file_encoder.py b/src/fprime_gds/common/encoders/file_encoder.py index 13e8cca6..a3a46772 100644 --- a/src/fprime_gds/common/encoders/file_encoder.py +++ b/src/fprime_gds/common/encoders/file_encoder.py @@ -45,6 +45,7 @@ from fprime.common.models.serialize.numerical_types import U32Type from fprime.constants import DATA_ENCODING + from fprime_gds.common.data_types.file_data import FilePacketType from fprime_gds.common.utils.data_desc_type import DataDescType diff --git a/src/fprime_gds/common/encoders/pkt_encoder.py b/src/fprime_gds/common/encoders/pkt_encoder.py index 02e7d03a..0610178e 100644 --- a/src/fprime_gds/common/encoders/pkt_encoder.py +++ b/src/fprime_gds/common/encoders/pkt_encoder.py @@ -37,10 +37,11 @@ @bug No known bugs """ -from .encoder import Encoder from fprime_gds.common.data_types.pkt_data import PktData from fprime_gds.common.utils.data_desc_type import DataDescType +from .encoder import Encoder + class PktEncoder(Encoder): """Encoder class for packet data""" diff --git a/src/fprime_gds/common/encoders/seq_writer.py b/src/fprime_gds/common/encoders/seq_writer.py index e189d101..2fbdc191 100644 --- a/src/fprime_gds/common/encoders/seq_writer.py +++ b/src/fprime_gds/common/encoders/seq_writer.py @@ -7,8 +7,9 @@ import struct import zlib -from fprime.common.models.serialize.type_exceptions import TypeMismatchException from fprime.common.models.serialize.numerical_types import U8Type, U16Type, U32Type +from fprime.common.models.serialize.type_exceptions import TypeMismatchException + from fprime_gds.common.utils import config_manager from fprime_gds.common.utils.data_desc_type import DataDescType diff --git a/src/fprime_gds/common/files/downlinker.py b/src/fprime_gds/common/files/downlinker.py index b1ebe9e2..452114a0 100644 --- a/src/fprime_gds/common/files/downlinker.py +++ b/src/fprime_gds/common/files/downlinker.py @@ -14,6 +14,7 @@ import os import fprime.constants + import fprime_gds.common.handlers from fprime_gds.common.data_types.file_data import FilePacketType from fprime_gds.common.files.helpers import ( diff --git a/src/fprime_gds/common/gds_cli/base_commands.py b/src/fprime_gds/common/gds_cli/base_commands.py index 504f8507..92e7d5df 100644 --- a/src/fprime_gds/common/gds_cli/base_commands.py +++ b/src/fprime_gds/common/gds_cli/base_commands.py @@ -4,8 +4,8 @@ """ import abc -import sys import json +import sys from typing import Iterable import fprime_gds.common.gds_cli.filtering_utils as filtering_utils diff --git a/src/fprime_gds/common/gds_cli/command_send.py b/src/fprime_gds/common/gds_cli/command_send.py index 339e24da..4397a8f4 100644 --- a/src/fprime_gds/common/gds_cli/command_send.py +++ b/src/fprime_gds/common/gds_cli/command_send.py @@ -5,8 +5,9 @@ import difflib from typing import Iterable, List -import fprime_gds.common.gds_cli.test_api_utils as test_api_utils from fprime.common.models.serialize.type_exceptions import NotInitializedException + +import fprime_gds.common.gds_cli.test_api_utils as test_api_utils from fprime_gds.common.gds_cli.base_commands import BaseCommand from fprime_gds.common.pipeline.dictionaries import Dictionaries from fprime_gds.common.templates.cmd_template import CmdTemplate diff --git a/src/fprime_gds/common/gds_cli/test_api_utils.py b/src/fprime_gds/common/gds_cli/test_api_utils.py index db0317f4..84a842cf 100644 --- a/src/fprime_gds/common/gds_cli/test_api_utils.py +++ b/src/fprime_gds/common/gds_cli/test_api_utils.py @@ -3,7 +3,7 @@ """ import types -from typing import Any, Dict, List +from typing import Any, Callable, Dict, List from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.data_types.event_data import EventData @@ -11,7 +11,6 @@ from fprime_gds.common.templates.data_template import DataTemplate from fprime_gds.common.testing_fw import predicates from fprime_gds.common.testing_fw.api import IntegrationTestAPI -from typing import Callable def get_upcoming_event( diff --git a/src/fprime_gds/common/history/chrono.py b/src/fprime_gds/common/history/chrono.py index 70827177..75b15456 100644 --- a/src/fprime_gds/common/history/chrono.py +++ b/src/fprime_gds/common/history/chrono.py @@ -7,6 +7,7 @@ :author: koran """ from fprime.common.models.serialize.time_type import TimeType + from fprime_gds.common.history.history import History from fprime_gds.common.testing_fw import predicates diff --git a/src/fprime_gds/common/history/ram.py b/src/fprime_gds/common/history/ram.py index 66e87c1b..a832d4c2 100644 --- a/src/fprime_gds/common/history/ram.py +++ b/src/fprime_gds/common/history/ram.py @@ -9,8 +9,8 @@ :author: lestarch """ -import time import threading +import time from fprime_gds.common.history.history import History diff --git a/src/fprime_gds/common/loaders/event_py_loader.py b/src/fprime_gds/common/loaders/event_py_loader.py index 5a007b9a..1fd544b5 100644 --- a/src/fprime_gds/common/loaders/event_py_loader.py +++ b/src/fprime_gds/common/loaders/event_py_loader.py @@ -8,6 +8,7 @@ """ from fprime.common.models.serialize.type_exceptions import TypeMismatchException + from fprime_gds.common.templates import event_template from fprime_gds.common.utils.event_severity import EventSeverity diff --git a/src/fprime_gds/common/loaders/xml_loader.py b/src/fprime_gds/common/loaders/xml_loader.py index 3f1fca27..03fda823 100644 --- a/src/fprime_gds/common/loaders/xml_loader.py +++ b/src/fprime_gds/common/loaders/xml_loader.py @@ -14,12 +14,13 @@ @bug No known bugs """ import os -from lxml import etree from fprime.common.models.serialize.array_type import ArrayType from fprime.common.models.serialize.bool_type import BoolType from fprime.common.models.serialize.enum_type import EnumType from fprime.common.models.serialize.numerical_types import ( + F32Type, + F64Type, I8Type, I16Type, I32Type, @@ -28,15 +29,15 @@ U16Type, U32Type, U64Type, - F32Type, - F64Type, ) from fprime.common.models.serialize.serializable_type import SerializableType from fprime.common.models.serialize.string_type import StringType +from lxml import etree + from fprime_gds.common.data_types import exceptions from fprime_gds.version import ( - MINIMUM_SUPPORTED_FRAMEWORK_VERSION, MAXIMUM_SUPPORTED_FRAMEWORK_VERSION, + MINIMUM_SUPPORTED_FRAMEWORK_VERSION, ) # Custom Python Modules diff --git a/src/fprime_gds/common/logger/test_logger.py b/src/fprime_gds/common/logger/test_logger.py index cc702e29..933b04ed 100644 --- a/src/fprime_gds/common/logger/test_logger.py +++ b/src/fprime_gds/common/logger/test_logger.py @@ -22,8 +22,8 @@ # If openpyxl isn't installed, ignore all functionality in this module try: from openpyxl import Workbook - from openpyxl.styles import PatternFill, Font, Alignment from openpyxl.cell import WriteOnlyCell + from openpyxl.styles import Alignment, Font, PatternFill from openpyxl.utils.exceptions import WorkbookAlreadySaved MODULE_INSTALLED = True diff --git a/src/fprime_gds/common/models/common/command.py b/src/fprime_gds/common/models/common/command.py index da9cfd79..bcacd83f 100644 --- a/src/fprime_gds/common/models/common/command.py +++ b/src/fprime_gds/common/models/common/command.py @@ -7,6 +7,7 @@ import copy from enum import Enum +from fprime.common.models.serialize.numerical_types import U32Type from fprime.common.models.serialize.type_base import BaseType # Import the types this way so they do not need prefixing for execution. @@ -15,7 +16,6 @@ ArgNotFoundException, TypeMismatchException, ) -from fprime.common.models.serialize.numerical_types import U32Type Descriptor = Enum(value="Descriptor", names="ABSOLUTE RELATIVE") diff --git a/src/fprime_gds/common/pipeline/histories.py b/src/fprime_gds/common/pipeline/histories.py index 795b9c90..ea2b7683 100644 --- a/src/fprime_gds/common/pipeline/histories.py +++ b/src/fprime_gds/common/pipeline/histories.py @@ -7,6 +7,7 @@ @author mstarch """ from typing import Type + from fprime_gds.common.history.history import History from fprime_gds.common.history.ram import RamHistory diff --git a/src/fprime_gds/common/pipeline/standard.py b/src/fprime_gds/common/pipeline/standard.py index e4ba4b62..73548d5e 100644 --- a/src/fprime_gds/common/pipeline/standard.py +++ b/src/fprime_gds/common/pipeline/standard.py @@ -12,16 +12,17 @@ import os.path from pathlib import Path from typing import Type + import fprime.common.models.serialize.time_type + import fprime_gds.common.data_types.cmd_data import fprime_gds.common.distributor.distributor import fprime_gds.common.logger.data_logger +from fprime_gds.common.transport import RoutingTag, ThreadedTCPSocketClient # Local imports for the sake of composition from . import dictionaries, encoding, files, histories -from fprime_gds.common.transport import RoutingTag, ThreadedTCPSocketClient - class StandardPipeline: """ diff --git a/src/fprime_gds/common/templates/event_template.py b/src/fprime_gds/common/templates/event_template.py index 2edeb089..a16605d5 100644 --- a/src/fprime_gds/common/templates/event_template.py +++ b/src/fprime_gds/common/templates/event_template.py @@ -12,6 +12,7 @@ from fprime.common.models.serialize import type_base from fprime.common.models.serialize.type_exceptions import TypeMismatchException + from fprime_gds.common.utils.event_severity import EventSeverity from . import data_template diff --git a/src/fprime_gds/common/testing_fw/api.py b/src/fprime_gds/common/testing_fw/api.py index bc94f024..96637f80 100644 --- a/src/fprime_gds/common/testing_fw/api.py +++ b/src/fprime_gds/common/testing_fw/api.py @@ -11,6 +11,7 @@ import time from fprime.common.models.serialize.time_type import TimeType + from fprime_gds.common.handlers import DataHandler from fprime_gds.common.history.chrono import ChronologicalHistory from fprime_gds.common.history.test import TestHistory diff --git a/src/fprime_gds/common/testing_fw/pytest_integration.py b/src/fprime_gds/common/testing_fw/pytest_integration.py index ffd015f7..6ee0037b 100644 --- a/src/fprime_gds/common/testing_fw/pytest_integration.py +++ b/src/fprime_gds/common/testing_fw/pytest_integration.py @@ -15,12 +15,12 @@ def test_my_test(fprime_test_api): @author lestarch """ import sys + import pytest from fprime_gds.common.testing_fw.api import IntegrationTestAPI from fprime_gds.executables.cli import StandardPipelineParser - SEQUENCE_COUNTER = -1 diff --git a/src/fprime_gds/common/tools/seqgen.py b/src/fprime_gds/common/tools/seqgen.py index 1a4e4ae4..e0168a1e 100644 --- a/src/fprime_gds/common/tools/seqgen.py +++ b/src/fprime_gds/common/tools/seqgen.py @@ -17,13 +17,13 @@ import os import sys +from fprime.common.models.serialize.time_type import TimeBase, TimeType + from fprime_gds.common.data_types import exceptions as gseExceptions +from fprime_gds.common.data_types.cmd_data import CmdData, CommandArgumentsException from fprime_gds.common.encoders.seq_writer import SeqBinaryWriter from fprime_gds.common.loaders.cmd_xml_loader import CmdXmlLoader from fprime_gds.common.parsers.seq_file_parser import SeqFileParser -from fprime_gds.common.data_types.cmd_data import CmdData, CommandArgumentsException -from fprime.common.models.serialize.time_type import TimeBase, TimeType - __author__ = "Tim Canham" __version__ = "1.0" diff --git a/src/fprime_gds/common/transport.py b/src/fprime_gds/common/transport.py index 41ba9db7..2c9e5987 100644 --- a/src/fprime_gds/common/transport.py +++ b/src/fprime_gds/common/transport.py @@ -7,11 +7,11 @@ @author lestarch """ -from abc import abstractmethod, ABC -from enum import Enum import select import socket import threading +from abc import ABC, abstractmethod +from enum import Enum from fprime_gds.common.handlers import DataHandler, HandlerRegistrar diff --git a/src/fprime_gds/common/utils/config_manager.py b/src/fprime_gds/common/utils/config_manager.py index a3cdc042..28f98eb6 100644 --- a/src/fprime_gds/common/utils/config_manager.py +++ b/src/fprime_gds/common/utils/config_manager.py @@ -18,6 +18,8 @@ # Custom type modules from fprime.common.models.serialize.numerical_types import ( + F32Type, + F64Type, I8Type, I16Type, I32Type, @@ -26,8 +28,6 @@ U16Type, U32Type, U64Type, - F32Type, - F64Type, ) diff --git a/src/fprime_gds/common/utils/string_util.py b/src/fprime_gds/common/utils/string_util.py index 75078366..044030cd 100644 --- a/src/fprime_gds/common/utils/string_util.py +++ b/src/fprime_gds/common/utils/string_util.py @@ -7,8 +7,8 @@ Note: This function has an identical copy in fprime-gds """ -import re import logging +import re LOGGER = logging.getLogger("string_util_logger") diff --git a/src/fprime_gds/common/zmq_transport.py b/src/fprime_gds/common/zmq_transport.py index 8b51dbee..7283325e 100644 --- a/src/fprime_gds/common/zmq_transport.py +++ b/src/fprime_gds/common/zmq_transport.py @@ -11,16 +11,17 @@ """ import logging import struct -import zmq - from typing import Tuple +import zmq + from fprime_gds.common.communication.ground import GroundHandler from fprime_gds.common.transport import ( RoutingTag, ThreadedTransportClient, TransportationException, ) + LOGGER = logging.getLogger("transport") class ZmqWrapper(object): diff --git a/src/fprime_gds/executables/cli.py b/src/fprime_gds/executables/cli.py index 8c7d67e7..c597a8a0 100644 --- a/src/fprime_gds/executables/cli.py +++ b/src/fprime_gds/executables/cli.py @@ -10,32 +10,30 @@ import argparse import datetime import errno +import getpass import itertools import os -import re import platform +import re import sys -import getpass - -import fprime_gds.common.logger - -# Required to set the checksum as a module variable -import fprime_gds.common.communication.checksum - -from abc import abstractmethod, ABC +from abc import ABC, abstractmethod from pathlib import Path from typing import Any, Dict, List, Tuple +# Required to set the checksum as a module variable +import fprime_gds.common.communication.checksum +import fprime_gds.common.logger from fprime_gds.common.communication.adapters.base import BaseAdapter from fprime_gds.common.communication.adapters.ip import check_port from fprime_gds.common.pipeline.standard import StandardPipeline from fprime_gds.common.transport import ThreadedTCPSocketClient -from fprime_gds.executables.utils import get_artifacts_root, find_dict, find_app from fprime_gds.common.utils.config_manager import ConfigManager +from fprime_gds.executables.utils import find_app, find_dict, get_artifacts_root # Optional import: ZeroMQ. Requires package: pyzmq try: import zmq + from fprime_gds.common.zmq_transport import ZmqClient except ImportError: zmq = None diff --git a/src/fprime_gds/executables/comm.py b/src/fprime_gds/executables/comm.py index 10ad97c6..9a42f267 100644 --- a/src/fprime_gds/executables/comm.py +++ b/src/fprime_gds/executables/comm.py @@ -18,9 +18,8 @@ import logging -import sys import signal - +import sys # Required adapters built on standard tools try: @@ -28,12 +27,11 @@ except ImportError: ZmqGround = None import fprime_gds.common.communication.adapters.base +import fprime_gds.common.communication.adapters.ip import fprime_gds.common.communication.checksum import fprime_gds.common.communication.ground -import fprime_gds.common.communication.adapters.ip import fprime_gds.common.logger import fprime_gds.executables.cli - from fprime_gds.common.communication.framing import FpFramerDeframer from fprime_gds.common.communication.updown import Downlinker, Uplinker diff --git a/src/fprime_gds/executables/fprime_cli.py b/src/fprime_gds/executables/fprime_cli.py index 76d1382d..ca960301 100644 --- a/src/fprime_gds/executables/fprime_cli.py +++ b/src/fprime_gds/executables/fprime_cli.py @@ -8,13 +8,13 @@ import abc import argparse -from copy import deepcopy import os import sys -import pkg_resources +from copy import deepcopy from typing import Callable, List, Union import argcomplete +import pkg_resources # NOTE: These modules are now only lazily loaded below as needed, due to slow # performance when importing them @@ -23,9 +23,9 @@ # import fprime_gds.common.gds_cli.events as events # from fprime_gds.common.pipeline.dictionaries import Dictionaries from fprime_gds.executables.cli import ( - StandardPipelineParser, - SearchArgumentsParser, RetrievalArgumentsParser, + SearchArgumentsParser, + StandardPipelineParser, ) diff --git a/src/fprime_gds/executables/run_deployment.py b/src/fprime_gds/executables/run_deployment.py index ffffb4bf..eba2dc3b 100644 --- a/src/fprime_gds/executables/run_deployment.py +++ b/src/fprime_gds/executables/run_deployment.py @@ -7,9 +7,14 @@ import sys import webbrowser -from fprime_gds.executables.cli import StandardPipelineParser, GdsParser, BinaryDeployment, CommParser, ParserBase -from fprime_gds.executables.utils import run_wrapped_application, AppWrapperException - +from fprime_gds.executables.cli import ( + BinaryDeployment, + CommParser, + GdsParser, + ParserBase, + StandardPipelineParser, +) +from fprime_gds.executables.utils import AppWrapperException, run_wrapped_application BASE_MODULE_ARGUMENTS = [sys.executable, "-u", "-m"] diff --git a/src/fprime_gds/executables/utils.py b/src/fprime_gds/executables/utils.py index bcbab5b4..a995fa99 100644 --- a/src/fprime_gds/executables/utils.py +++ b/src/fprime_gds/executables/utils.py @@ -9,10 +9,11 @@ import sys import time from pathlib import Path + from fprime.fbuild.settings import ( - IniSettings, FprimeLocationUnknownException, FprimeSettingsException, + IniSettings, ) # Python 2.7 compatibility, adding in missing error type diff --git a/src/fprime_gds/flask/app.py b/src/fprime_gds/flask/app.py index eb2d5b7c..222d5906 100644 --- a/src/fprime_gds/flask/app.py +++ b/src/fprime_gds/flask/app.py @@ -9,6 +9,7 @@ import os import sys import uuid + import flask # Try to import Compress, but disable compression if not installed @@ -17,25 +18,22 @@ except ImportError: Compress = None -from fprime_gds.flask import flask_uploads - import fprime_gds.flask.channels # Import the Flask API implementations import fprime_gds.flask.commands +import fprime_gds.flask.errors import fprime_gds.flask.events import fprime_gds.flask.json import fprime_gds.flask.logs -import fprime_gds.flask.updown import fprime_gds.flask.sequence import fprime_gds.flask.stats -import fprime_gds.flask.errors - +import fprime_gds.flask.updown from fprime_gds.executables.cli import ParserBase, StandardPipelineParser +from fprime_gds.flask import flask_uploads from . import components - # Update logging to avoid redundant messages logger = logging.getLogger("werkzeug") logger.setLevel(logging.WARN) diff --git a/src/fprime_gds/flask/commands.py b/src/fprime_gds/flask/commands.py index 48fc0651..1e8a67e7 100644 --- a/src/fprime_gds/flask/commands.py +++ b/src/fprime_gds/flask/commands.py @@ -21,11 +21,11 @@ # a restful interface here. It is done this way to be in-tandem with the events and telemetry # APIs for maintainability. #### -import werkzeug.exceptions import flask_restful import flask_restful.reqparse - import fprime.common.models.serialize.type_exceptions +import werkzeug.exceptions + import fprime_gds.common.data_types.cmd_data from fprime_gds.flask.resource import DictionaryResource, HistoryResourceBase diff --git a/src/fprime_gds/flask/components.py b/src/fprime_gds/flask/components.py index d3ebec11..4f651e4d 100644 --- a/src/fprime_gds/flask/components.py +++ b/src/fprime_gds/flask/components.py @@ -6,9 +6,8 @@ """ import os -from fprime_gds.common.pipeline.standard import StandardPipeline from fprime_gds.common.history.ram import SelfCleaningRamHistory - +from fprime_gds.common.pipeline.standard import StandardPipeline from fprime_gds.executables.cli import StandardPipelineParser # Module variables, should remain hidden. These are singleton top-level objects used by Flask, and its various diff --git a/src/fprime_gds/flask/errors.py b/src/fprime_gds/flask/errors.py index 58f3e126..17c203cb 100644 --- a/src/fprime_gds/flask/errors.py +++ b/src/fprime_gds/flask/errors.py @@ -6,7 +6,7 @@ @author lestarch """ -from flask import jsonify, Flask +from flask import Flask, jsonify from flask_restful import Api diff --git a/src/fprime_gds/flask/flask_uploads.py b/src/fprime_gds/flask/flask_uploads.py index f3c243a9..73b679ef 100644 --- a/src/fprime_gds/flask/flask_uploads.py +++ b/src/fprime_gds/flask/flask_uploads.py @@ -22,14 +22,12 @@ import os.path import posixpath - -from flask import current_app, send_from_directory, abort, url_for from itertools import chain # lgtm [py/unused-import] + +from flask import Blueprint, abort, current_app, send_from_directory, url_for from werkzeug.datastructures import FileStorage from werkzeug.utils import secure_filename -from flask import Blueprint - # Extension presets #: This just contains plain text files (.txt). diff --git a/src/fprime_gds/flask/json.py b/src/fprime_gds/flask/json.py index 13c20464..4519da6e 100644 --- a/src/fprime_gds/flask/json.py +++ b/src/fprime_gds/flask/json.py @@ -9,15 +9,15 @@ from typing import Type from uuid import UUID -from fprime.common.models.serialize.type_base import BaseType, ValueType +import flask.json from fprime.common.models.serialize.time_type import TimeType -from fprime_gds.common.data_types.cmd_data import CmdData +from fprime.common.models.serialize.type_base import BaseType, ValueType + from fprime_gds.common.data_types.ch_data import ChData +from fprime_gds.common.data_types.cmd_data import CmdData from fprime_gds.common.data_types.event_data import EventData from fprime_gds.common.templates.data_template import DataTemplate -import flask.json - def jsonify_base_type(input_type: Type[BaseType]) -> dict: """ Turn a base type into a JSONable dictionary diff --git a/src/fprime_gds/flask/logs.py b/src/fprime_gds/flask/logs.py index c17e60b0..3717d366 100644 --- a/src/fprime_gds/flask/logs.py +++ b/src/fprime_gds/flask/logs.py @@ -2,6 +2,7 @@ # Handles GDS logs in a lazy-loading way #### import os + import flask_restful import flask_restful.reqparse diff --git a/src/fprime_gds/flask/resource.py b/src/fprime_gds/flask/resource.py index db0f13eb..3dd4f037 100644 --- a/src/fprime_gds/flask/resource.py +++ b/src/fprime_gds/flask/resource.py @@ -7,6 +7,7 @@ """ from flask_restful import Resource from flask_restful.reqparse import RequestParser + from fprime_gds.flask.errors import build_error_object diff --git a/src/fprime_gds/flask/sequence.py b/src/fprime_gds/flask/sequence.py index 180dafca..8ffccf5a 100644 --- a/src/fprime_gds/flask/sequence.py +++ b/src/fprime_gds/flask/sequence.py @@ -1,14 +1,15 @@ #### # #### -from pathlib import Path import re import sys from io import StringIO +from pathlib import Path + import flask_restful import flask_restful.reqparse -from fprime_gds.common.tools.seqgen import generateSequence, SeqGenException +from fprime_gds.common.tools.seqgen import SeqGenException, generateSequence class StdioTheif(object): diff --git a/src/fprime_gds/flask/stats.py b/src/fprime_gds/flask/stats.py index 5a3c71a8..98959837 100644 --- a/src/fprime_gds/flask/stats.py +++ b/src/fprime_gds/flask/stats.py @@ -2,9 +2,10 @@ Statistics package for the GDS to help diagnose performance issues and give greater visibility into the running GDS. """ +from typing import Dict + import flask_restful -from typing import Dict from fprime_gds.common.history.history import History from fprime_gds.common.history.ram import RamHistory diff --git a/test/fprime_gds/common/encoders/test_ch_encoder.py b/test/fprime_gds/common/encoders/test_ch_encoder.py index a8d29e0c..12972542 100644 --- a/test/fprime_gds/common/encoders/test_ch_encoder.py +++ b/test/fprime_gds/common/encoders/test_ch_encoder.py @@ -6,12 +6,12 @@ """ +from fprime.common.models.serialize.numerical_types import U16Type, U32Type +from fprime.common.models.serialize.time_type import TimeType +from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.encoders.ch_encoder import ChEncoder from fprime_gds.common.templates.ch_template import ChTemplate from fprime_gds.common.utils.config_manager import ConfigManager -from fprime.common.models.serialize.time_type import TimeType -from fprime.common.models.serialize.numerical_types import U16Type, U32Type -from fprime_gds.common.data_types.ch_data import ChData def test_ch_encoder(): diff --git a/test/fprime_gds/common/encoders/test_event_encoder.py b/test/fprime_gds/common/encoders/test_event_encoder.py index c6996839..76f138b1 100644 --- a/test/fprime_gds/common/encoders/test_event_encoder.py +++ b/test/fprime_gds/common/encoders/test_event_encoder.py @@ -6,12 +6,12 @@ """ -from fprime_gds.common.encoders.event_encoder import EventEncoder +from fprime.common.models.serialize.numerical_types import U8Type, U16Type, U32Type +from fprime.common.models.serialize.time_type import TimeType from fprime_gds.common.data_types.event_data import EventData -from fprime_gds.common.utils.config_manager import ConfigManager +from fprime_gds.common.encoders.event_encoder import EventEncoder from fprime_gds.common.templates.event_template import EventTemplate -from fprime.common.models.serialize.time_type import TimeType -from fprime.common.models.serialize.numerical_types import U8Type, U16Type, U32Type +from fprime_gds.common.utils.config_manager import ConfigManager from fprime_gds.common.utils.event_severity import EventSeverity diff --git a/test/fprime_gds/common/encoders/test_pkt_encoder.py b/test/fprime_gds/common/encoders/test_pkt_encoder.py index e16227d6..bf381de0 100644 --- a/test/fprime_gds/common/encoders/test_pkt_encoder.py +++ b/test/fprime_gds/common/encoders/test_pkt_encoder.py @@ -6,14 +6,14 @@ """ -from fprime_gds.common.encoders.pkt_encoder import PktEncoder +from fprime.common.models.serialize.numerical_types import U8Type, U16Type, U32Type +from fprime.common.models.serialize.time_type import TimeType +from fprime_gds.common.data_types.ch_data import ChData from fprime_gds.common.data_types.pkt_data import PktData -from fprime_gds.common.utils.config_manager import ConfigManager +from fprime_gds.common.encoders.pkt_encoder import PktEncoder from fprime_gds.common.templates.ch_template import ChTemplate from fprime_gds.common.templates.pkt_template import PktTemplate -from fprime_gds.common.data_types.ch_data import ChData -from fprime.common.models.serialize.time_type import TimeType -from fprime.common.models.serialize.numerical_types import U8Type, U16Type, U32Type +from fprime_gds.common.utils.config_manager import ConfigManager def test_pkt_encoder(): diff --git a/test/fprime_gds/common/gds_cli/filtering_utils_test.py b/test/fprime_gds/common/gds_cli/filtering_utils_test.py index 5a57d6cc..09c5e8a6 100644 --- a/test/fprime_gds/common/gds_cli/filtering_utils_test.py +++ b/test/fprime_gds/common/gds_cli/filtering_utils_test.py @@ -3,15 +3,15 @@ GDS CLI uses """ -import pytest - import fprime_gds.common.gds_cli.filtering_utils as filtering_utils +import pytest from fprime.common.models.serialize import time_type from fprime_gds.common.data_types.event_data import EventData from fprime_gds.common.templates.event_template import EventTemplate from fprime_gds.common.testing_fw import predicates from fprime_gds.common.utils.event_severity import EventSeverity + # Pytest fixtures work by reusing outer names, so disable this warning # pylint: disable=redefined-outer-name @pytest.fixture diff --git a/test/fprime_gds/common/gds_cli/utils_test.py b/test/fprime_gds/common/gds_cli/utils_test.py index 25f0ef14..932ffc03 100644 --- a/test/fprime_gds/common/gds_cli/utils_test.py +++ b/test/fprime_gds/common/gds_cli/utils_test.py @@ -4,10 +4,9 @@ from copy import deepcopy -import pytest - import fprime_gds.common.gds_cli.filtering_utils as filtering_utils import fprime_gds.common.gds_cli.test_api_utils as test_api_utils +import pytest from fprime_gds.common.data_types.pkt_data import PktData from fprime_gds.common.data_types.sys_data import SysData from fprime_gds.common.templates.data_template import DataTemplate diff --git a/test/fprime_gds/common/utils/test_string_util.py b/test/fprime_gds/common/utils/test_string_util.py index 1493a84c..e65f95be 100644 --- a/test/fprime_gds/common/utils/test_string_util.py +++ b/test/fprime_gds/common/utils/test_string_util.py @@ -6,6 +6,7 @@ """ import unittest + from fprime_gds.common.utils.string_util import format_string_template diff --git a/test/fprime_gds/executables/test_run_deployment.py b/test/fprime_gds/executables/test_run_deployment.py index 532e55a4..d0d7f1a1 100644 --- a/test/fprime_gds/executables/test_run_deployment.py +++ b/test/fprime_gds/executables/test_run_deployment.py @@ -2,7 +2,6 @@ import tempfile import unittest from pathlib import Path - from unittest import mock from fprime_gds.executables import run_deployment