source: n4d-netfolders/trunk/fuentes/install-files/usr/share/n4d/python-plugins/support/sambaparser.py @ 177

Last change on this file since 177 was 177, checked in by hectorgh, 5 years ago

adding project files

File size: 1.7 KB
Line 
1
2class SambaParser:
3       
4        def __init__(self):
5               
6                self.conf={}
7                self.strip_values=[" ","\t","\n"]
8               
9        #def init
10       
11        def read(self,file):
12               
13                self.conf={}
14                f=open(file)
15                lines=f.readlines()
16                f.close()
17                self.parse_lines(lines,file)
18               
19        #def read
20       
21        def parse_lines(self,lines,path,section=None):
22               
23                count=1
24                if not self.conf.has_key(section):
25                        self.conf[section]={}
26               
27                for line in lines:
28
29                        for strip_value in self.strip_values:
30                                line=line.lstrip(strip_value)
31                       
32                        if line.find("#")!=0 and line.find(";")!=0 and line.find("[")!=0 and  line.find("=")!=-1:
33                               
34                                for strip_value in self.strip_values:
35                                        line=line.rstrip(strip_value)
36                                       
37                                       
38                                tmp=line.split("=")
39                               
40                                try:
41                                        key,value=tmp
42                                except Exception as e:
43                                        if len(tmp)>2:
44                                                key=tmp[0]
45                                                value="=".join(tmp[1:])
46                                        else:
47                                                return(False,"Malformed option in line " + str(count) + ":\n" + line)
48                               
49                                for strip_value in self.strip_values:
50                                        key=key.rstrip(strip_value)
51                                       
52                                       
53                                       
54                                for strip_value in self.strip_values:
55                                        value=value.lstrip(strip_value)
56                                       
57                               
58                                '''
59                                if 'include' in key:
60                                       
61                                        self.conf[section][key]={}
62                                        self.conf[section][key]['value'] = value
63                                        self.conf[section][key]['path'] = path
64                                       
65                                '''
66                                self.conf[section][key]=value
67                               
68                               
69                        if line.find("[")==0:
70                               
71                                for strip_value in self.strip_values:
72                                        line=line.rstrip(strip_value)
73                               
74                               
75                                if line.find("]")==len(line)-1:
76                                        section=line[1:line.find("]")]
77                               
78                                        self.conf[section]={}
79                                        self.conf[section]['x-lliurex-path'] = path
80                                else:
81                                        #print line.find("]"),len(line)
82                                        return (False,"Malformed section in line " + str(count) + ":\n" + line)
83                                       
84                               
85               
86                return True
87                       
88               
89               
90        #def parse_lines
91       
92       
93       
94#class SambaParser
Note: See TracBrowser for help on using the repository browser.