mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-06 00:03:16 -05:00
pyqt5to6: Catch QVariant.Type.XX and replace with QVariant.XX
QVariant.Type doesn't exist, the values should be referenced directly
This commit is contained in:
parent
27824078ad
commit
8c3ac3f3a3
@ -238,10 +238,22 @@ def fix_file(filename: str, qgis3_compat: bool) -> int:
|
|||||||
token_renames[Offset(_node.value.lineno, _node.value.col_offset)] = 'QApplication.instance()'
|
token_renames[Offset(_node.value.lineno, _node.value.col_offset)] = 'QApplication.instance()'
|
||||||
extra_imports['qgis.PyQt.QtWidgets'].update({'QApplication'})
|
extra_imports['qgis.PyQt.QtWidgets'].update({'QApplication'})
|
||||||
removed_imports['qgis.PyQt.QtWidgets'].update({'qApp'})
|
removed_imports['qgis.PyQt.QtWidgets'].update({'qApp'})
|
||||||
|
if _node.value.id == 'QVariant' and _node.attr == 'Type':
|
||||||
|
def _replace_qvariant_type(start_index: int, tokens):
|
||||||
|
# QVariant.Type.XXX doesn't exist, it should be QVariant.XXX
|
||||||
|
assert tokens[start_index].src == 'QVariant'
|
||||||
|
assert tokens[start_index + 1].src == '.'
|
||||||
|
assert tokens[start_index + 2].src == 'Type'
|
||||||
|
assert tokens[start_index + 3].src == '.'
|
||||||
|
|
||||||
|
tokens[start_index + 2] = tokens[start_index + 2]._replace(src='')
|
||||||
|
tokens[start_index + 3] = tokens[start_index + 3]._replace(
|
||||||
|
src='')
|
||||||
|
|
||||||
|
custom_updates[Offset(node.lineno, node.col_offset)] = _replace_qvariant_type
|
||||||
|
|
||||||
tree = ast.parse(contents, filename=filename)
|
tree = ast.parse(contents, filename=filename)
|
||||||
for parent in ast.walk(tree):
|
for parent in ast.walk(tree):
|
||||||
|
|
||||||
for node in ast.iter_child_nodes(parent):
|
for node in ast.iter_child_nodes(parent):
|
||||||
if isinstance(node, ast.ImportFrom):
|
if isinstance(node, ast.ImportFrom):
|
||||||
import_offsets[Offset(node.lineno, node.col_offset)] = (node.module, set(name.name for name in node.names), node.end_lineno, node.end_col_offset)
|
import_offsets[Offset(node.lineno, node.col_offset)] = (node.module, set(name.name for name in node.names), node.end_lineno, node.end_col_offset)
|
||||||
|
|||||||
@ -469,7 +469,7 @@ class TestQgsCheckBoxFieldFormatter(QgisTestCase):
|
|||||||
config['TextDisplayMethod'] = QgsCheckBoxFieldFormatter.TextDisplayMethod.ShowTrueFalse
|
config['TextDisplayMethod'] = QgsCheckBoxFieldFormatter.TextDisplayMethod.ShowTrueFalse
|
||||||
self.assertEqual(field_formatter.representValue(layer, 2, config, None, True), 'true')
|
self.assertEqual(field_formatter.representValue(layer, 2, config, None, True), 'true')
|
||||||
self.assertEqual(field_formatter.representValue(layer, 2, config, None, False), 'false')
|
self.assertEqual(field_formatter.representValue(layer, 2, config, None, False), 'false')
|
||||||
self.assertEqual(field_formatter.representValue(layer, 2, config, None, QVariant(QVariant.Type.Bool)), 'NULL')
|
self.assertEqual(field_formatter.representValue(layer, 2, config, None, QVariant(QVariant.Bool)), 'NULL')
|
||||||
|
|
||||||
|
|
||||||
class TestQgsFallbackFieldFormatter(QgisTestCase):
|
class TestQgsFallbackFieldFormatter(QgisTestCase):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user