Exemple #1
0
def main():
    network = Network()
    httpThread = HttpServer(network)
    webSocketThread = WebSocketServer(network)

    webSocketThread.start()
    httpThread.start()
Exemple #2
0
class Main:
    def __init__(self):
        self.Logs = Logs(self)
        self.Configs = Configs(self)
        self.DataUnits = DataUnits(self)
        self.HttpClient = HttpClient(self)
        self.HttpServer = HttpServer(self)
        self.Manipulator = Manipulator(self)

    def start(self):
        self.HttpServer.start()
Exemple #3
0
class Main:
	def __init__(self):
		self.Logs = Logs(self)
		self.Configs = Configs(self)
		self.DataUnits = DataUnits(self)
		self.HttpClient = HttpClient(self)
		self.HttpServer = HttpServer(self)
		self.Manipulator = Manipulator(self)

	def start(self):
		self.HttpServer.start()
Exemple #4
0
def main():
    #Setup
    server = HttpServer("192.168.87.110", debug=False)
    drive = DifferentialDrive(2, 0, 4, 16)

    def mainLoop():
        while True:
            x, y = server.getJoystick()
            drive.setInput(x, y)
            drive.Update()
            yield int(10)

    loop = asyncio.get_event_loop()
    loop.create_task(mainLoop())
    server.start()
Exemple #5
0
from HttpServer import HttpServer
from HttpProxyServer import HttpProxyServer
from HttpProxyServer import ProxyAnalyzer
import atexit

if __name__ == "__main__":
    httpServer = HttpServer(8080)
    analyzer = ProxyAnalyzer(8091)
    proxy_server = HttpProxyServer(8090, analyzer)
    try:
        analyzer.setDaemon(True)
        analyzer.start()
        atexit.register(analyzer.stop)

        proxy_server.setDaemon(True)
        proxy_server.start()

        httpServer.setDaemon(True)
        httpServer.start()
        atexit.register(httpServer.stop)
        atexit.register(proxy_server.stop)
        httpServer.join()
        proxy_server.join()
        analyzer.join()
    except KeyboardInterrupt:
        pass
    finally:
        exit(0)
Exemple #6
0
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.setWindowTitle('Our api')

        self.httpd = HttpServer()
        self.httpd.request_text_change.connect(self.add_to_request)
        self.httpd.client_text_change.connect(self.add_to_client)
        self.httpd.response_text_change.connect(self.add_to_response)
        self.httpd.start()

        self.ui.saveSession.clicked.connect(self.save_session)
        self.ui.resetSession.clicked.connect(self.reset_session)
        self.ui.testClientGet.clicked.connect(self.run_test_client_get)
        self.ui.testClientPost.clicked.connect(self.run_test_client_post)
        self.ui.apiSummary.clicked.connect(self.show_api)

        self.session_string = ''

        self.ui.requestText.setReadOnly(True)
        self.ui.clientText.setReadOnly(True)
        self.ui.responseText.setReadOnly(True)

    def add_to_request(self, request_text):
        request_type, request_string = request_text.split(',')
        self.ui.requestText.setText(request_string)
        request_log = f"""\n\n
################### NEW REQUEST ###################
\t{request_string}\t
###################################################

"""
        self.session_string += request_log

    def add_to_client(self, client_text):
        self.ui.clientText.setText(client_text)
        request_log = f"Client details\n{client_text}\n"
        self.session_string += request_log

    def add_to_response(self, response_text):
        self.ui.responseText.setText(response_text)
        request_log = f"\nResponse\n{response_text}\n\n"
        self.session_string += request_log

    def save_session(self):
        file_name, _ = QFileDialog.getSaveFileName(self, "Session File", "",
                                                   "Text Files (*.txt)")
        if file_name:
            with open(file_name, "w") as session_file:
                session_file.write(self.session_string)

    def reset_session(self):
        self.session_string = ''
        self.ui.requestText.clear()
        self.ui.clientText.clear()
        self.ui.responseText.clear()

    def run_test_client_get(self):
        get_client = ClientGet(self)
        get_client.setModal(False)
        get_client.show()

    def run_test_client_post(self):
        post_client = ClientPost(self)
        post_client.setModal(False)
        post_client.show()

    def show_api(self):
        definitions = Definitions('definitions.ini')
        definitions.load()
        api_dialog = ApiDialog(self, definitions.definitions_dict)
        api_dialog.setWindowTitle('API Functions')
        api_dialog.setModal(False)
        api_dialog.show()
