llama.files.slack package

FileHandler classes that log file uploads to Slack.

Slack API documentation: https://api.slack.com/methods/chat.postMessage https://api.slack.com/messaging/composing/formatting#

(Link to permissions in top right of the above pages.)

class llama.files.slack.RctSlkLmaLVAlertJSON

Bases: llama.files.slack.SlackReceiptLlama

digraph "llama.files.slack.RctSlkLmaLVAlertJSON" { charset="utf-8" splines=ortho bgcolor=none margin=0 rankdir=LR "llama.files.lvalert_json.LVAlertJSON" [label=<{{<B>LVAlertJSON</B>|<I>lvalert.json</I>|EventTriggeredFileHandler<BR/>JSONFile}}>, shape="record", style=filled, target=_top, URL="/llama.files.lvalert_json.html#llama.files.lvalert_json.LVAlertJSON", fillcolor="#cccccc"]; "llama.files.skymap_info.SkymapInfo" [label=<{{<B>SkymapInfo</B>|<I>skymap_info.json</I>|EventTriggeredFileHandler<BR/>JSONFile}}>, shape="record", style=filled, target=_top, URL="/llama.files.skymap_info.html#llama.files.skymap_info.SkymapInfo", fillcolor="#cccccc"]; "llama.files.slack.RctSlkLmaLVAlertJSON" [label=<{{<B>RctSlkLmaLVAlertJSON</B>|<I>rct_slk_lma_lvalert.json.json</I>|SlackReceiptLlama}}>, shape="record", style=filled, target=_top, URL="/llama.files.slack.html#llama.files.slack.RctSlkLmaLVAlertJSON", fillcolor="#cccccc"]; "llama.files.lvalert_json.LVAlertJSON" -> "llama.files.slack.RctSlkLmaLVAlertJSON" [arrowtail="none", color="red", ]; "llama.files.skymap_info.SkymapInfo" -> "llama.files.slack.RctSlkLmaLVAlertJSON" [arrowtail="none", color="red", ]; }

Required input files for llama.files.slack.RctSlkLmaLVAlertJSON (located on the far right of the graph). For a typical trigger, the leftmost files will be generated as triggers become available. They will be used as input for files to their right, eventually allowing llama.files.slack.RctSlkLmaLVAlertJSON to be generated.

DEPENDENCIES = (<class 'llama.files.lvalert_json.LVAlertJSON'>, <class 'llama.files.skymap_info.SkymapInfo'>)
FILENAME = 'rct_slk_lma_lvalert.json.json'
FILENAME_FMT = 'rct_slk_lma_{}.json'
MANIFEST_TYPES = (<class 'llama.files.slack.RctSlkLmaLVAlertJSON'>,)
UPLOAD

alias of llama.files.lvalert_json.LVAlertJSON

UR_DEPENDENCIES = (<class 'llama.files.lvalert_json.LVAlertJSON'>, <class 'llama.files.skymap_info.SkymapInfo'>)
UR_DEPENDENCY_TREE = frozenset({<class 'llama.files.lvalert_json.LVAlertJSON'>})
class_vetoes = ()
class llama.files.slack.RctSlkLmaLvcGcnXml

Bases: llama.files.slack.SlackReceiptLlama

digraph "llama.files.slack.RctSlkLmaLvcGcnXml" { charset="utf-8" splines=ortho bgcolor=none margin=0 rankdir=LR "llama.files.lvc_gcn_xml.LvcGcnXml" [label=<{{<B>LvcGcnXml</B>|<I>lvc_gcn.xml</I>|EventTriggeredFileHandler}}>, shape="record", style=filled, target=_top, URL="/llama.files.lvc_gcn_xml.html#llama.files.lvc_gcn_xml.LvcGcnXml", fillcolor="#cccccc"]; "llama.files.skymap_info.SkymapInfo" [label=<{{<B>SkymapInfo</B>|<I>skymap_info.json</I>|EventTriggeredFileHandler<BR/>JSONFile}}>, shape="record", style=filled, target=_top, URL="/llama.files.skymap_info.html#llama.files.skymap_info.SkymapInfo", fillcolor="#cccccc"]; "llama.files.slack.RctSlkLmaLvcGcnXml" [label=<{{<B>RctSlkLmaLvcGcnXml</B>|<I>rct_slk_lma_lvc_gcn.xml.json</I>|SlackReceiptLlama}}>, shape="record", style=filled, target=_top, URL="/llama.files.slack.html#llama.files.slack.RctSlkLmaLvcGcnXml", fillcolor="#cccccc"]; "llama.files.lvc_gcn_xml.LvcGcnXml" -> "llama.files.slack.RctSlkLmaLvcGcnXml" [arrowtail="none", color="red", ]; "llama.files.skymap_info.SkymapInfo" -> "llama.files.slack.RctSlkLmaLvcGcnXml" [arrowtail="none", color="red", ]; }

