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 | |
---|
13 | def get(db, auth_id): |
---|
14 | return db(db.reserves.user_id == auth_id).select() |
---|
15 | |
---|
16 | def getAll(db): |
---|
17 | return db(db.reserves.id > 0).select() |
---|
18 | |
---|
19 | def 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 | |
---|
23 | def 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 | |
---|
30 | def get_assigned(db, lab_id): |
---|
31 | return db(db.reserves.lab_id == lab_id & |
---|
32 | db.reserves.is_assigned == True).select() |
---|
33 | |
---|
34 | def remove_reserve(db, reserve_id): |
---|
35 | deleted = db(db.reserves.id == reserve_id).delete() |
---|
36 | db.commit() |
---|
37 | return deleted |
---|
38 | |
---|
39 | def 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 | |
---|
46 | def 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 | |
---|
68 | def set_is_running_true(db, pc_id): |
---|
69 | db(db.reserves.pc_id == pc_id).update(is_running = True) |
---|
70 | db.commit() |
---|