source: lmd/trunk/fuentes/lmd-server.install/usr/share/n4d/python-plugins/LmdClientManager.py @ 392

Last change on this file since 392 was 392, checked in by hectorgh, 4 years ago

adding project files

File size: 1.4 KB
Line 
1import json
2import os
3
4
5class LmdClientManager:
6       
7               
8        def __init__(self):
9                self.clientpath="/etc/ltsp/bootopts/clients/"
10               
11                pass
12        #def __init__
13       
14        def getClientList(self):
15                '''
16                Reads the file list of clients from /etc/ltsp/bootopts/clients
17                Returna a JSON List.
18                '''
19               
20                clientlist=[]
21               
22                for i in os.listdir(self.clientpath):
23                        if '.json' in i:
24                                clientlist.append(str(i))
25                               
26                return json.dumps(clientlist)
27                       
28       
29
30        def getClient(self, client):
31                '''
32                Returns the metadata from certain client
33                '''
34                try:
35                        json_data=open(self.clientpath+client)
36                        data = json.load(json_data)
37                        json_data.close()
38                        return json.dumps(data)
39                        #return data;
40                except Exception as e:
41                        return str(e);
42
43               
44               
45        def setClient(self, client, data):
46                '''
47                Saves metadata from *data to client
48                data is unicoded string
49                client is a mac
50                '''
51               
52                client=client.replace(":", "")
53                               
54                path_to_write = os.path.join(self.clientpath,client + ".json")
55                f = open(path_to_write,'w')
56                f.writelines(data)
57                f.close()
58               
59       
60        def deleteClient(self, client):
61                '''
62                N4d Method to delete a client
63                '''
64                import shutil;
65               
66                try:
67                        client=client.replace(":", "")
68                        json_file = os.path.join("/etc/ltsp/bootopts/clients",client + ".json")
69                                               
70                        # Remove .json file
71                        if (os.path.isfile(json_file)):
72                                os.remove(json_file);
73                       
74                        return {"status":True, "msg":"Client Removed"}
75                except Exception as e:
76                        return {"status":False, "msg":str(e)}
77               
78               
Note: See TracBrowser for help on using the repository browser.