Skip to content

Commit

Permalink
update alarmtype events and fix renamig issue for alarm-events in tri…
Browse files Browse the repository at this point in the history
…gger definition

- table definition for monitorlayout updated
- database update script added
- add option for image cropping of input alarm image
  • Loading branch information
seiferta committed Aug 5, 2016
1 parent f26e64d commit e13ed73
Show file tree
Hide file tree
Showing 15 changed files with 882 additions and 755 deletions.
35 changes: 35 additions & 0 deletions alembic/fcd72b56ad35_1_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""
1.4
Revision ID: fcd72b56ad35
Revises: fcd72b56ad35
Create Date: 2016-07-30 21:01:23.824000
"""

# revision identifiers, used by Alembic.
revision = 'fcd72b56ad35'
down_revision = '20c921506336'

from alembic import op
import sqlalchemy as sa


def upgrade():
op.create_table('monitorlayouts_tmp', sa.Column('id', sa.INTEGER(), nullable=False),
sa.Column('mid', sa.INTEGER(), nullable=False),
sa.Column('trigger', sa.TEXT()),
sa.Column('layout', sa.TEXT()),
sa.Column('theme', sa.VARCHAR(30)),
sa.Column('mintime', sa.INTEGER()),
sa.Column('maxtime', sa.INTEGER()),
sa.Column('nextid', sa.INTEGER()),
sa.PrimaryKeyConstraint('id'),
sa.ForeignKeyConstraint(['mid'], ['monitors.id']))
op.execute('insert into monitorlayouts_tmp select id, mid, monitorlayouts.trigger, layout, theme, mintime, maxtime, nextid from monitorlayouts;')
op.drop_table('monitorlayouts')
op.rename_table('monitorlayouts_tmp', 'monitorlayouts')


def downgrade():
pass
2 changes: 1 addition & 1 deletion bin/build_doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def buildDocumentation():
helptext = 'usage: build_doc.py <output format> <type of documentation>' \
'\n - html: for html output' \
'\n - pdf: for pdf output' \
'\n\n -all: complete documentation' \
'\n\n - all: complete documentation' \
'\n - dev: only developer documentation' \
'\n - user: only user documentation'
if len(sys.argv) != 3:
Expand Down
2 changes: 1 addition & 1 deletion emonitor/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class DEFAULT_CONFIG(object):
DEFAULTZOOM = 12 # used for map-data
LANGUAGES = {'de': 'Deutsch'}
ALEMBIC = {'script_location': 'alembic'} # alembic base path
DB_VERSION = '20c921506336' # version of database
DB_VERSION = 'fcd72b56ad35' # version of database

# monitorserver
MONITORSERVER_ANY = "0.0.0.0"
Expand Down
2 changes: 0 additions & 2 deletions emonitor/extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,3 @@ def get_query(self, *entities, **kwargs):
# communication
from emonitor.communication import Communication
communication = Communication()


18 changes: 16 additions & 2 deletions emonitor/modules/alarms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@ def __init__(self, app):
cls = imp.load_source('emonitor.modules.alarms.inc', '{}/emonitor/modules/alarms/inc/{}'.format(app.config.get('PROJECT_ROOT'), f))
checker = getattr(cls, cls.__all__[0])()
if isinstance(checker, AlarmFaxChecker) and checker.getId() != 'Dummy':
events.addEvent('alarm_added.{}'.format(checker.getId()), handlers=[], parameters=['out.alarmid'])
events.addEvent('alarm_changestate.{}'.format(checker.getId()), handlers=[], parameters=['out.alarmid', 'out.state'])
for at in AlarmType.getAlarmTypes():
if at.interpreter == f:
events.addEvent('alarm_added.{}'.format(at.name), handlers=[], parameters=['out.alarmid'])
events.addEvent('alarm_changestate.{}'.format(at.name), handlers=[], parameters=['out.alarmid', 'out.state'])

events.addEvent('alarm_added', handlers=[], parameters=['out.alarmid']) # for all checkers
events.addEvent('alarm_changestate', handlers=[], parameters=['out.alarmid', 'out.state']) # for all checkers
Expand All @@ -63,10 +65,12 @@ def __init__(self, app):
signal.addSignal('alarm', 'changestate')
signal.addSignal('alarm', 'added')
signal.addSignal('alarm', 'updated')
signal.addSignal('alarm', 'error')
signal.connect('alarm', 'changestate', frontendAlarmHandler.handleAlarmChanges)
signal.connect('alarm', 'added', frontendAlarmHandler.handleAlarmChanges)
signal.connect('alarm', 'updated', frontendAlarmHandler.handleAlarmChanges)
signal.connect('alarm', 'deleted', frontendAlarmHandler.handleAlarmChanges)
signal.connect('alarm', 'error', frontendAlarmHandler.handleAlarmErrors)

signal.connect('alarm', 'testupload_start', adminAlarmHandler.handleAlarmTestUpload)

Expand Down Expand Up @@ -231,6 +235,16 @@ def handleAlarmChanges(sender, **extra):
"""
SocketHandler.send_message(sender, **extra)

@staticmethod
def handleAlarmErrors(sender, **extra):
"""
Implementation of error in alarms
:param sender: event sender
:param extra: extra parameters for event
"""
SocketHandler.send_message(sender, **extra)


class adminAlarmHandler(SocketHandler):
"""
Expand Down
Loading

0 comments on commit e13ed73

Please sign in to comment.