ProjectDjangoTagsMenu/DjangoTagsMenuHandler.py

Fri, 07 Feb 2014 18:21:09 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 07 Feb 2014 18:21:09 +0100
changeset 7
8d928ad07c0a
parent 6
5f1c0ebbdf5f
child 8
7e8f788fe340
permissions
-rw-r--r--

Implemented template filters 'a' to 'f'.

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
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
10 import os
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
11
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt4.QtCore import QObject
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
13 from PyQt4.QtGui import QMenu, QInputDialog
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from E5Gui.E5Application import e5App
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
16 from E5Gui import E5FileDialog
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
18 from .DjangoTagInputDialog import DjangoTagInputDialog
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
19
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
20
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class DjangoTagsMenuHandler(QObject):
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing the Django tags menu handler.
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 def __init__(self, ui, parent=None):
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 Constructor
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 @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
30 @param parent reference to the parent object (QObject)
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 super(DjangoTagsMenuHandler, self).__init__(parent)
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.__ui = ui
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.__findDialog = None
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
37 def closeAllWindows(self):
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
38 """
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
39 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
40 """
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
41 if self.__findDialog:
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
42 self.__findDialog.close()
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
43
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 def initMenus(self, mainMenu):
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 Public method to initialize the various menus.
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 @param mainMenu reference to the main tags menu (QMenu)
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 mainMenu.addAction(self.tr("Django Template Tags Locator"),
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.__findTemplateTag)
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
52 mainMenu.addSeparator()
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
53 mainMenu.addMenu(self.__initTagsMenu())
7
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
54 mainMenu.addMenu(self.__initFiltersMenu())
3
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 def __initTagsMenu(self):
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 Private method to initialize the tags menu.
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
59
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
60 @return generated menu (QMenu)
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
61 """
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
62 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
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("autoescape - Auto Escape Characters"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
65 lambda: self.__applyTemplate("autoescape"))
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("block - Named Block"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
69 lambda: self.__applyTemplate("block"))
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
70 menu.addSeparator()
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
71 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
72 self.tr("comment - Multiline Comment"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
73 lambda: self.__applyTemplate("comment"))
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
74 menu.addAction(
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
75 self.tr("csrf_token - Cross Site Request Forgery Token"),
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
76 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
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("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
79 lambda: self.__applyTemplate("cycle"))
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
80 menu.addSeparator()
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
81 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
82 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
83 lambda: self.__applyTemplate("debug"))
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
84 menu.addSeparator()
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
85 menu.addAction(
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
86 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
87 lambda: self.__applyTemplate("extendsvariable"))
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
88 menu.addAction(
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
89 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
90 lambda: self.__applyTemplate("extendsfile"))
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
91 menu.addSeparator()
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
92 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
93 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
94 lambda: self.__applyTemplate("filter"))
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
95 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
96 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
97 lambda: self.__applyTemplate("firstof"))
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
98 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
99 self.tr("for - For Loop"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
100 lambda: self.__applyTemplate("for"))
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
101 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
102 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
103 lambda: self.__applyTemplate("for...empty"))
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
104 menu.addSeparator()
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
105 # TODO: add 'if...' templates here
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
106 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
107 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
108 lambda: self.__applyTemplate("includevariable"))
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
109 menu.addAction(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
110 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
111 lambda: self.__applyTemplate("includefile"))
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
112 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
113 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
114 self.tr("load - Load a custom template tag set"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
115 lambda: self.__applyTemplate("load"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
116 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
117 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
118 self.tr("now - Display current date and time"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
119 lambda: self.__applyTemplate("now"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
120 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
121 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
122 self.tr("regroup - Regroup list of alike objects by a common"
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
123 " attribute"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
124 lambda: self.__applyTemplate("regroup"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
125 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
126 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
127 self.tr("spaceless - Remove whitespace between HTML tags"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
128 lambda: self.__applyTemplate("spaceless"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
129 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
130 self.tr("ssi - Output contents of a given file into the page"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
131 lambda: self.__applyTemplate("ssi"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
132 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
133 self.tr("ssi - Output contents of a given file into the page"
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
134 " (dialog selection)"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
135 lambda: self.__applyTemplate("ssifile"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
136 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
137 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
138 self.tr("templatetag - Output syntax characters used for"
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
139 " template"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
140 lambda: self.__applyTemplate("templatetag"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
141 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
142 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
143 self.tr("url - Return an absolute path reference"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
144 lambda: self.__applyTemplate("url"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
145 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
146 self.tr("url...as - Return an absolute path reference"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
147 lambda: self.__applyTemplate("urlas"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
148 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
149 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
150 self.tr("verbatim - Output block contents without rendering"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
151 lambda: self.__applyTemplate("verbatim"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
152 menu.addSeparator()
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
153 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
154 self.tr("widthratio - Calculate width ratio"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
155 lambda: self.__applyTemplate("verbatim"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
156 menu.addAction(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
157 self.tr("with - Cache a complex variable under a simpler name"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
158 lambda: self.__applyTemplate("verbatim"))
3
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 self.__tagsMenu = menu
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
161 return menu
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
7
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
163 def __initFiltersMenu(self):
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
164 """
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
165 Private method to initialize the filters menu.
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
166
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
167 @return generated menu (QMenu)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
168 """
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
169 menu = QMenu(self.tr("Filters"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
170 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
171 self.tr("add - Add variable or string"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
172 lambda: self.__applyTemplate("add"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
173 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
174 self.tr("addslashes - Add slashes before quotes"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
175 lambda: self.__applyTemplate("addslashes"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
176 menu.addSeparator()
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
177 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
178 self.tr("capfirst - Capitalize first character"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
179 lambda: self.__applyTemplate("capfirst"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
180 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
181 self.tr("center - Center value"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
182 lambda: self.__applyTemplate("center"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
183 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
184 self.tr("cut - Cut characters"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
185 lambda: self.__applyTemplate("cut"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
186 menu.addSeparator()
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
187 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
188 self.tr("date - Format date"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
189 lambda: self.__applyTemplate("date"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
190 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
191 self.tr("default - Use dafault if False"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
192 lambda: self.__applyTemplate("default"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
193 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
194 self.tr("default_if_none - Use default if None"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
195 lambda: self.__applyTemplate("default_if_none"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
196 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
197 self.tr("dictsort - Sort dictionaries"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
198 lambda: self.__applyTemplate("dictsort"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
199 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
200 self.tr("dictsortreversed - Sort dictionaries reversed"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
201 lambda: self.__applyTemplate("dictsortreversed"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
202 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
203 self.tr("divisibleby - Check divisibility"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
204 lambda: self.__applyTemplate("divisibleby"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
205 menu.addSeparator()
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
206 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
207 self.tr("escape - Escape as HTML"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
208 lambda: self.__applyTemplate("escape"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
209 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
210 self.tr("escapejs - Escape as JavaScript"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
211 lambda: self.__applyTemplate("escapejs"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
212 menu.addSeparator()
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
213 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
214 self.tr("filesizeformat - Format file sizes"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
215 lambda: self.__applyTemplate("filesizeformat"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
216 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
217 self.tr("first - First item of a list"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
218 lambda: self.__applyTemplate("first"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
219 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
220 self.tr("fix_ampersands - Replace ampersands"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
221 lambda: self.__applyTemplate("fix_ampersands"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
222 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
223 self.tr("floatformat - Format floating numbers"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
224 lambda: self.__applyTemplate("floatformat"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
225 menu.addAction(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
226 self.tr("force_escape - Escape as HTML immediately"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
227 lambda: self.__applyTemplate("force_escape"))
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
228 menu.addSeparator()
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
229
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
230 self.__filtersMenu = menu
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
231 return menu
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
232
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 def __findTemplateTag(self):
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 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
236 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 if self.__findDialog is None:
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 from .FindTemplateTagDialog import FindTemplateTagDialog
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
239 self.__findDialog = FindTemplateTagDialog()
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 self.__findDialog.tag.connect(self.__applyTemplate)
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 self.__findDialog.show()
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
242 self.__findDialog.raise_()
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
243 self.__findDialog.activateWindow()
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 def __applyTemplate(self, tag):
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 Private slot to generate and insert the template text.
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 @param tag name of the tag to insert (string)
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 editor = e5App().getObject("ViewManager").activeWindow()
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 if editor is None:
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 return
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
255 templateText, replace = self.__generateTemplateText(
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
256 tag, editor.selectedText())
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
258 if templateText:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
259 editor.beginUndoAction()
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
260 if replace:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
261 editor.replaceSelectedText(templateText)
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
262 else:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
263 editor.insert(templateText)
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
264 editor.endUndoAction()
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
266 def __generateTemplateText(self, tag, selectedText):
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 """
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 Private slot to generate the template text.
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 @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
271 @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
272 @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
273 to perform a replace operation (boolean)
2
4be31b0908c7 Started implementing the tags functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 """
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
275 # TODO: complete the tag generation logic
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
276 replace = False # safe value
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
277 ok = True
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
278 templateText = ""
3
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 ####################################################
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
281 ## Template Tags ##
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
282 ####################################################
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
283
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
284 if tag == "autoescape":
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
285 templateText = (
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
286 "{{% autoescape on %}} {0} {{% endautoescape %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
287 selectedText))
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
288 replace = True
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
289 elif tag == "block":
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
290 data, ok = DjangoTagInputDialog.getText(
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
291 None,
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
292 self.tr("Named Block"),
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
293 [self.tr("Enter block name:")],
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
294 ["block_name"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
295 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
296 templateText = "{{% block {0} %}} {1} {{% endblock %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
297 data[0], selectedText)
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
298 replace = True
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
299 elif tag == "comment":
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
300 templateText = "{{% comment %}} {0} {{% endcomment %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
301 selectedText)
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
302 replace = True
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
303 elif tag == "csrf_token":
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
304 templateText = "{% csrf_token %}"
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
305 elif tag == "cycle":
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
306 data, ok = DjangoTagInputDialog.getText(
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
307 None,
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
308 self.tr("Cycle Variables"),
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
309 [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
310 ["item1 item2 item3"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
311 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
312 templateText = "{{% cycle {0} %}}".format(data[0])
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
313 elif tag == "debug":
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
314 templateText = "{% debug %}"
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
315 elif tag == "extendsvariable":
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
316 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
317 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
318 self.tr("Extends"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
319 [self.tr("Enter variable name:")],
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
320 ["variable"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
321 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
322 templateText = "{{% extends {0} %}}".format(data[0])
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
323 elif tag == "extendsfile":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
324 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
325 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
326 self.tr("Extends"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
327 [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
328 ["base.html"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
329 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
330 templateText = '{{% extends "{0}" %}}'.format(data[0])
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
331 elif tag == "filter":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
332 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
333 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
334 self.tr("Tag Filters"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
335 [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
336 ["lower|safe"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
337 if ok:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
338 templateText = (
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
339 "{{% filter {0} %}} {1} {{% endfilter %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
340 data[0], selectedText))
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
341 replace = True
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
342 elif tag == "firstof":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
343 data, ok = DjangoTagInputDialog.getText(
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
344 None,
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
345 self.tr("First Of"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
346 [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
347 self.tr("Enter fallback value:")],
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
348 ["var1 var2", "fallback_value"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
349 if ok:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
350 templateText = (
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
351 '{{% filter force_escape %}}{{% firstof {0} "{1}" %}}'
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
352 ' {2} {{% endfilter %}}'.format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
353 data[0], data[1], selectedText))
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
354 replace = True
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
355 elif tag == "for":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
356 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
357 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
358 self.tr("For Loop"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
359 [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
360 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
361 ["item", "values"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
362 if ok:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
363 templateText = (
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
364 "{{% for {0} in {1} %}} {2} {{% endfor %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
365 data[0], data[1], selectedText))
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
366 replace = True
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
367 elif tag == "for...empty":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
368 data, ok = DjangoTagInputDialog.getText(
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
369 None,
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
370 self.tr("For Loop"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
371 [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
372 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
373 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
374 ["item", "values", '"Nothing."'])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
375 if ok:
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
376 templateText = (
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
377 "{{% for {0} in {1} %}} {2} {{% empty %}} {3}"
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
378 " {{% endfor %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
379 data[0], data[1], selectedText, data[2]))
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
380 replace = True
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
381 elif tag == "includevariable":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
382 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
383 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
384 self.tr("Include"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
385 [self.tr("Enter variable name:")],
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
386 ["variable"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
387 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
388 templateText = '{{% include {0} %}}'.format(data[0])
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
389 elif tag == "includefile":
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
390 data, ok = DjangoTagInputDialog.getText(
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
391 None,
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
392 self.tr("Include"),
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
393 [self.tr("Enter file name:")],
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
394 ["other.html"])
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
395 if ok:
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
396 templateText = '{{% include "{0}" %}}'.format(data[0])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
397 elif tag == "load":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
398 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
399 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
400 self.tr("Load"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
401 [self.tr("Enter template tag set to load:")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
402 ["foo bar"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
403 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
404 templateText = '{{% load "{0}" %}}'.format(data[0])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
405 elif tag == "now":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
406 dateformat, ok = QInputDialog.getItem(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
407 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
408 self.tr("Now"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
409 self.tr("Current date time format:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
410 ["DATETIME_FORMAT", "SHORT_DATETIME_FORMAT",
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
411 "SHORT_DATE_FORMAT", "DATE_FORMAT"],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
412 0, False)
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
413 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
414 templateText = '{{% now "{0}" %}}'.format(dateformat)
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
415 elif tag == "regroup":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
416 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
417 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
418 self.tr("Regroup List"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
419 [self.tr("List Variable:"), self.tr("Common Attribute:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
420 self.tr("Name of resulting list:")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
421 ["cities", "country", "country_list"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
422 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
423 templateText = '{{% regroup {0} by {1} as {2} %}}'.format(
6
5f1c0ebbdf5f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
424 data[0], data[1], data[2])
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
425 elif tag == "spaceless":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
426 templateText = "{{% spaceless %}} {0} {{% endspaceless %}}".format(
6
5f1c0ebbdf5f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
427 selectedText)
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
428 replace = True
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
429 elif tag == "ssi":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
430 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
431 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
432 self.tr("SSI"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
433 [self.tr("Full path to template:")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
434 ["/tmp/ssi_template.html"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
435 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
436 templateText = '{{% ssi "{0}" parsed %}}'.format(data[0])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
437 elif tag == "ssifile":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
438 ssi = E5FileDialog.getOpenFileName(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
439 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
440 self.tr("SSI"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
441 os.path.expanduser("~"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
442 self.tr("All Files (*)"))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
443 if ssi:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
444 templateText = '{{% ssi "{0}" parsed %}}'.format(ssi)
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
445 elif tag == "templatetag":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
446 templatetag, ok = QInputDialog.getItem(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
447 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
448 self.tr("Template Tag"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
449 self.tr("Argument:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
450 ["block", "variable", "brace", "comment"],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
451 0, False)
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
452 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
453 templateText = (
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
454 '{{% templatetag open{0} %}} {1} {{% templatetag'
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
455 ' close{0} %}}'.format(templatetag, selectedText))
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
456 replace = True
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
457 elif tag == "url":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
458 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
459 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
460 self.tr("URL"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
461 [self.tr("View method name:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
462 self.tr("Optional arguments (space separated):")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
463 ["path.to.some_view", "var1 var2"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
464 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
465 if data[1]:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
466 data[1] = ' ' + data[1]
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
467 templateText = '{{% url "{0}"{1} %}}'.format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
468 data[0], data[1])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
469 elif tag == "urlas":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
470 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
471 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
472 self.tr("URL...as"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
473 [self.tr("View method name:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
474 self.tr("Optional arguments (space separated):"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
475 self.tr("URL name:")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
476 ["path.to.some_view", "var1 var2", "url_name"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
477 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
478 if data[1]:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
479 data[1] = ' ' + data[1]
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
480 templateText = '{{% url "{0}"{1} as {2} %}}'.format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
481 data[0], data[1], data[2])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
482 elif tag == "verbatim":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
483 templateText = "{{% verbatim %}} {0} {{% endverbatim %}}".format(
6
5f1c0ebbdf5f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
484 selectedText)
5
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
485 replace = True
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
486 elif tag == "widthratio":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
487 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
488 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
489 self.tr("Width Ratio"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
490 [self.tr("Variable:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
491 self.tr("Maximum Value:"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
492 self.tr("Maximum Width:")],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
493 ["variable", "max_value", "max_width"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
494 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
495 templateText = "{{% widthratio {0} {1} {2} %}}".format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
496 data[0], data[1], data[2])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
497 elif tag == "with":
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
498 data, ok = DjangoTagInputDialog.getText(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
499 None,
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
500 self.tr("Cache Variables"),
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
501 [self.tr("Variables to cache as key=value (space separated):")
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
502 ],
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
503 ["variable1=foo.bar variable2=bar.baz"])
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
504 if ok:
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
505 templateText = '{{% with {0} %}} {1} {{% endwith %}}'.format(
e2b08694e945 Completed template tags(except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
506 data[0], selectedText)
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
507
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
508 ####################################################
7
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
509 ## Template Filters ##
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
510 ####################################################
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
511
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
512 elif tag == "add":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
513 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
514 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
515 self.tr("Add Variable or String"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
516 [self.tr("Variables or String to add:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
517 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
518 ["variable"])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
519 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
520 templateText = "|add:{0}".format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
521 elif tag == "addslashes":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
522 templateText = "|addslashes "
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
523 elif tag == "capfirst":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
524 templateText = "|capfirst "
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
525 elif tag == "center":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
526 width, ok = QInputDialog.getInt(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
527 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
528 self.tr("Center Value"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
529 self.tr("Enter width of the output:"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
530 10, 1, 99, 1)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
531 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
532 templateText = '|center:"{0}"'.format(width)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
533 elif tag == "cut":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
534 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
535 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
536 self.tr("Cut Characters"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
537 [self.tr("Characters to cut:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
538 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
539 [" "])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
540 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
541 templateText = '|cut:"{0}"'.format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
542 elif tag == "date":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
543 date, ok = QInputDialog.getItem(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
544 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
545 self.tr("Format Date"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
546 self.tr("Enter date format:"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
547 ["DATETIME_FORMAT", "SHORT_DATETIME_FORMAT",
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
548 "SHORT_DATE_FORMAT", "DATE_FORMAT"],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
549 0, True)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
550 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
551 templateText = '|date:"{0}" '.format(date)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
552 elif tag == "default":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
553 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
554 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
555 self.tr("Default Value if False"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
556 [self.tr("Enter default value if result is False:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
557 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
558 ["nothing"])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
559 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
560 templateText = '|default:"{0}" '.format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
561 elif tag == "default_if_none":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
562 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
563 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
564 self.tr("Default Value if None"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
565 [self.tr("Enter default value if result is None:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
566 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
567 ["nothing"])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
568 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
569 templateText = '|default:"{0}" '.format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
570 elif tag == "dictsort":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
571 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
572 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
573 self.tr("Sort Dictionaries"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
574 [self.tr("Enter key to sort on:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
575 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
576 ["key"])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
577 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
578 templateText = '|dictsort:"{0}" '.format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
579 elif tag == "dictsortreversed":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
580 data, ok = DjangoTagInputDialog.getText(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
581 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
582 self.tr("Sort Dictionaries reversed"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
583 [self.tr("Enter key to sort on:")
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
584 ],
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
585 ["key"])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
586 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
587 templateText = '|dictsortreversed:"{0}" '.format(data[0])
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
588 elif tag == "divisibleby":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
589 divisor, ok = QInputDialog.getInt(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
590 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
591 self.tr("Check Divisibility"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
592 self.tr("Enter divisor value:"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
593 2, 1, 99, 1)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
594 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
595 templateText = '|divisibleby:"{0}" '.format(divisor)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
596 elif tag == "escape":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
597 templateText = '|escape '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
598 elif tag == "escapejs":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
599 templateText = '|escapejs '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
600 elif tag == "filesizeformat":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
601 templateText = '|filesizeformat '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
602 elif tag == "first":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
603 templateText = '|first '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
604 elif tag == "fix_ampersands":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
605 templateText = '|fix_ampersands '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
606 elif tag == "floatformat":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
607 decimals, ok = QInputDialog.getInt(
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
608 None,
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
609 self.tr("Format Floating Number"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
610 self.tr("Enter number of decimal places:"),
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
611 2, -20, 20, 1)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
612 if ok:
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
613 templateText = '|floatformat:"{0}" '.format(decimals)
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
614 elif tag == "force_escape":
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
615 templateText = '|force_escape '
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
616
8d928ad07c0a Implemented template filters 'a' to 'f'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
617 ####################################################
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
618 ## Fallback: return just the tag name ##
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
619 ####################################################
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
620
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
621 else:
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
622 templateText = tag
4
ba04ed0b14a1 Implemented template tags 'f' to 'i' (except 'if').
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
623
3
6d10c1249cb8 Implemented template tags 'a' to 'e'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
624 return templateText, replace

eric ide

mercurial