Required input files for llama.files.slack.RctSlkLmaLvcGcnXml (located on the far right of the graph). For a typical trigger, the leftmost files will be generated as triggers become available. They will be used as input for files to their right, eventually allowing llama.files.slack.RctSlkLmaLvcGcnXml to be generated.

DEPENDENCIES = (<class 'llama.files.lvc_gcn_xml.LvcGcnXml'>, <class 'llama.files.skymap_info.SkymapInfo'>)
FILENAME = 'rct_slk_lma_lvc_gcn.xml.json'
FILENAME_FMT = 'rct_slk_lma_{}.json'
MANIFEST_TYPES = (<class 'llama.files.slack.RctSlkLmaLvcGcnXml'>,)
UPLOAD

alias of llama.files.lvc_gcn_xml.LvcGcnXml

UR_DEPENDENCIES = (<class 'llama.files.lvc_gcn_xml.LvcGcnXml'>, <class 'llama.files.skymap_info.SkymapInfo'>)
UR_DEPENDENCY_TREE = frozenset({<class 'llama.files.lvc_gcn_xml.LvcGcnXml'>})
class_vetoes = ()
class llama.files.slack.RctSlkLmaLvcRetractionXml

Bases: llama.files.slack.SlackReceiptLlama

digraph "llama.files.slack.RctSlkLmaLvcRetractionXml" { charset="utf-8" splines=ortho bgcolor=none margin=0 rankdir=LR "llama.files.lvc_gcn_xml.LvcRetractionXml" [label=<{{<B>LvcRetractionXml</B>|<I>lvc_gcn_retraction.xml</I>|LvcGcnXml}}>, shape="record", style=filled, target=_top, URL="/llama.files.lvc_gcn_xml.html#llama.files.lvc_gcn_xml.LvcRetractionXml", fillcolor="#cccccc"]; "llama.files.skymap_info.SkymapInfo" [label=<{{<B>SkymapInfo</B>|<I>skymap_info.json</I>|EventTriggeredFileHandler<BR/>JSONFile}}>, shape="record", style=filled, target=_top, URL="/llama.files.skymap_info.html#llama.files.skymap_info.SkymapInfo", fillcolor="#cccccc"]; "llama.files.slack.RctSlkLmaLvcRetractionXml" [label=<{{<B>RctSlkLmaLvcRetractionXml</B>|<I>rct_slk_lma_lvc_gcn_retraction.xml.json</I>|SlackReceiptLlama}}>, shape="record", style=filled, target=_top, URL="/llama.files.slack.html#llama.files.slack.RctSlkLmaLvcRetractionXml", fillcolor="#cccccc"]; "llama.files.lvc_gcn_xml.LvcRetractionXml" -> "llama.files.slack.RctSlkLmaLvcRetractionXml" [arrowtail="none", color="red", ]; "llama.files.skymap_info.SkymapInfo" -> "llama.files.slack.RctSlkLmaLvcRetractionXml" [arrowtail="none", color="red", ]; }

Required input files for llama.files.slack.RctSlkLmaLvcRetractionXml (located on the far right of the graph). For a typical trigger, the leftmost files will be generated as triggers become available. They will be used as input for files to their right, eventually allowing llama.files.slack.RctSlkLmaLvcRetractionXml to be generated.

DEPENDENCIES = (<class 'llama.files.lvc_gcn_xml.LvcRetractionXml'>, <class 'llama.files.skymap_info.SkymapInfo'>)
FILENAME = 'rct_slk_lma_lvc_gcn_retraction.xml.json'
FILENAME_FMT = 'rct_slk_lma_{}.json'
MANIFEST_TYPES = (<class 'llama.files.slack.RctSlkLmaLvcRetractionXml'>,)
UPLOAD

