Mercurial > libervia-web
annotate libervia/pages/lists/disco/page_meta.py @ 1379:4c51f22a813a
server (restricted_bridge): added `psNodeDelete`, `psNodeAffiliationsSet`, `psItemRetract` and `psInvite`
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 20 Feb 2021 13:49:08 +0100 |
parents | e3e303a30a74 |
children |
rev | line source |
---|---|
1216 | 1 #!/usr/bin/env python3 |
1239 | 2 |
1078 | 3 |
4 from libervia.server.constants import Const as C | |
5 from twisted.words.protocols.jabber import jid | |
6 from sat.core.log import getLogger | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1078
diff
changeset
|
7 |
1145
29eb15062416
pages: set __name__ for imported pages
Goffi <goffi@goffi.org>
parents:
1124
diff
changeset
|
8 log = getLogger(__name__) |
1078 | 9 |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
10 name = "lists_disco" |
1078 | 11 access = C.PAGES_ACCESS_PUBLIC |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
12 template = "list/discover.html" |
1078 | 13 |
14 | |
15 def prepare_render(self, request): | |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
16 lists_directory_config = self.host.options["lists_directory_json"] |
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
17 if lists_directory_config: |
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
18 trackers = request.template_data["lists_directory"] = [] |
1078 | 19 try: |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
20 for tracker_data in lists_directory_config: |
1216 | 21 service = tracker_data["service"] |
22 node = tracker_data["node"] | |
23 name = tracker_data["name"] | |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
24 url = self.getPageByName("lists").getURL(service, node) |
1216 | 25 trackers.append({"name": name, "url": url}) |
1078 | 26 except KeyError as e: |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
27 log.warning("Missing field in lists_directory_json: {msg}".format(msg=e)) |
1078 | 28 except Exception as e: |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
29 log.warning("Can't decode lists directory: {msg}".format(msg=e)) |
1078 | 30 |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1078
diff
changeset
|
31 |
1078 | 32 def on_data_post(self, request): |
1216 | 33 jid_str = self.getPostedData(request, "jid") |
1078 | 34 try: |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1078
diff
changeset
|
35 jid_ = jid.JID(jid_str) |
1078 | 36 except RuntimeError: |
37 self.pageError(request, C.HTTP_BAD_REQUEST) | |
38 # for now we just use default node | |
1378
e3e303a30a74
pages (tickets): renamed "tickets" to "lists":
Goffi <goffi@goffi.org>
parents:
1239
diff
changeset
|
39 url = self.getPageByName("lists").getURL(jid_.full(), "@") |
1078 | 40 self.HTTPRedirect(request, url) |