def _serve_admin(self, url, query, user, password): global manager auth = manager.login( user=user, password=password) # disabled = u'disabled' if not is_admin else None disabled = auth.privileges > 0 and u'disabled' or '' send_buf = [] send_buf.append(server_header) for mount in manager.context: # only include if there is a source on there if manager.context[mount].sources: send_buf.append(mount_header.format(mount=mount)) for i, source in enumerate( manager.context[mount].sources): metadata = manager.context[ mount].saved_metadata.get(source, u'') send_buf.append(client_html.format( user=source.user, meta=metadata, agent=source.useragent, stream_name=source.stream_name, mount=mount, num=i, disabled=disabled)) send_buf.append('</table>\n') send_buf.append('</body>\n</html>') send_buf = u''.join(send_buf) send_buf = send_buf.encode('utf-8', 'replace') try: self.send_response(200) self.send_header("Content-Type", "text/html") self.send_header("Content-Length", len(send_buf)) self.end_headers() self.wfile.write(send_buf) except IOError as err: logger.exception("Error in request handler")
def test_login(self): # Pass certain parameters to see if the result matches expectation self.assertEqual(login(parameters), expected_result)
def login(self, user=None, password=None): return manager.login(user, password)