def split_entry(entry):
 a = entry.split(':')
 d = None
 if entry.lower().startswith('d'):
  d = True
  a.pop(0)
 if (len(a) == 2):
  a.append(None)
 (t, e, p) = a
 t = t.lower()
 if t.startswith('u'):
  t = 'user'
 elif t.startswith('g'):
  t = 'group'
 elif t.startswith('m'):
  t = 'mask'
 elif t.startswith('o'):
  t = 'other'
 else:
  t = None
 return [d, t, e, p]

def split_entry ( entry ) : a = entry . split ( ':' ) d = None if entry . lower ( ) . startswith ( 'd' ) : d = True a . pop ( 0 ) if ( len ( a ) == 2 ) : a . append ( None ) ( t , e , p ) = a t = t . lower ( ) if t . startswith ( 'u' ) : t = 'user' elif t . startswith ( 'g' ) : t = 'group' elif t . startswith ( 'm' ) : t = 'mask' elif t . startswith ( 'o' ) : t = 'other' else : t = None return [ d , t , e , p ]
splits entry and ensures normalized return .