Sat, 29 May 2021 18:33:03 +0200
Ported the plug-in to PyQt6 for eric7.
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 | |
168
c6182aab51e9
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
163
diff
changeset
|
3 | # Copyright (c) 2013 - 2021 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 'dumpdata' 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.QtWidgets import QDialog |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from .Ui_DjangoDumpdataDataDialog import Ui_DjangoDumpdataDataDialog |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | class DjangoDumpdataDataDialog(QDialog, Ui_DjangoDumpdataDataDialog): |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | """ |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | Class implementing a dialog to enter the data for the 'dumpdata' command. |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | 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
|
22 | """ |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | Constructor |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | @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
|
26 | @type Project |
ea7980ded4f3
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
169
diff
changeset
|
27 | @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
|
28 | @type QWidget |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
169
b8f263e05c39
- implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
30 | super().__init__(parent) |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.setupUi(self) |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.__project = project |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | apps = self.__project.getRecentApplications() |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | self.applicationsCombo.addItems(apps) |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | self.excludeCombo.addItems(apps) |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.excludeCombo.setEditText("") |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
51
0b60dbff8e9a
Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
40 | self.formatCombo.addItem(self.tr("JSON"), "json") |
0b60dbff8e9a
Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
41 | self.formatCombo.addItem(self.tr("XML"), "xml") |
169
b8f263e05c39
- implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
42 | with contextlib.suppress(ImportError): |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | import yaml # __IGNORE_WARNING__ |
51
0b60dbff8e9a
Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
44 | self.formatCombo.addItem(self.tr("YAML"), "yaml") |
44
ae62ba409285
Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
45 | |
ae62ba409285
Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
46 | msh = self.minimumSizeHint() |
ae62ba409285
Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
47 | self.resize(max(self.width(), msh.width()), msh.height()) |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | def getData(self): |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | """ |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | Public method to get the data entered into the dialog. |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
172
ea7980ded4f3
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
169
diff
changeset
|
53 | @return tuple giving the list of applications to work on, the list of |
ea7980ded4f3
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
169
diff
changeset
|
54 | applications to exclude, the dump format and the indentation level |
ea7980ded4f3
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
169
diff
changeset
|
55 | @rtype tuple of (list of str, list of str, str, int) |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | applStr = self.applicationsCombo.currentText() |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | if applStr: |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | self.__project.setMostRecentApplication(applStr) |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | appls = applStr.split() |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | else: |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | appls = [] |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | exclStr = self.excludeCombo.currentText() |
169
b8f263e05c39
- implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
65 | excl = exclStr.split() if exclStr else [] |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
96
8ecf7b5a134a
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
93
diff
changeset
|
67 | dumpFormat = self.formatCombo.itemData(self.formatCombo.currentIndex()) |
2
1e97424fda0c
Continued porting the Django project plug-in from eric4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
96
8ecf7b5a134a
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
93
diff
changeset
|
69 | return appls, excl, dumpFormat, self.indentationSpinBox.value() |