cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
message.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 # @COPYRIGHT_begin
3 #
4 # Copyright [2010-2014] Institute of Nuclear Physics PAN, Krakow, Poland
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 # http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # @COPYRIGHT_end
19 
20 ##
21 # @package src.clm.utils.message
22 #
23 
24 import logging
25 from common.states import message_levels
26 from clm.models.message import Message
27 
28 log = logging.getLogger('clm')
29 
30 
31 ##
32 #
33 # Creates new Message described by @prm{param}.
34 # It's called during error and info Messages' creation.
35 #
36 # @parameter{user_id,int} id if the Message creator
37 # @parameter{data,dict} Message params
38 # @dictkey{user_id,int} id if the Message creator
39 # @dictkey{level,int} level of the Messages
40 # @dictkey{code} Message's code
41 #
42 def add(user_id, data):
43  try:
44  m = Message.create(data)
45  m.save()
46  except:
47  log.exception('Add message')
48 
49 
50 ##
51 #
52 # Creates error level message from given @{params}.
53 #
54 # @parameter{user_id,int} id of the Message creator
55 # @parameter{code,int} Message code (required while rendering from template)
56 # @parameter{params,dict} @asrequired{add(), optional}
57 #
58 def error(user_id, code, params=None):
59  d = {
60  'user_id': user_id,
61  'level': message_levels['error'],
62  'params': params or {},
63  'code': code
64  }
65  add(user_id, d)
66 
67 
68 ##
69 #
70 # Creates info level message from given \c params.
71 #
72 # @parameter{user_id,int} id of the Message creator
73 # @parameter{code,int} Message code (required while rendering from template)
74 # @parameter{params,dict} @asrequired{add(), optional}
75 #
76 def info(user_id, code, params=None):
77  d = {
78  'user_id': user_id,
79  'level': message_levels['info'],
80  'params': params or {},
81  'code': code
82  }
83  add(user_id, d)
84