diff --git a/Marlin/src/HAL/LPC1768/upload_extra_script.py b/Marlin/src/HAL/LPC1768/upload_extra_script.py
index b788a2bd1d..ce241c4658 100755
--- a/Marlin/src/HAL/LPC1768/upload_extra_script.py
+++ b/Marlin/src/HAL/LPC1768/upload_extra_script.py
@@ -37,7 +37,7 @@ if pioutil.is_pio_build():
#
# platformio.ini will accept this for a Windows upload port designation: 'upload_port = L:'
# Windows - doesn't care about the disk's name, only cares about the drive letter
- import subprocess,string
+ import subprocess, string
from ctypes import windll
from pathlib import PureWindowsPath
diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/file2cpp.py b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/file2cpp.py
index 1b84f171d9..92c1a5259e 100755
--- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/file2cpp.py
+++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/file2cpp.py
@@ -16,10 +16,7 @@
# location: .
from __future__ import print_function
-import argparse
-import textwrap
-import os
-import zlib
+import argparse, textwrap, os, zlib
def deflate(data):
return zlib.compress(data)
diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/font2cpp.py b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/font2cpp.py
index 1d11b9307a..98a2420497 100755
--- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/font2cpp.py
+++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/font2cpp.py
@@ -17,8 +17,7 @@
from __future__ import print_function
from PIL import Image
-import argparse
-import textwrap
+import argparse, textwrap
def pack_rle(data):
"""Use run-length encoding to pack the bytes"""
diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py
index 131141079a..b55b1250a9 100755
--- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py
+++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/img2cpp.py
@@ -17,11 +17,7 @@
from __future__ import print_function
from PIL import Image
-import argparse
-import textwrap
-import os
-import sys
-import zlib
+import argparse, textwrap, os, sys, zlib
class WriteSource:
def __init__(self, mode):
diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py
index 0f39932c6a..f505636c86 100755
--- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py
+++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/ftdi_eve_lib/scripts/svg2cpp.py
@@ -16,7 +16,7 @@
# location: .
from __future__ import print_function
-import argparse,re,sys
+import argparse, re, sys
from html.parser import HTMLParser
diff --git a/buildroot/bin/opt_disable b/buildroot/bin/opt_disable
index 9331b2c924..ce0eaa4ee6 100755
--- a/buildroot/bin/opt_disable
+++ b/buildroot/bin/opt_disable
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-import sys, os,config
+import sys, os, config
def main():
args = sys.argv[1:]
diff --git a/buildroot/bin/opt_enable b/buildroot/bin/opt_enable
index fd5c3a1b4b..644edb9a28 100755
--- a/buildroot/bin/opt_enable
+++ b/buildroot/bin/opt_enable
@@ -1,6 +1,6 @@
#!/usr/bin/env python
-import sys, os,config
+import sys, os, config
def main():
args = sys.argv[1:]
diff --git a/buildroot/share/PlatformIO/scripts/generic_create_variant.py b/buildroot/share/PlatformIO/scripts/generic_create_variant.py
index cfab812e15..d03e0ba1fb 100644
--- a/buildroot/share/PlatformIO/scripts/generic_create_variant.py
+++ b/buildroot/share/PlatformIO/scripts/generic_create_variant.py
@@ -6,6 +6,7 @@
# will be picked up by PlatformIO just like any other variant.
#
import pioutil, re
+
marlin_variant_pattern = re.compile("marlin_.*")
if pioutil.is_pio_build():
import shutil, marlin
@@ -55,4 +56,4 @@ if pioutil.is_pio_build():
variants_dir = here / 'buildroot' / 'share' / 'PlatformIO' / 'variants'
source_dir = variants_dir / variant
assert source_dir.is_dir()
- board.update("build.variants_dir", str(variants_dir));
+ board.update("build.variants_dir", str(variants_dir))
diff --git a/buildroot/share/PlatformIO/scripts/schema.py b/buildroot/share/PlatformIO/scripts/schema.py
index 381a7865c9..dedc8727bf 100755
--- a/buildroot/share/PlatformIO/scripts/schema.py
+++ b/buildroot/share/PlatformIO/scripts/schema.py
@@ -11,7 +11,7 @@
# been extended to evaluate conditions and can determine what options are actually enabled, not just which
# options are uncommented. That will be migrated to this script for standalone migration.
#
-import re,json
+import re, json
from pathlib import Path
def extend_dict(d:dict, k:tuple):
@@ -120,8 +120,6 @@ def extract_files(filekey):
defgrep = re.compile(r'^(//)?\s*(#define)\s+([A-Za-z0-9_]+)\s*(.*?)\s*(//.+)?$')
# Pattern to match a float value
flt = r'[-+]?\s*(\d+\.|\d*\.\d+)([eE][-+]?\d+)?[fF]?'
- # Defines to ignore
- ignore = ('CONFIGURATION_H_VERSION', 'CONFIGURATION_ADV_H_VERSION', 'CONFIG_EXAMPLES_DIR', 'CONFIG_EXPORT')
# Start with unknown state
state = Parse.NORMAL
# Serial ID
@@ -138,7 +136,7 @@ def extract_files(filekey):
eol_options = False # The options came from end of line, so only apply once
join_line = False # A flag that the line should be joined with the previous one
line = '' # A line buffer to handle \ continuation
- last_added_ref = None # Reference to the last added item
+ last_added_ref = {} # Reference to the last added item
# Loop through the lines in the file
for the_line in fileobj.readlines():
line_number += 1
@@ -175,7 +173,8 @@ def extract_files(filekey):
comment_buff = []
if cline != '':
# A (block or slash) comment was already added
- cfield = 'notes' if 'comment' in last_added_ref else 'comment'
+ if 'comment' in last_added_ref:
+ cfield = 'notes'
last_added_ref[cfield] = cline
#
@@ -220,7 +219,6 @@ def extract_files(filekey):
# Temperature sensors are done
if state == Parse.GET_SENSORS:
options_json = f'[ {options_json[:-2]} ]'
-
state = Parse.NORMAL
# Strip the leading '* ' from block comments
@@ -230,7 +228,7 @@ def extract_files(filekey):
if state == Parse.GET_SENSORS:
sens = re.match(r'^(-?\d+)\s*:\s*(.+)$', cline)
if sens:
- s2 = sens[2].replace("'","''")
+ s2 = sens[2].replace("'", "''")
options_json += f"{sens[1]}:'{sens[1]} - {s2}', "
elif state == Parse.BLOCK_COMMENT:
@@ -255,12 +253,11 @@ def extract_files(filekey):
comment_buff = []
state = Parse.BLOCK_COMMENT
eol_options = False
-
elif cpos2 != -1 and (cpos2 < cpos1 or cpos1 == -1):
cpos = cpos2
# Comment after a define may be continued on the following lines
- if defmatch != None and cpos > 10:
+ if defmatch is not None and cpos > 10:
state = Parse.EOL_COMMENT
prev_comment = '\n'.join(comment_buff)
comment_buff = []
@@ -327,10 +324,10 @@ def extract_files(filekey):
conditions.append([ f'!defined({line[7:].strip()})' ])
# Handle a complete #define line
- elif defmatch != None:
+ elif defmatch is not None:
# Get the match groups into vars
- enabled, define_name, val = defmatch[1] == None, defmatch[3], defmatch[4]
+ enabled, define_name, val = defmatch[1] is None, defmatch[3], defmatch[4]
# Increment the serial ID
sid += 1
@@ -375,7 +372,7 @@ def extract_files(filekey):
# If the comment_buff is not empty, add the comment to the info
if comment_buff:
- full_comment = '\n'.join(comment_buff)
+ full_comment = '\n'.join(comment_buff).strip()
# An EOL comment will be added later
# The handling could go here instead of above
@@ -392,6 +389,14 @@ def extract_files(filekey):
if units == 's' or units == 'sec': units = 'seconds'
define_info['units'] = units
+ if 'comment' not in define_info or define_info['comment'] == '':
+ if prev_comment:
+ define_info['comment'] = prev_comment
+ prev_comment = ''
+
+ if 'comment' in define_info and define_info['comment'] == '':
+ del define_info['comment']
+
# Set the options for the current #define
if define_name == "MOTHERBOARD" and boards != '':
define_info['options'] = boards
diff --git a/buildroot/share/PlatformIO/scripts/signature.py b/buildroot/share/PlatformIO/scripts/signature.py
index 046f02dd3e..6ae3793910 100755
--- a/buildroot/share/PlatformIO/scripts/signature.py
+++ b/buildroot/share/PlatformIO/scripts/signature.py
@@ -2,9 +2,7 @@
#
# signature.py
#
-import schema
-
-import subprocess,re,json,hashlib
+import schema, subprocess, re, json, hashlib
from datetime import datetime
from pathlib import Path
from functools import reduce
diff --git a/buildroot/share/dwin/bin/DWIN_ICO.py b/buildroot/share/dwin/bin/DWIN_ICO.py
index ff95b8cbc9..d132000db6 100644
--- a/buildroot/share/dwin/bin/DWIN_ICO.py
+++ b/buildroot/share/dwin/bin/DWIN_ICO.py
@@ -54,8 +54,7 @@
# does not define a name for 39. This is specially handled to
# prevent reordering stock icons.
-import os
-import struct
+import os, struct
from PIL import Image
def getJpegResolution(jpegFile):
diff --git a/buildroot/share/dwin/bin/makeIco.py b/buildroot/share/dwin/bin/makeIco.py
index 95d8150301..b69b046a1e 100755
--- a/buildroot/share/dwin/bin/makeIco.py
+++ b/buildroot/share/dwin/bin/makeIco.py
@@ -18,9 +18,7 @@
# along with this program. If not, see .
#----------------------------------------------------------------
-import os.path
-import argparse
-import DWIN_ICO
+import os.path, argparse, DWIN_ICO
version = '2.0.7'
diff --git a/buildroot/share/dwin/bin/splitIco.py b/buildroot/share/dwin/bin/splitIco.py
index a96d1823d2..a1a20971b7 100755
--- a/buildroot/share/dwin/bin/splitIco.py
+++ b/buildroot/share/dwin/bin/splitIco.py
@@ -18,9 +18,7 @@
# along with this program. If not, see .
#----------------------------------------------------------------
-import os.path
-import argparse
-import DWIN_ICO
+import os.path, argparse, DWIN_ICO
version = '2.0.7'
diff --git a/buildroot/share/fonts/buildhzk.py b/buildroot/share/fonts/buildhzk.py
index 185cc14e97..2b59980f66 100644
--- a/buildroot/share/fonts/buildhzk.py
+++ b/buildroot/share/fonts/buildhzk.py
@@ -4,8 +4,7 @@
# Author: Taylor Talkington
# License: GPL
-import bdflib.reader
-import math
+import bdflib.reader, math
def glyph_bits(size_x, size_y, font, glyph_ord):
asc = font[b'FONT_ASCENT']
diff --git a/buildroot/share/scripts/MarlinBinaryProtocol.py b/buildroot/share/scripts/MarlinBinaryProtocol.py
index 5ec83b1503..f759773fe2 100644
--- a/buildroot/share/scripts/MarlinBinaryProtocol.py
+++ b/buildroot/share/scripts/MarlinBinaryProtocol.py
@@ -2,14 +2,9 @@
# MarlinBinaryProtocol.py
# Supporting Firmware upload via USB/Serial, saving to the attached media.
#
-import serial
-import math
-import time
+import serial, math, time, threading, sys, datetime, random
from collections import deque
-import threading
-import sys
-import datetime
-import random
+
try:
import heatshrink2 as heatshrink
heatshrink_exists = True
diff --git a/buildroot/share/scripts/createSpeedLookupTable.py b/buildroot/share/scripts/createSpeedLookupTable.py
index 70ed953e54..c5b8a0275d 100755
--- a/buildroot/share/scripts/createSpeedLookupTable.py
+++ b/buildroot/share/scripts/createSpeedLookupTable.py
@@ -1,7 +1,6 @@
#!/usr/bin/env python
-from __future__ import print_function
-from __future__ import division
+from __future__ import print_function, division
""" Generate the stepper delay lookup table for Marlin firmware. """
diff --git a/buildroot/share/scripts/createTemperatureLookupMarlin.py b/buildroot/share/scripts/createTemperatureLookupMarlin.py
index e2441f5d89..eb8c094957 100755
--- a/buildroot/share/scripts/createTemperatureLookupMarlin.py
+++ b/buildroot/share/scripts/createTemperatureLookupMarlin.py
@@ -18,8 +18,7 @@ Options:
--num-temps=... the number of temperature points to calculate (default: 36)
"""
-from __future__ import print_function
-from __future__ import division
+from __future__ import print_function, division
from math import *
import sys, getopt
diff --git a/buildroot/share/scripts/rle16_compress_cpp_image_data.py b/buildroot/share/scripts/rle16_compress_cpp_image_data.py
index 60681ee57a..ed0c640fb8 100755
--- a/buildroot/share/scripts/rle16_compress_cpp_image_data.py
+++ b/buildroot/share/scripts/rle16_compress_cpp_image_data.py
@@ -5,8 +5,7 @@
#
# Usage: rle16_compress_cpp_image_data.py INPUT_FILE.cpp OUTPUT_FILE.cpp
#
-import sys, struct
-import re
+import sys, struct, re
def addCompressedData(input_file, output_file):
ofile = open(output_file, 'wt')
diff --git a/buildroot/share/scripts/rle_compress_bitmap.py b/buildroot/share/scripts/rle_compress_bitmap.py
index 8c25204919..d33f7be280 100755
--- a/buildroot/share/scripts/rle_compress_bitmap.py
+++ b/buildroot/share/scripts/rle_compress_bitmap.py
@@ -6,8 +6,7 @@
#
# Usage: rle_compress_bitmap.py INPUT_FILE OUTPUT_FILE
#
-import sys, struct
-import re
+import sys, struct, re
def addCompressedData(input_file, output_file):
input_lines = input_file.readlines()