alias of llama.files.lvc_gcn_xml.LvcRetractionXml

UR_DEPENDENCIES = (<class 'llama.files.lvc_gcn_xml.LvcRetractionXml'>, <class 'llama.files.skymap_info.SkymapInfo'>)
UR_DEPENDENCY_TREE = frozenset({<class 'llama.files.lvc_gcn_xml.LvcRetractionXml'>})
class_vetoes = ()
class llama.files.slack.RctSlkLmaSkymapInfo

Bases: llama.files.slack.SlackReceiptLlama

digraph "llama.files.slack.RctSlkLmaSkymapInfo" { charset="utf-8" splines=ortho bgcolor=none margin=0 rankdir=LR "llama.files.skymap_info.SkymapInfo" [label=<{{<B>SkymapInfo</B>|<I>skymap_info.json</I>|EventTriggeredFileHandler<BR/>JSONFile}}>, shape="record", style=filled, target=_top, URL="/llama.files.skymap_info.html#llama.files.skymap_info.SkymapInfo", fillcolor="#cccccc"]; "llama.files.slack.RctSlkLmaSkymapInfo" [label=<{{<B>RctSlkLmaSkymapInfo</B>|<I>rct_slk_lma_skymap_info.json.json</I>|SlackReceiptLlama}}>, shape="record", style=filled, target=_top, URL="/llama.files.slack.html#llama.files.slack.RctSlkLmaSkymapInfo", fillcolor="#cccccc"]; "llama.files.skymap_info.SkymapInfo" -> "llama.files.slack.RctSlkLmaSkymapInfo" [arrowtail="none", color="red", ]; }

Required input files for llama.files.slack.RctSlkLmaSkymapInfo (located on the far right of the graph). For a typical trigger, the leftmost files will be generated as triggers become available. They will be used as input for files to their right, eventually allowing llama.files.slack.RctSlkLmaSkymapInfo to be generated.

DEPENDENCIES = (<class 'llama.files.skymap_info.SkymapInfo'>,)
FILENAME = 'rct_slk_lma_skymap_info.json.json'
FILENAME_FMT = 'rct_slk_lma_{}.json'
MANIFEST_TYPES = (<class 'llama.files.slack.RctSlkLmaSkymapInfo'>,)
UPLOAD

alias of llama.files.skymap_info.SkymapInfo

UR_DEPENDENCIES = (<class 'llama.files.skymap_info.SkymapInfo'>,)
UR_DEPENDENCY_TREE = frozenset({<class 'llama.files.skymap_info.SkymapInfo'>})
class_vetoes = ()
class llama.files.slack.SlackReceipt

Bases: llama.com.utils.UploadReceipt, llama.filehandler.JSONFile

A log file created after an upload attempt to Slack. Use these filehandlers to upload files to slack. Additional vetoes that turn a specific upload receipt off are specified in VETOES.

ORGANIZATION = None
property comment

An explanation of this upload FileHandler to be printed to team slack.

classmethod set_class_attributes(subclass)

See UploadReceipt.set_class_attributes; this method first sets the FILENAME_FMT and CLASSNAME_FMT attributes based on subclass.ORGANIZATION. Also adds SkymapInfo to subclass.DEPENDENCIES if it is not already a member and sets class_vetoes to the ones defined for this organization.

property upload_title

Print a title for this upload.

class llama.files.slack.SlackReceiptIcecube

Bases: llama.files.slack.SlackReceipt

A SlackReceipt for organization IceCube.

CLASSNAME_FMT = 'RctSlkI3{}'
ORGANIZATION = 'IceCube'
class llama.files.slack.SlackReceiptLlama

Bases: llama.files.slack.SlackReceipt

A SlackReceipt for organization LLAMA.

CLASSNAME_FMT = 'RctSlkLma{}'
ORGANIZATION = 'LLAMA'
llama.files.slack.icecube_upload_flag_false(eventdir)

Return whether a trigger directory has its “ICECUBE_UPLOAD” flag set to “false”.