def update(self):
self.frontends = []<EOL>self.backends = []<EOL>self.listeners = []<EOL>csv = [ l for l in self._fetch().strip('<STR_LIT>').split('<STR_LIT:\n>') if l ]<EOL>if self.failed:<EOL><INDENT>return<EOL><DEDENT>self.fields = [ f for f in csv.pop(<NUM_LIT:0>).split('<STR_LIT:U+002C>') if f ]<EOL>for line in csv:<EOL><INDENT>service = HAProxyService(self.fields, line.split('<STR_LIT:U+002C>'), self.name)<EOL>if service.svname == '<STR_LIT>':<EOL><INDENT>self.frontends.append(service)<EOL><DEDENT>elif service.svname == '<STR_LIT>':<EOL><INDENT>service.listeners = []<EOL>self.backends.append(service)<EOL><DEDENT>else:<EOL><INDENT>self.listeners.append(service)<EOL><DEDENT><DEDENT>for listener in self.listeners:<EOL><INDENT>for backend in self.backends:<EOL><INDENT>if backend.iid == listener.iid:<EOL><INDENT>backend.listeners.append(listener)<EOL><DEDENT><DEDENT><DEDENT>self.last_update = datetime.utcnow()<EOL>
Fetch and parse stats