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_))