cc1  v2.1
CC1 source code docs
 All Classes Namespaces Files Functions Variables Pages
template.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.cm.views.user.template
22 # @alldecoratedby{src.cm.utils.decorators.user_log}
23 #
24 # @author Tomek Sośnicki <tom.sosnicki@gmail.com>
25 #
26 from cm.models.template import Template
27 from cm.utils.exception import CMException
28 from common.states import template_states
29 from cm.utils.decorators import user_log
30 
31 
32 @user_log(log=True)
33 ##
34 #
35 # Returns list of Templates.
36 #
37 # @cmview_user
38 # @response{list(dict)} Template.dict property of each Template
39 #
40 def get_list(caller_id):
41  try:
42  templates = [t.dict for t in Template.objects.filter(state__exact=template_states['active']).order_by('cpu', 'memory')]
43  except:
44  raise CMException("template_list")
45 
46  return templates
47 
48 
49 @user_log(log=True)
50 ##
51 #
52 # @cmview_user
53 # @param_post{template_id,int}
54 #
55 # @response{dict} Template.dict property of the requested Template
56 #
57 def get_by_id(caller_id, template_id):
58  try:
59  t = Template.objects.get(id=template_id)
60  except:
61  raise CMException("template_get")
62 
63  return t.dict
64