1. Python / Говнокод #522

    −349

    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
    def MappingRights(i, s, u, d):
        INS=i.split(":")
        SEL=s.split(":")
        UPD=u.split(":")
        DEL=d.split(":")
    
        id_group=INS[0];
        right=str(int(bool(INS[1].capitalize()))) + \
              str(int(bool(SEL[1].capitalize()))) + \
              str(int(bool(UPD[1].capitalize()))) + \
              str(int(bool(DEL[1].capitalize())))
    
        return id_group, right;

    Парсим массив с правами переданный из JavaScript.
    нужно из "true" получить "1", соответственно из "false" "0"

    Запостил: guest, 10 Февраля 2009

    Комментарии (3) RSS

    • pit:
      думаю примерно так бы делал я:
      import re
      def MappingRights(i, s, u, d):
      
          all=[i,s,u,d]
          re.split(":",all)
          true = "1"
          false = str("0")
      
      дальше не могу доработать :) устал :)
      Ответить
    • Говнокод, хотя бы потому, что переменную с правами обозвали right, а не permission (или производное perm, perms и т.д.)
      Ответить
    • Быдлокод, потому что
      >>> bool('false'.capitalize())
      True


      Словарь здесь хорошо подойдёт.
      def MappingRights(i, s, u, d):
          id_group=i.split(':')[0]
          mapping = { 'true': '1', 'false': '0' }
          right=''.join([mapping[x.split(':')[1]] for x in (i, s, u, d)])
          return id_group, right;
      Ответить

    Добавить комментарий