ProjectDjangoTagsMenu/DjangoTagsMenuHandler.py

Wed, 05 Feb 2014 19:13:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 05 Feb 2014 19:13:12 +0100
changeset 4
ba04ed0b14a1
parent 3
6d10c1249cb8
child 5
e2b08694e945
permissions
-rw-r--r--

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

eric ide

mercurial