Mercurial > libervia-web
comparison src/pages/events/admin/page_meta.py @ 1113:cdd389ef97bc
server: code style reformatting using black
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 29 Jun 2018 17:45:26 +0200 |
parents | 4d1c4bd4931a |
children |
comparison
equal
deleted
inserted
replaced
1112:f287fc8bb31a | 1113:cdd389ef97bc |
---|---|
10 import time | 10 import time |
11 import cgi | 11 import cgi |
12 import math | 12 import math |
13 import re | 13 import re |
14 | 14 |
15 name = u'event_admin' | 15 name = u"event_admin" |
16 access = C.PAGES_ACCESS_PROFILE | 16 access = C.PAGES_ACCESS_PROFILE |
17 template = u"event/admin.html" | 17 template = u"event/admin.html" |
18 log = getLogger(u'pages/' + name) | 18 log = getLogger(u"pages/" + name) |
19 REG_EMAIL_RE = re.compile(C.REG_EMAIL_RE, re.IGNORECASE) | 19 REG_EMAIL_RE = re.compile(C.REG_EMAIL_RE, re.IGNORECASE) |
20 | 20 |
21 | 21 |
22 def parse_url(self, request): | 22 def parse_url(self, request): |
23 self.getPathArgs(request, ("event_service", "event_node", "event_id"), min_args=2, event_service="@jid", event_id='') | 23 self.getPathArgs( |
24 request, | |
25 ("event_service", "event_node", "event_id"), | |
26 min_args=2, | |
27 event_service="@jid", | |
28 event_id="", | |
29 ) | |
30 | |
24 | 31 |
25 @defer.inlineCallbacks | 32 @defer.inlineCallbacks |
26 def prepare_render(self, request): | 33 def prepare_render(self, request): |
27 data = self.getRData(request) | 34 data = self.getRData(request) |
28 template_data = request.template_data | 35 template_data = request.template_data |
29 | 36 |
30 ## Event ## | 37 ## Event ## |
31 | 38 |
32 event_service = template_data[u'event_service'] = data['event_service'] | 39 event_service = template_data[u"event_service"] = data["event_service"] |
33 event_node = template_data[u'event_node'] = data['event_node'] | 40 event_node = template_data[u"event_node"] = data["event_node"] |
34 event_id = template_data[u'event_id'] = data['event_id'] | 41 event_id = template_data[u"event_id"] = data["event_id"] |
35 profile = self.getProfile(request) | 42 profile = self.getProfile(request) |
36 event_timestamp, event_data = yield self.host.bridgeCall(u"eventGet", event_service.userhost() if event_service else '', event_node, event_id, profile) | 43 event_timestamp, event_data = yield self.host.bridgeCall( |
44 u"eventGet", | |
45 event_service.userhost() if event_service else "", | |
46 event_node, | |
47 event_id, | |
48 profile, | |
49 ) | |
37 try: | 50 try: |
38 background_image = event_data.pop('background-image') | 51 background_image = event_data.pop("background-image") |
39 except KeyError: | 52 except KeyError: |
40 pass | 53 pass |
41 else: | 54 else: |
42 template_data['dynamic_style'] = safe(u""" | 55 template_data["dynamic_style"] = safe( |
56 u""" | |
43 html { | 57 html { |
44 background-image: url("%s"); | 58 background-image: url("%s"); |
45 background-size: 15em; | 59 background-size: 15em; |
46 } | 60 } |
47 """ % cgi.escape(background_image, True)) | 61 """ |
48 template_data['event'] = event_data | 62 % cgi.escape(background_image, True) |
63 ) | |
64 template_data["event"] = event_data | |
49 invitees = yield self.host.bridgeCall( | 65 invitees = yield self.host.bridgeCall( |
50 u"eventInviteesList", | 66 u"eventInviteesList", |
51 event_data['invitees_service'], | 67 event_data["invitees_service"], |
52 event_data['invitees_node'], | 68 event_data["invitees_node"], |
53 profile) | 69 profile, |
54 template_data['invitees'] = invitees | 70 ) |
71 template_data["invitees"] = invitees | |
55 invitees_guests = 0 | 72 invitees_guests = 0 |
56 for invitee_data in invitees.itervalues(): | 73 for invitee_data in invitees.itervalues(): |
57 if invitee_data.get('attend', 'no') == 'no': | 74 if invitee_data.get("attend", "no") == "no": |
58 continue | 75 continue |
59 try: | 76 try: |
60 invitees_guests += int(invitee_data.get('guests', 0)) | 77 invitees_guests += int(invitee_data.get("guests", 0)) |
61 except ValueError: | 78 except ValueError: |
62 log.warning(_(u"guests value is not valid: {invitee}").format(invitee=invitee_data)) | 79 log.warning( |
63 template_data['invitees_guests'] = invitees_guests | 80 _(u"guests value is not valid: {invitee}").format(invitee=invitee_data) |
64 template_data['days_left'] = int(math.ceil((event_timestamp - time.time()) / (60 * 60 * 24))) | 81 ) |
82 template_data["invitees_guests"] = invitees_guests | |
83 template_data["days_left"] = int( | |
84 math.ceil((event_timestamp - time.time()) / (60 * 60 * 24)) | |
85 ) | |
65 | 86 |
66 ## Blog ## | 87 ## Blog ## |
67 | 88 |
68 data[u'service'] = jid.JID(event_data[u'blog_service']) | 89 data[u"service"] = jid.JID(event_data[u"blog_service"]) |
69 data[u'node'] = event_data[u'blog_node'] | 90 data[u"node"] = event_data[u"blog_node"] |
70 data[u'allow_commenting'] = u'simple' | 91 data[u"allow_commenting"] = u"simple" |
71 | 92 |
72 # we now need blog items, using blog common page | 93 # we now need blog items, using blog common page |
73 # this will fill the "items" template data | 94 # this will fill the "items" template data |
74 blog_page = self.getPageByName(u'blog_view') | 95 blog_page = self.getPageByName(u"blog_view") |
75 yield blog_page.prepare_render(self, request) | 96 yield blog_page.prepare_render(self, request) |
97 | |
76 | 98 |
77 @defer.inlineCallbacks | 99 @defer.inlineCallbacks |
78 def on_data_post(self, request): | 100 def on_data_post(self, request): |
79 profile = self.getProfile(request) | 101 profile = self.getProfile(request) |
80 if not profile: | 102 if not profile: |
81 log.error(u"got post data without profile") | 103 log.error(u"got post data without profile") |
82 self.pageError(request, C.HTTP_INTERNAL_ERROR) | 104 self.pageError(request, C.HTTP_INTERNAL_ERROR) |
83 type_ = self.getPostedData(request, 'type') | 105 type_ = self.getPostedData(request, "type") |
84 if type_ == 'blog': | 106 if type_ == "blog": |
85 service, node, title, body, lang = self.getPostedData( | 107 service, node, title, body, lang = self.getPostedData( |
86 request, (u'service', u'node', u'title', u'body', u'language')) | 108 request, (u"service", u"node", u"title", u"body", u"language") |
109 ) | |
87 | 110 |
88 if not body.strip(): | 111 if not body.strip(): |
89 self.pageError(request, C.HTTP_BAD_REQUEST) | 112 self.pageError(request, C.HTTP_BAD_REQUEST) |
90 data = {u"content": body} | 113 data = {u"content": body} |
91 if title: | 114 if title: |
92 data[u'title'] = title | 115 data[u"title"] = title |
93 if lang: | 116 if lang: |
94 data[u'language'] = lang | 117 data[u"language"] = lang |
95 try: | 118 try: |
96 comments = bool(self.getPostedData(request, u'comments').strip()) | 119 comments = bool(self.getPostedData(request, u"comments").strip()) |
97 except KeyError: | 120 except KeyError: |
98 pass | 121 pass |
99 else: | 122 else: |
100 if comments: | 123 if comments: |
101 data[u'allow_comments'] = C.BOOL_TRUE | 124 data[u"allow_comments"] = C.BOOL_TRUE |
102 | 125 |
103 try: | 126 try: |
104 yield self.host.bridgeCall(u'mbSend', service, node, data, profile) | 127 yield self.host.bridgeCall(u"mbSend", service, node, data, profile) |
105 except Exception as e: | 128 except Exception as e: |
106 if u"forbidden" in unicode(e): | 129 if u"forbidden" in unicode(e): |
107 self.pageError(request, C.HTTP_UNAUTHORIZED) | 130 self.pageError(request, C.HTTP_UNAUTHORIZED) |
108 else: | 131 else: |
109 raise e | 132 raise e |
110 elif type_ == 'event': | 133 elif type_ == "event": |
111 service, node, event_id, jids, emails = self.getPostedData(request, (u'service', | 134 service, node, event_id, jids, emails = self.getPostedData( |
112 u'node', | 135 request, (u"service", u"node", u"event_id", u"jids", u"emails") |
113 u'event_id', | 136 ) |
114 u'jids', | |
115 u'emails')) | |
116 for invitee_jid_s in jids.split(): | 137 for invitee_jid_s in jids.split(): |
117 try: | 138 try: |
118 invitee_jid = jid.JID(invitee_jid_s) | 139 invitee_jid = jid.JID(invitee_jid_s) |
119 except RuntimeError as e: | 140 except RuntimeError as e: |
120 log.warning(_(u"this is not a valid jid: {jid}").format(jid=invitee_jid_s)) | 141 log.warning( |
142 _(u"this is not a valid jid: {jid}").format(jid=invitee_jid_s) | |
143 ) | |
121 continue | 144 continue |
122 yield self.host.bridgeCall('eventInvite', invitee_jid.userhost(), | 145 yield self.host.bridgeCall( |
123 service, | 146 "eventInvite", invitee_jid.userhost(), service, node, event_id, profile |
124 node, | 147 ) |
125 event_id, | |
126 profile) | |
127 for email_addr in emails.split(): | 148 for email_addr in emails.split(): |
128 if not REG_EMAIL_RE.match(email_addr): | 149 if not REG_EMAIL_RE.match(email_addr): |
129 log.warning(_(u"this is not a valid email address: {email}").format(email=email_addr)) | 150 log.warning( |
151 _(u"this is not a valid email address: {email}").format( | |
152 email=email_addr | |
153 ) | |
154 ) | |
130 continue | 155 continue |
131 yield self.host.bridgeCall('eventInviteByEmail', | 156 yield self.host.bridgeCall( |
132 service, | 157 "eventInviteByEmail", |
133 node, | 158 service, |
134 event_id, | 159 node, |
135 email_addr, | 160 event_id, |
136 {}, | 161 email_addr, |
137 u'', | 162 {}, |
138 u'', | 163 u"", |
139 u'', | 164 u"", |
140 u'', | 165 u"", |
141 u'', | 166 u"", |
142 u'', | 167 u"", |
143 profile) | 168 u"", |
144 | 169 profile, |
170 ) | |
145 | 171 |
146 else: | 172 else: |
147 log.warning(_(u"Unhandled data type: {}").format(type_)) | 173 log.warning(_(u"Unhandled data type: {}").format(type_)) |