Hi Kishore,
Thanks for the reply. I've tried adding some additional checks, but unable
to understand where i am making a mistake.
Could you please check and advise.

Input::

define service{
        use generic-service
        service_description CPU Load -
        check_command check_nrpe_cpu
        contact_groups Infrastructure,Platforms
}

Script::

#!/usr/bin/python
import re,sys,os,string
f1=open("input.txt","r")
f2=open("out.txt","w")
reg1=re.compile("^\s+contact_groups")
reg2=re.compile(".*Infrastructure.*")
reg3=re.compile(".*Platforms.*")
reg4=re.compile("^\s+check_command")
reg5=re.compile("^\s+service_description")
lines=f1.readlines()
length=len(lines)
length_4_nl=length - 1
length_4_nnl=length - 2


for i in range(0,length,1):
        j = i - 1
        k = i + 1
        l = i + 2
        cl = lines[i]
        pl = lines[j]

        if i < length_4_nl:
                nl = lines[k]
        if i < length_4_nnl:
                nnl = lines[l]

        if reg5.match(cl):
                if reg5.match(cl) and reg2.match(nl) and reg4.match(nnl):
                        f2.write(cl.rstrip("\n") + " H" + ("\n"))
                if reg5.match(cl) and reg2.match(nnl) and reg4.match(nl):
                        f2.write(cl.rstrip("\n") + " H" + ("\n"))
                if reg5.match(cl) and reg3.match(nl) and reg4.match(nnl):
                        f2.write(cl.rstrip("\n") + " A" + ("\n"))
                if reg5.match(cl) and reg3.match(nnl) and reg4.match(nl):
                        f2.write(cl.rstrip("\n") + " A" + ("\n"))
        else:
                f2.write(cl)

f1.close()
f2.close()


Output::
define service{
        use generic-service
        service_description CPU Load - H
        service_description CPU Load - A
        check_command check_nrpe_cpu
        contact_groups Infrastructure,Platforms
}




I am again getting 2 seperate lines. It should ideally be in a single line
i.e. H A as there are 2 entries in contact_groups lines i.e. Infrastructure
and Platforms.

Thanks
Arvind

On Fri, Apr 17, 2015 at 11:41 AM, Kishor Bhat <kishorb...@gmail.com> wrote:

> On Fri, Apr 17, 2015 at 11:35 AM, arvind ks <arvind.ks1...@gmail.com>
> wrote:
> > Hi Everyone,
> > Could you please help me with the below python script that tries to add
> > characters A H to line starting with "service description" depending on
> > contact groups.
> >
> > *Input file::*
> >
> > define service{
> > use generic-service
> > service_description CPU Load -
> > check_command check_nrpe_cpu
> > contact_groups Infrastructure,Platforms
> > }
> >
> > *Script::*
> >
> > #!/usr/bin/python
> > import re,sys,os,string
> > f1=open("carpet.txt","r")
> > f2=open("carpet1.txt","w")
> > reg1=re.compile("^\s+contact_groups")
> > reg2=re.compile(".*Infrastructure.*")
> > reg3=re.compile(".*Platforms.*")
> > reg4=re.compile("^\s+check_command")
> > reg5=re.compile("^\s+service_description")
> > lines=f1.readlines()
> > length=len(lines)
> > length_4_nl=length - 1
> > length_4_nnl=length - 2
> >
> >
> > for i in range(0,length,1):
> > j = i - 1
> > k = i + 1
> > l = i + 2
> > cl = lines[i]
> > pl = lines[j]
> >
> > if i < length_4_nl:
> > nl = lines[k]
> > if i < length_4_nnl:
> > nnl = lines[l]
> >
> > if reg5.match(cl) and reg2.match(nl):
> > f2.write(cl.rstrip("\n") + " H" + ("\n"))
> > if reg5.match(cl) and reg3.match(nl):
> > f2.write(cl.rstrip("\n") + " A" + ("\n"))
>
> You're writing the line to the file twice.
> Try changing your conditions; something along the lines of 'check for
> "HA", else "H", else "A".' should work.
>
> Regards,
> Kishor
>
> > #else:
> > # f2.write(cl)
> >
> > f1.close()
> > f2.close()
> >
> >
> > *Output::*
> >
> > service_description NRPE Check Load - 1min/5min/15min - H
> > service_description NRPE Check Load - 1min/5min/15min - A
> >
> > *Issue::*
> > I want the output to be
> >
> > service_description NRPE Check Load - 1min/5min/15min - H A
> >
> > i.e. if the i have a tag "H" for Infrastructure and "A" for "Platforms".
> > I am trying to append it to the same line rather than creating a new
> line.
> > But it doesnt work. Please help
> > _______________________________________________
> > BangPypers mailing list
> > BangPypers@python.org
> > https://mail.python.org/mailman/listinfo/bangpypers
> _______________________________________________
> BangPypers mailing list
> BangPypers@python.org
> https://mail.python.org/mailman/listinfo/bangpypers
>
_______________________________________________
BangPypers mailing list
BangPypers@python.org
https://mail.python.org/mailman/listinfo/bangpypers

Reply via email to