eric7.CodeFormatting.BlackFormattingDialog

Module implementing a dialog showing the Black code formatting progress and the results.

Global Attributes

None

Classes

BlackFormattingDialog Class implementing a dialog showing the Black code formatting progress and the results.
BlackMultiprocessingReport Class extending the black Report to work with multiprocessing.
BlackMultiprocessingResult Class containing the reformatting result data.
BlackReport Class extending the black Report to work with our dialog.
BlackStatistics Class containing the reformatting statistic data.

Functions

None


BlackFormattingDialog

Class implementing a dialog showing the Black code formatting progress and the results.

Derived from

QDialog, Ui_BlackFormattingDialog

Class Attributes

DataRole
DataTypeRole
FileNameColumn
FileNameRole
StatusColumn
StatusRole

Class Methods

None

Methods

BlackFormattingDialog Constructor
__filterFiles Private method to filter the given list of files according the configuration parameters.
__finish Private method to perform some actions after the run was performed or canceled.
__formatButtonClicked Private slot handling the selection of the 'Format Code' button.
__formatManyFiles Private method to format the list of files according the configuration using multiple processes in parallel.
__formatOneFile Private method to format the list of files according the configuration.
__handleBlackFormattingResult Private slot to handle the result of a black reformatting action.
__performAction Private method to execute the requested formatting action.
__populateStatusFilterCombo Private method to populate the status filter combo box with allowed selections.
__resizeColumns Private method to resize the columns of the result list.
__resort Private method to resort the result list.
__updateStatistics Private method to update the statistics about the recent formatting run and make them visible.
closeEvent Protected slot implementing a close event handler.
on_buttonBox_clicked Private slot to handle button presses of the dialog buttons.
on_resultsList_itemDoubleClicked Private slot handling a double click of a result item.
on_statusFilterComboBox_currentTextChanged Private slot handling the selection of a status for items to be shown.

Static Methods

__diffFormatFile Static method to check, if the given files need to be reformatted, and generate a unified diff.
formattingWorkerTask Static method acting as the parallel worker for the formatting task.

BlackFormattingDialog (Constructor)

BlackFormattingDialog(configuration, filesList, project=None, action=BlackFormattingAction.Format, parent=None, )

Constructor

configuration (dict)
dictionary containing the configuration parameters
filesList (list of str)
list of absolute file paths to be processed
project (Project (optional))
reference to the project object (defaults to None)
action (BlackFormattingAction (optional))
action to be performed (defaults to BlackFormattingAction.Format)
parent (QWidget (optional))
reference to the parent widget (defaults to None)

BlackFormattingDialog.__filterFiles

__filterFiles(filesList)

Private method to filter the given list of files according the configuration parameters.

filesList (list of str)
list of files
Return:
list of filtered files
Return Type:
list of str

BlackFormattingDialog.__finish

__finish()

Private method to perform some actions after the run was performed or canceled.

BlackFormattingDialog.__formatButtonClicked

__formatButtonClicked()

Private slot handling the selection of the 'Format Code' button.

BlackFormattingDialog.__formatManyFiles

__formatManyFiles(files)

Private method to format the list of files according the configuration using multiple processes in parallel.

files (list of str)
list of files to be processed

BlackFormattingDialog.__formatOneFile

__formatOneFile(file)

Private method to format the list of files according the configuration.

file (str)
name of the file to be processed

BlackFormattingDialog.__handleBlackFormattingResult

__handleBlackFormattingResult(status, filename, data)

Private slot to handle the result of a black reformatting action.

status (str)
status of the performed action (one of 'changed', 'failed', 'ignored', 'unchanged' or 'unmodified')
filename (str)
name of the processed file
data (str)
action data (error message or unified diff)

BlackFormattingDialog.__performAction

__performAction()

Private method to execute the requested formatting action.

BlackFormattingDialog.__populateStatusFilterCombo

__populateStatusFilterCombo()

Private method to populate the status filter combo box with allowed selections.

BlackFormattingDialog.__resizeColumns

__resizeColumns()

Private method to resize the columns of the result list.

BlackFormattingDialog.__resort

__resort()

Private method to resort the result list.

BlackFormattingDialog.__updateStatistics

__updateStatistics()

Private method to update the statistics about the recent formatting run and make them visible.

BlackFormattingDialog.closeEvent

closeEvent(evt)

