@@ -60,12 +60,25 @@ def html_escape(text):
60
60
from openerp .addons .base .module .module import MyWriter
61
61
62
62
from .exceptions import MigrationError
63
- from .misc import has_enterprise , version_gte
63
+ from .misc import has_enterprise , split_osenv , version_gte
64
64
from .orm import env , get_admin_channel , guess_admin_id
65
65
66
66
migration_reports = {}
67
67
_logger = logging .getLogger (__name__ )
68
68
69
+
70
+ _ENV_AM = set (split_osenv ("UPG_ANNOUNCE_MEDIA" , default = "discuss" ))
71
+ ANNOUNCE_MEDIA = _ENV_AM & {"" , "discuss" , "logger" }
72
+ if _ENV_AM - ANNOUNCE_MEDIA :
73
+ raise ValueError (
74
+ "Invalid value for the environment variable `UPG_ANNOUNCE_MEDIA`: {!r}. "
75
+ "Authorized values are a combination of 'discuss', 'logger', or an empty string." .format (
76
+ os .getenv ("UPG_ANNOUNCE_MEDIA" )
77
+ )
78
+ )
79
+ ANNOUNCE_MEDIA -= {"" }
80
+
81
+
69
82
ODOO_SHOWCASE_VIDEOS = {
70
83
"18.0" : "gbE3azm_Io0" ,
71
84
"saas~17.4" : "8F4-uDwom8A" ,
@@ -193,6 +206,8 @@ def announce(
193
206
footer = _DEFAULT_FOOTER ,
194
207
pluses_for_enterprise = None ,
195
208
):
209
+ if not ANNOUNCE_MEDIA :
210
+ return
196
211
if pluses_for_enterprise is None :
197
212
# default value depend on format and version
198
213
major = version [0 ]
@@ -203,6 +218,18 @@ def announce(
203
218
replacement = r"\1- \2\n" if has_enterprise () else ""
204
219
msg = re .sub (plus_re , replacement , msg , flags = re .M )
205
220
221
+ if format == "rst" :
222
+ msg = rst2html (msg )
223
+ elif format == "md" :
224
+ msg = md2html (msg )
225
+
226
+ message = ((header or "" ) + msg + (footer or "" )).format (version = version )
227
+ if "logger" in ANNOUNCE_MEDIA :
228
+ _logger .info (message )
229
+
230
+ if "discuss" not in ANNOUNCE_MEDIA :
231
+ return
232
+
206
233
# do not notify early, in case the migration fails halfway through
207
234
ctx = {"mail_notify_force_send" : False , "mail_notify_author" : True }
208
235
@@ -240,14 +267,6 @@ def ref(xid):
240
267
# Cannot find record, post the message on the wall of the admin
241
268
pass
242
269
243
- if format == "rst" :
244
- msg = rst2html (msg )
245
- elif format == "md" :
246
- msg = md2html (msg )
247
-
248
- message = ((header or "" ) + msg + (footer or "" )).format (version = version )
249
- _logger .debug (message )
250
-
251
270
type_field = ["type" , "message_type" ][version_gte ("9.0" )]
252
271
# From 12.0, system notificatications are sent by email,
253
272
# and do not increment the upper right notification counter.
0 commit comments