class Main:
    '''
    Collects data from a specified year
    
        ano - year of the data to be collected
    '''
    
    def collect_data(self, ano):
        bd = BaseDados()
        
        print "STARTED COLLECTING DATA FOR YEAR", ano
        bd.criar_tabelas()
        bd.preencher_tipos_estabelecimento(ano)
        bd.preencher_tabelas_gerais(ano)
        print "FINISHED COLLECTING DATA FOR YEAR", ano
        pass
    pass    
    
    #---------------------------------
    # Constroi as estatisticas
    #
    #   years       - anos para gerar estatisticas
    #   groupby     - campos pelos quais são agrupadas
    #   count       - o que contar
    #---------------------------------
    def get_statistics(self, years, groupby, count):
        bd = Dados()
        
        # transforma os elementos de years activos em string
        filtered_years = self.filter_active(years)

        # transforma os elementos de groupby activos em string
        filtered_groupby = self.filter_active(groupby)
        
        # constroi o título a dar ao gráfico
        title = """Total number of {0} for years {1} grouped by {2}""".\
                    format(count + 's',
                           ','.join(['200' + str(i) for i in filtered_years]),
                           ','.join([str(i) for i in filtered_groupby]))
        
        # se tudo estiver bem gera gráfico
        data = bd.get_statistics(filtered_years, filtered_groupby, count)
        
        # adiciona a página à bd
        db = BaseDados()
        file_name = db.insert_custom_list(title, 1)
        
        # Cria a página HTML com a estatistica
        html = Html()
        html.create_statistics_page(title, data, filtered_groupby, file_name)
        
        # cria o ficheiro CSV
        csv = CriarCSV()
        csv.escrita_csv(title, file_name, data)
            
        # gera o gráfico
        graph = Graphs(data, title)
        
        pass
    pass
    
    #--------------------------
    # Retorna uma lista com os itens que tenham a segunda posição a True
    #
    #   list_to_be_filtered - lista a ser filtrada
    #--------------------------
    def filter_active(self, list_to_be_filtered):
        
        # cria a lista a ser devolvida
        filtered_list = []
        
        # se o item for True adiciona à lista a ser devolvida
        for l in list_to_be_filtered:
            if l[1] == True:
                filtered_list.append(l[0])
            pass
        pass
        
        # altera a ordem da lista
        filtered_list.reverse()
            
        # retorna a lista filtrada
        return filtered_list
    pass
    
    #---------------------------
    # Menu estatisticas
    #---------------------------
    
    def get_lists(self, select, years):
        print "get_lists"
        # transforma os elementos de years activos em string
        filtered_years = self.filter_active(years)

        # transforma os elementos de groupby activos em string
        filtered_select = self.filter_active(select)
        
        # constroi o título a dar à lista
        title = """List of {0} for years {1}""".\
                    format(','.join([str(i) for i in filtered_select]),
                           ','.join(['200' + str(i) for i in filtered_years]))
        
        # retorna os dados da base de dados
        bd = Dados()
        data = bd.get_lists(filtered_select, filtered_years)
        
        # adiciona a página à bd
        db = BaseDados()
        file_name = db.insert_custom_list(title, 0)
        
        # cria o ficheiro CSV
        csv = CriarCSV()
        csv.escrita_csv(title, file_name, data)
        
        # Cria a página HTML com a estatistica
        html = Html()
        html.create_lists_page(title, data, filtered_select, file_name)
        pass
    pass
    
    
    #---------------------------
    # Menu HTTP
    #
    #   generate_html   - if true generates HTML
    #---------------------------
    
    # Inicia o servidor http
    def http_start_server(self, generate_html):
        
        # inicia o servidor
        self.http_server = HttpServer()
        self.http_server.start()
        
        if generate_html == True:
            
            # cria páginas
            html = Html()
            html.create_index()
        pass
    pass
    
    # Pára o servidor http
    def http_stop_server(self):
        self.http_server.stop()
        pass
    pass
    
Exemple #8
0
import sys

sys.path.append("..")  # TODO 如何更优雅的导入顶层包到 sys.path ???

import wx
from View.MainFrame import MainFrame
from View.LoginDialog import LoginDialog
from HttpServer import HttpServer


class Application(wx.App):
    def OnInit(self):
        self.MainFrame = MainFrame(None)
        self.LoginDialog = LoginDialog(self.MainFrame)
        LoginResult = self.LoginDialog.ShowModal()
        if LoginResult == 1:
            self.MainFrame.Show()
            self.SetTopWindow(self.MainFrame)
            return True
        else:
            return False


if __name__ == '__main__':
    server = HttpServer('0.0.0.0', 8080)
    print 'HTTP Server Running...........'
    server.start()
    app = Application(redirect=False)
    app.MainLoop()
    server.stop()
import sys
sys.path.append("..")  # TODO 如何更优雅的导入顶层包到 sys.path ???

import wx
from View.MainFrame import MainFrame
from View.LoginDialog import LoginDialog
from HttpServer import HttpServer

class Application(wx.App):

    def OnInit(self):
        self.MainFrame = MainFrame(None)
        self.LoginDialog = LoginDialog(self.MainFrame)
        LoginResult = self.LoginDialog.ShowModal()
        if LoginResult == 1 :
            self.MainFrame.Show()
            self.SetTopWindow(self.MainFrame)
            return True
        else :
            return False

if __name__ == '__main__':
    server = HttpServer('0.0.0.0', 8080)
    print 'HTTP Server Running...........'
    server.start()
    app = Application(redirect=False)
    app.MainLoop()
    server.stop()