Protected slot implementing a close event handler.

evt (QCloseEvent)
reference to the close event

BlackFormattingDialog.on_buttonBox_clicked

on_buttonBox_clicked(button)

Private slot to handle button presses of the dialog buttons.

button (QAbstractButton)
reference to the pressed button

BlackFormattingDialog.on_resultsList_itemDoubleClicked

on_resultsList_itemDoubleClicked(item, _column)

Private slot handling a double click of a result item.

item (QTreeWidgetItem)
reference to the double clicked item
_column (int)
column number that was double clicked (unused)

BlackFormattingDialog.on_statusFilterComboBox_currentTextChanged

on_statusFilterComboBox_currentTextChanged(status)

Private slot handling the selection of a status for items to be shown.

status (str)
selected status

BlackFormattingDialog.__diffFormatFile (static)

__diffFormatFile(fast, mode, report, relSrc="")

Static method to check, if the given files need to be reformatted, and generate a unified diff.

src (pathlib.Path)
path of file to be checked
fast (bool)
flag indicating fast operation
mode (black.Mode)
code formatting options
report (BlackReport)
reference to the report object
relSrc (str (optional))
name of the file relative to the project (defaults to "")

BlackFormattingDialog.formattingWorkerTask (static)

formattingWorkerTask(outputQueue, config)

Static method acting as the parallel worker for the formatting task.

inputQueue (multiprocessing.Queue)
input queue
outputQueue (multiprocessing.Queue)
output queue
config (dict)
dictionary containing the configuration parameters
Up


BlackMultiprocessingReport

Class extending the black Report to work with multiprocessing.

Derived from

black.Report

Class Attributes

None

Class Methods

None

Methods

BlackMultiprocessingReport Constructor
done Public method to handle the end of a reformat.
failed Public method to handle a reformat failure.
path_ignored Public method handling an ignored path.

Static Methods

None

BlackMultiprocessingReport (Constructor)

BlackMultiprocessingReport(resultQueue)

Constructor

resultQueue (multiprocessing.Queue)
reference to the queue to put the results into

BlackMultiprocessingReport.done

done(src, changed, diff="")

Public method to handle the end of a reformat.

src (pathlib.Path)
name of the processed file
changed (black.Changed)
change status
diff (str)
unified diff of potential changes (defaults to "")

BlackMultiprocessingReport.failed

failed(src, message)

Public method to handle a reformat failure.

src (pathlib.Path)
name of the processed file
message (str)
error message

BlackMultiprocessingReport.path_ignored

path_ignored(src, message="")

Public method handling an ignored path.

src (pathlib.Path or str)
name of the processed file
message (str (optional))
ignore message (default to "") (unused)
Up


BlackMultiprocessingResult

Class containing the reformatting result data.

This class is used when reformatting multiple files in parallel using processes.

Derived from

None

Class Attributes

data
filename
status

Class Methods

None

Methods

None

Static Methods

None
Up


BlackReport

Class extending the black Report to work with our dialog.

Signals

result(status, file name, data)
emitted to signal the reformatting result as three strings giving the status (one of 'changed', 'unchanged', 'unmodified', 'failed' or 'ignored'), the file name and data related to the result

Derived from

QObject, black.Report

Class Attributes

None

Class Methods

None

Methods

BlackReport Constructor
done Public method to handle the end of a reformat.
failed Public method to handle a reformat failure.
path_ignored Public method handling an ignored path.

Static Methods

None

BlackReport (Constructor)

BlackReport(parent=None)

Constructor

parent (QObject (optional))
reference to the parent object (defaults to None

BlackReport.done

done(src, changed, diff="")

Public method to handle the end of a reformat.

src (pathlib.Path)
name of the processed file
changed (black.Changed)
change status
diff (str)
unified diff of potential changes (defaults to "")

BlackReport.failed

failed(src, message)

Public method to handle a reformat failure.

src (pathlib.Path)
name of the processed file
message (str)
error message

BlackReport.path_ignored

path_ignored(src, message="")

Public method handling an ignored path.

src (pathlib.Path or str)
name of the processed file
message (str (optional))
ignore message (default to "") (unused)
Up


BlackStatistics

Class containing the reformatting statistic data.

Derived from

None

Class Attributes

changeCount
failureCount
ignoreCount
processedCount
sameCount

Class Methods

None

Methods

None

Static Methods

None
Up