From 84c6411e1f1ff42db07b1d0de26f8d80399857ed Mon Sep 17 00:00:00 2001 From: Brian Moe <brian.moe@ligo.org> Date: Tue, 21 Jul 2009 11:23:45 -0500 Subject: [PATCH] Misc re upload permissions, email alerts, creation logs. Only submitter can upload/log to an event. Email alerts - removed file url. Added event summary, which currently only includes GPS time. Fixed bug where Omega event creation failed to add EventLog entries for event.log and coinc.xml. --- gracedb/alert.py | 26 +++++++++++++++++--------- gracedb/translator.py | 19 +++++++++++++++++-- gracedb/views.py | 4 ++++ 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/gracedb/alert.py b/gracedb/alert.py index d1d4f7939..4137a0eb3 100644 --- a/gracedb/alert.py +++ b/gracedb/alert.py @@ -13,6 +13,13 @@ def issueAlert(event, location): issueXMPPAlert(event, location) issueEmailAlert(event, location) +def indent(nindent, text): + return "\n".join([(nindent*' ')+line for line in text.split('\n')]) + +def prepareSummary(event): + # XXX TBD what exactly this summary is. + return "GPS Time: %s" % event.gpstime + def issueEmailAlert(event, location): if event.group.name == 'Test': fromaddress = settings.ALERT_TEST_EMAIL_FROM @@ -22,14 +29,15 @@ def issueEmailAlert(event, location): toaddress = settings.ALERT_EMAIL_TO subject = "[gracedb] %s event. ID: %s" % (event.get_analysisType_display(), event.graceid()) message = """ - New Event - %s / %s - GRACEID: %s - Info: %s - Data: %s - TWiki: %s - Submitter: %s - Original Data: %s +New Event +%s / %s +GRACEID: %s +Info: %s +Data: %s +TWiki: %s +Submitter: %s +Event Summary: +%s """ message %= (event.group.name, event.get_analysisType_display(), @@ -38,7 +46,7 @@ def issueEmailAlert(event, location): event.weburl(), event.wikiurl(), event.submitter.name, - location) + indent(3, prepareSummary(event))) send_mail(subject, message, fromaddress, toaddress) def issueXMPPAlert(event, location): diff --git a/gracedb/translator.py b/gracedb/translator.py index ec87bcbab..f96166dde 100644 --- a/gracedb/translator.py +++ b/gracedb/translator.py @@ -53,7 +53,7 @@ def handle_uploaded_data(event, datafilename, comment="Coinc Table Created") log.save() - # Exctract relevant data from xmldoc. + # Extract relevant data from xmldoc. coinc_table = glue.ligolw.table.getTablesByName( xmldoc, glue.ligolw.lsctables.CoincInspiralTable.tableName) @@ -79,7 +79,22 @@ def handle_uploaded_data(event, datafilename, output_dir = os.path.dirname(datafilename) write_output_files(output_dir, xmldoc, log_data) - # Exctract relevant data from xmldoc. + # Create EventLog entries about these files. + private_data_url = os.path.join(event.weburl(), 'private') + + log = EventLog(event=event, + filename=log_filename, + issuer=event.submitter, + comment="Log File Created" ) + log.save() + + log = EventLog(event=event, + filename=coinc_table_filename, + issuer=event.submitter, + comment="Coinc Table Created") + log.save() + + # Extract relevant data from xmldoc. coinc_table = glue.ligolw.table.getTablesByName( xmldoc, glue.ligolw.lsctables.MultiBurstTable.tableName) diff --git a/gracedb/views.py b/gracedb/views.py index 44f99cea4..e34c5b554 100644 --- a/gracedb/views.py +++ b/gracedb/views.py @@ -120,6 +120,8 @@ def upload(request): msg = "ERROR: missing arg(s)" elif not event: msg = "ERROR: Event '%s' does not exist" % graceid + elif event.submitter != request.ligouser: + msg = "ERROR: Only submitter can upload files" else: #event issuer comment log = EventLog(event=event, @@ -158,6 +160,8 @@ def log(request): msg = "ERROR: missing arg(s)" elif not event: msg = "ERROR: Event '%s' does not exist" % graceid + elif event.submitter != request.ligouser: + msg = "ERROR: Only submitter can add log messages" else: #event issuer comment log = EventLog(event=event, issuer=request.ligouser, comment=message) -- GitLab