Changeset 812


Ignore:
Timestamp:
01/13/10 12:35:53 (12 years ago)
Author:
slederer
Message:

Korrekte Syntax bei DirAddress-Elementen, Verbesserungen bei Includes

Location:
vanHelsing/trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • vanHelsing/trunk/src/bcfg.py

    r799 r812  
    2626        self.resource_type = resource_type
    2727        self.filename = filename
    28         self.resources = resource.Resource(level=0)
     28        self.resources = resource.Root(level=0)
    2929        self.resources.name="<root>"
    3030
     
    3333        #print self.resources
    3434       
    35     def write(self):
    36         pass
     35    def write(self, filename=None):
     36        if(filename==None):
     37            filename=self.filename
     38        f=open(filename,"w")
     39        f.write(str(self.getRoot()))
     40        f.close()
    3741
    3842    def getResourceById(self,theid):
     
    6064                line=line[:commentStart].strip()
    6165                #curRes.add_comment(inlinecomment)
     66
     67            if len(line)>0 and line[0]=='@':
     68                includepath=line[1:].strip()
     69                print "include " +includepath
     70                self.parse(self.resources,open(includepath,"r"),0)
    6271
    6372            if rxp_closebrace.match(line):
     
    96105            if item:
    97106                name = item.group(1)
    98                 value = item.group(2)
     107                value = item.group(2).strip()
    99108                #print "item:",name,value
    100109                newRes=resource.Resource(level+1)
     
    120129    pass
    121130
     131def createClient(clientname,clientaddr,catalog,password):
     132    newclient=resource.Client(1,"Client")
     133    newclient.add("Name",clientname)
     134    newclient.add("Address",clientaddr)
     135    #newclient.add("FDPort",fdport)
     136    newclient.add("Catalog",catalog)
     137    newclient.add("Password",password)
     138    return newclient
     139
    122140if __name__ == "__main__":
    123141   
    124142    dirdcfg = DirdConfig("test.conf")
    125143    dirdcfg.read()
    126     #print dirdcfg.getResourceById(174)
    127     jobs=dirdcfg.getResourceByName("Job")
    128     for j in jobs:
    129         print j.getByName("Name")[0].value
    130     d=dirdcfg.getResourceByName("ip")[1]
    131     print d
    132144
    133145    job=resource.Job(1,"Job")
     
    140152    root.add_item(job)
    141153
    142     print root
     154    newclient=createClient("testclient-fd","testclient","MyCatalog","testpassword")
     155    root.add_item(newclient)
     156
     157    dirdcfg.write("test.conf.out")
    143158    sys.exit(0)
  • vanHelsing/trunk/src/resource.py

    r799 r812  
    2222
    2323    def __str__(self):
     24
     25        equalsign_hack=[ 'diraddresses', 'ip', 'ipv4' ]
     26
    2427        s = "\n".join(self.comments)
    2528        indent="  "*self._recurselevel
     
    2932                return indent+self.name+" = "+self.value+"\n";
    3033
    31         s += indent+self.name + " {\n"
     34        if self.name.lower() in equalsign_hack:
     35            s += indent+self.name + " = {\n";
     36        else:
     37            s += indent+self.name + " {\n"
    3238        for d in self.items:
    3339            s += str(d)
     
    7177        return result
    7278                         
     79
     80class Root(Resource):
     81    def __str__(self):
     82        s=""
     83        for d in self.items:
     84            s += str(d)
     85        return s
    7386
    7487class Director(Resource):
Note: See TracChangeset for help on using the changeset viewer.