Wed, 05 Feb 2014 19:13:12 +0100
Implemented template tags 'f' to 'i' (except 'if').
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Django tags menu handler. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from PyQt4.QtCore import QObject |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
11 | from PyQt4.QtGui import QMenu |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from E5Gui.E5Application import e5App |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
15 | from .DjangoTagInputDialog import DjangoTagInputDialog |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
16 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
17 | |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | class DjangoTagsMenuHandler(QObject): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | Class implementing the Django tags menu handler. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, ui, parent=None): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | @param ui reference to the user interface object (UI.UserInterface) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | @param parent reference to the parent object (QObject) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | super(DjangoTagsMenuHandler, self).__init__(parent) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self.__ui = ui |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self.__findDialog = None |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
34 | def closeAllWindows(self): |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
35 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
36 | Public method to close all dialogs managed by the handler. |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
37 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
38 | if self.__findDialog: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
39 | self.__findDialog.close() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
40 | |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | def initMenus(self, mainMenu): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Public method to initialize the various menus. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @param mainMenu reference to the main tags menu (QMenu) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | mainMenu.addAction(self.tr("Django Template Tags Locator"), |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.__findTemplateTag) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
49 | mainMenu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
50 | mainMenu.addMenu(self.__initTagsMenu()) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
51 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
52 | def __initTagsMenu(self): |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
53 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
54 | Private method to initialize the tags menu. |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
55 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
56 | @return generated menu (QMenu) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
57 | """ |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
58 | menu = QMenu(self.tr("Tags")) |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
59 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
60 | self.tr("autoescape - Auto Escape Characters"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
61 | lambda: self.__applyTemplate("autoescape")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
62 | menu.addSeparator() |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
63 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
64 | self.tr("block - Named Block"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
65 | lambda: self.__applyTemplate("block")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
66 | menu.addSeparator() |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
67 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
68 | self.tr("comment - Multiline Comment"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
69 | lambda: self.__applyTemplate("comment")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
70 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
71 | self.tr( "csrf_token - Cross Site Request Forgery Token"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
72 | lambda: self.__applyTemplate("csrf_token")) |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
73 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
74 | self.tr("cycle - Cycle variables each time used"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
75 | lambda: self.__applyTemplate("cycle")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
76 | menu.addSeparator() |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
77 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
78 | self.tr("debug - Output Debug Information"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
79 | lambda: self.__applyTemplate("debug")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
80 | menu.addSeparator() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
81 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
82 | self.tr("extends - Extend a template with variable contents"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
83 | lambda: self.__applyTemplate("extendsvariable")) |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
84 | menu.addAction( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
85 | self.tr("extends - Extend a template with file"), |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
86 | lambda: self.__applyTemplate("extendsfile")) |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
87 | menu.addSeparator() |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
88 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
89 | self.tr("filter - Filtered Block for one or more filters"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
90 | lambda: self.__applyTemplate("filter")) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
91 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
92 | self.tr("firstof - Outputs first argument variable that is True"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
93 | lambda: self.__applyTemplate("firstof")) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
94 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
95 | self.tr("for - For Loop"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
96 | lambda: self.__applyTemplate("for")) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
97 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
98 | self.tr("for...empty - For Loop with fallback for empty loop"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
99 | lambda: self.__applyTemplate("for...empty")) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
100 | menu.addSeparator() |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
101 | # TODO: add 'if...' templates here |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
102 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
103 | self.tr("include - Render template given by variable"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
104 | lambda: self.__applyTemplate("includevariable")) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
105 | menu.addAction( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
106 | self.tr("include - Render template given by file name"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
107 | lambda: self.__applyTemplate("includefile")) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
108 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
109 | self.__tagsMenu = menu |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
110 | return menu |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | def __findTemplateTag(self): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | Private slot to find a template tag and insert its text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | if self.__findDialog is None: |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | from .FindTemplateTagDialog import FindTemplateTagDialog |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
118 | self.__findDialog = FindTemplateTagDialog() |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | self.__findDialog.tag.connect(self.__applyTemplate) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | self.__findDialog.show() |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
121 | self.__findDialog.raise_() |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
122 | self.__findDialog.activateWindow() |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | def __applyTemplate(self, tag): |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | Private slot to generate and insert the template text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | @param tag name of the tag to insert (string) |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | editor = e5App().getObject("ViewManager").activeWindow() |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | if editor is None: |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | return |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
134 | templateText, replace = self.__generateTemplateText( |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
135 | tag, editor.selectedText()) |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
137 | if templateText: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
138 | editor.beginUndoAction() |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
139 | if replace: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
140 | editor.replaceSelectedText(templateText) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
141 | else: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
142 | editor.insert(templateText) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
143 | editor.endUndoAction() |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
145 | def __generateTemplateText(self, tag, selectedText): |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | """ |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | Private slot to generate the template text. |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | @param tag name of the tag to insert (string) |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
150 | @param selectedText selected text of the current editor (string) |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
151 | @return tuple of generated template text (string), a flag indicating |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
152 | to perform a replace operation (boolean) |
2
4be31b0908c7
Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | """ |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
154 | # TODO: complete the tag generation logic |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
155 | replace = False # safe value |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
156 | ok = True |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
157 | templateText = "" |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
158 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
159 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
160 | ## Template Tags ## |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
161 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
162 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
163 | if tag == "autoescape": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
164 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
165 | "{% autoescape on %} " + selectedText + " {% endautoescape %}") |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
166 | replace = True |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
167 | elif tag == "block": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
168 | data, ok = DjangoTagInputDialog.getText( |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
169 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
170 | self.tr("Named Block"), |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
171 | [self.tr("Enter block name:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
172 | ["block_name"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
173 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
174 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
175 | "{% block " + data[0] + " %} " + selectedText + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
176 | " {% endblock %}") |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
177 | replace = True |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
178 | elif tag == "comment": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
179 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
180 | "{% comment %} " + selectedText + " {% endcomment %}") |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
181 | replace = True |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
182 | elif tag == "csrf_token": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
183 | templateText = ("{% csrf_token %}") |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
184 | elif tag == "cycle": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
185 | data, ok = DjangoTagInputDialog.getText( |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
186 | None, |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
187 | self.tr("Cycle Variables"), |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
188 | [self.tr("Enter items to cycle, space separated")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
189 | ["item1 item2 item3"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
190 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
191 | templateText = ("{% cycle " + data[0] + " %} ") |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
192 | elif tag == "debug": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
193 | templateText = ("{% debug %}") |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
194 | elif tag == "extendsvariable": |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
195 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
196 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
197 | self.tr("Extends"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
198 | [self.tr("Enter variable name:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
199 | ["variable"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
200 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
201 | templateText = ('{% extends ' + data[0] + ' %} ') |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
202 | elif tag == "extendsfile": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
203 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
204 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
205 | self.tr("Extends"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
206 | [self.tr("Enter parent file name:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
207 | ["base.html"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
208 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
209 | templateText = ('{% extends "' + data[0] + '" %} ') |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
210 | elif tag == "filter": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
211 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
212 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
213 | self.tr("Tag Filters"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
214 | [self.tr("Multiple filters with arguments, pipes separated:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
215 | ["lower|safe"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
216 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
217 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
218 | "{% filter " + data[0] + " %} " + selectedText + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
219 | " {% endfilter %}") |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
220 | replace = True |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
221 | elif tag == "firstof": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
222 | data, ok = DjangoTagInputDialog.getText( |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
223 | None, |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
224 | self.tr("First Of"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
225 | [self.tr("Enter multiple variables, space separated:"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
226 | self.tr("Enter fallback value:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
227 | ["var1 var2", "fallback_value"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
228 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
229 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
230 | "{% filter force_escape %}{% firstof " + data[0] + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
231 | ' "' + data[1] + '" %} ' + selectedText + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
232 | " {% endfilter %}") |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
233 | replace = True |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
234 | elif tag == "for": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
235 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
236 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
237 | self.tr("For Loop"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
238 | [self.tr("Enter variable to use for iteration:"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
239 | self.tr("Enter sequence to iterate over:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
240 | ["item", "values"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
241 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
242 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
243 | "{% for " + data[0] + " in " + data[1] + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
244 | " %} " + selectedText + " {% endfor %}") |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
245 | replace = True |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
246 | elif tag == "for...empty": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
247 | data, ok = DjangoTagInputDialog.getText( |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
248 | None, |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
249 | self.tr("For Loop"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
250 | [self.tr("Enter variable to use for iteration:"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
251 | self.tr("Enter sequence to iterate over:"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
252 | self.tr("Enter output to use if loop is empty:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
253 | ["item", "values", '"Nothing."']) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
254 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
255 | templateText = ( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
256 | "{% for " + data[0] + " in " + data[1] + " %} " + |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
257 | selectedText + " {% empty %} " + data[2] + " {% endfor %}") |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
258 | replace = True |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
259 | elif tag == "includevariable": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
260 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
261 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
262 | self.tr("Include"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
263 | [self.tr("Enter variable name:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
264 | ["variable"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
265 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
266 | templateText = ('{% include ' + data[0] + ' %} ') |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
267 | elif tag == "includefile": |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
268 | data, ok = DjangoTagInputDialog.getText( |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
269 | None, |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
270 | self.tr("Include"), |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
271 | [self.tr("Enter file name:")], |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
272 | ["other.html"]) |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
273 | if ok: |
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
274 | templateText = ('{% include "' + data[0] + '" %} ') |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
275 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
276 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
277 | ## Fallback: return just the tag name ## |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
278 | #################################################### |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
279 | |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
280 | else: |
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
281 | templateText = tag |
4
ba04ed0b14a1
Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
282 | |
3
6d10c1249cb8
Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
283 | return templateText, replace |