source: OpenRLabs-Git/web2py/applications/rlabs/modules/ados/adoDB_reserves.py

main
Last change on this file was 8406aaa, checked in by David Fuertes <dfuertes@…>, 4 years ago

arreglado gitignore

  • Property mode set to 100644
File size: 2.7 KB
Line 
1# -*- coding: utf-8 -*-
2#################################################################################
3# @file    adoDB_reserves.py
4# @brief   Module that manage database info about available services (rdp, vnc, ...etc.)   
5# @warning None
6# @note Use: None     
7# @license GNU GPLv3+
8# @author  David Fuertes, EUPT, University of Zaragoza.
9# @version 1.1.0 - First version
10# @date    2019-15-11
11#################################################################################
12
13def get(db, auth_id):
14    return db(db.reserves.user_id == auth_id).select()
15
16def getAll(db):
17    return db(db.reserves.id > 0).select()
18   
19def get_by_lab_PreR(db, prereserve_id, lab_id):
20    return db( (db.reserves.lab_id == lab_id) &
21               (db.reserves.prereserve_id == prereserve_id) ).select()
22
23def get_available_hosts(db, lab_id, image_id):
24    return  db( (db.reserves.lab_id == lab_id) &
25                (db.reserves.image_id == image_id) &
26                (db.reserves.is_running == True) &
27                (db.reserves.is_assigned == False) ).select()
28
29
30def get_assigned(db, lab_id):
31    return db(db.reserves.lab_id == lab_id &
32              db.reserves.is_assigned == True).select()
33
34def remove_reserve(db, reserve_id):
35    deleted = db(db.reserves.id == reserve_id).delete()
36    db.commit()
37    return  deleted
38
39def remove_by_pc_id(db, pc_id):
40    deleted = db(db.reserves.pc_id == pc_id).delete()
41    db.commit()
42    return  deleted
43
44
45   
46def insert(my_context):   
47    db = my_context.db
48    reserve_id = db.reserves.insert(user_id = int(my_context.user_id),
49                                     ou_id = str(my_context.ou_id),
50                                     lab_id = str(my_context.lab_id),
51                                     pc_id = str(my_context.id),
52                                     pc_name = str(my_context.name),
53                                     image_id = str(my_context.image_id),
54                                     expiration_time = my_context.expiration_time,
55                                     ip = str(my_context.ip),
56                                     mac = str(my_context.mac),
57                                     protocol = str(my_context.protocol),
58                                     port = str(my_context.port),
59                                     reserved_init_time = my_context.reserved_init_time,
60                                     assigned_init_time = my_context.assigned_init_time,
61                                     is_assigned = my_context.is_assigned,
62                                     prereserve_id = my_context.prereserve_id
63                                    )
64    db.commit()   
65    return reserve_id
66
67
68def set_is_running_true(db, pc_id):
69    db(db.reserves.pc_id == pc_id).update(is_running = True)
70    db.commit()
Note: See TracBrowser for help on using the repository browser.