1. Список говнокодов пользователя voiper

    Всего: 2

  2. Python / Говнокод #12779

    −103

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    def show_vlans(self):
            """Magic people/Voodoo people. All code in this func should be refactored/rewrited."""
            self.read_very_eager()#flush
            output=self.wr_cmd_sh('sho vlan')
            time.sleep(.1)
            vlans={}
            vlan=''
            for string in output:
                if re.search(r"VID[\s]*:",string):
                   vlan=string[re.search(r"[\d]+",string).start():re.search(r"[\d]+",string).end()]
                   vlans[vlan]={'Member':[], 'Tagged':[], 'Untagged':[]}
                if re.search(r"Member Port[s]*[\s]*:[\s]*[\d]+[[-]*[\d]*]*",string):
                   if '-' in string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()]:
                      for port in xrange(int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[0]),int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[1])+1):
                          vlans[vlan]['Member'].append(port)
                   else:
                        vlans[vlan]['Member'].append(string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()])
                if re.search(r"Current Tagged Port[s]*[\s]*:[\s]*[\d]+[[-]*[\d]*]*",string):
                   if '-' in string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()]:
                      for port in xrange(int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[0]),int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[1])+1):
                          vlans[vlan]['Tagged'].append(port)
                   else:
                        vlans[vlan]['Tagged'].append(string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()])
                if re.search(r"Current Untagged Port[s]*[\s]*:[\s]*[\d]+[[-]*[\d]*]*",string):
                   if '-' in string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()]:
                      for port in xrange(int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[0]),int(string[re.search(r"[\d]+[[-]*[\d]+]*",string).start():re.search(r"[\d]+[[-]*[\d]+]*",string).end()].split('-')[1])+1):
                          vlans[vlan]['Untagged'].append(port)
                   else:
                        vlans[vlan]['Untagged'].append(string[re.search(r"[\d]+[[-]*[\d]*]*",string).start():re.search(r"[\d]+[[-]*[\d]*]*",string).end()])
            if vlans=={}:
               vlans=self.show_vlans()
    
            #####
            return vlans

    Императивненько) регекспотренировка при отсутствии group() да и вообще...

    voiper, 21 Марта 2013

    Комментарии (0)
  3. Python / Говнокод #12778

    −103

    1. 1
    city_network_ip_adresses=reduce(lambda x,y: x+y,(map(lambda d,t: ['10.253.%s.%s' % (t,d) for d in xrange(1,255)],xrange(0),xrange(1,256))))

    Делать два for'а было ну совсем западло, обязательно же память засрать)

    voiper, 21 Марта 2013

    Комментарии (9)