ProjectDjango/DjangoRunTestServerDataDialog.py

Sat, 28 Dec 2024 16:01:22 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 28 Dec 2024 16:01:22 +0100
branch
eric7
changeset 203
07abb6af9048
parent 197
2667e16a3379
permissions
-rw-r--r--

Added code to automatically add generated migrations to the eric project.

2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
197
2667e16a3379 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
3 # Copyright (c) 2013 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the data for the 'loaddata' command.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
10 import contextlib
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
11
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
12 from PyQt6.QtCore import pyqtSlot
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
15 try:
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
16 from eric7.EricGui import EricPixmapCache
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
17 except ImportError:
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
18 from UI import PixmapCache as EricPixmapCache
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
19 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
21 from .Ui_DjangoRunTestServerDataDialog import Ui_DjangoRunTestServerDataDialog
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
125
d280acf98fb5 - additions for Django > 1.9.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 121
diff changeset
24 class DjangoRunTestServerDataDialog(QDialog, Ui_DjangoRunTestServerDataDialog):
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to enter the data for the 'loaddata' command.
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
28
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 def __init__(self, project, parent=None):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Constructor
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
32
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param project reference to the Django project object
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
34 @type Project
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
35 @param parent reference to the parent widget
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
36 @type QWidget
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
38 super().__init__(parent)
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.setupUi(self)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
40
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
41 fileFilters = self.tr("JSON Files (*.json);;XML Files (*.xml);;")
169
b8f263e05c39 - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
42 with contextlib.suppress(ImportError):
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
43 import yaml # __IGNORE_WARNING__
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
44
51
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
45 fileFilters += self.tr("YAML Files (*.yaml);;")
0b60dbff8e9a Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
46 fileFilters += self.tr("All Files (*)")
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
47
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
48 self.fixturePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
49 self.fixturePicker.setFilters(fileFilters)
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
50
181
2f5c3487139c Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
51 self.fixtureFileButton.setIcon(EricPixmapCache.getIcon("open"))
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
52
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
53 self.__project = project
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
54
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
55 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
56
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
57 msh = self.minimumSizeHint()
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
58 self.resize(max(self.width(), msh.width()), msh.height())
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
59
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
60 @pyqtSlot(str)
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
61 def on_fixturesPicker_textChanged(self, txt):
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
62 """
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
63 Private slot to handle a change of the fixtures text.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
64
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
65 @param txt text of the line edit
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
66 @type str
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
67 """
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
68 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(bool(txt))
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
69
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 def getData(self):
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 """
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 Public method to get the data entered into the dialog.
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
73
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
74 @return list of fixtures
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
75 @rtype list of str
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
172
ea7980ded4f3 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 169
diff changeset
77 fixturesStr = self.fixturePicker.text()
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 fixtures = fixturesStr.split()
180
64339135bd61 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
79
2
1e97424fda0c Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 return fixtures

eric ide

mercurial