コード例 #1
0
 def test_place_in_multiple_servers(self):
     """
     Each client placed in a server, with multiplicative_factor one.
     For each server, the used capacity equals the sum of its clients' demands.
     """
     number_servers = 30
     number_clients = 1000
     server_manager = ServerManager()
     client_manager = ClientManager()
     servers = [
         server_manager.create_server() for i in range(number_servers)
     ]
     clients = [
         client_manager.create_client(random.randint(10, 30))
         for i in range(number_clients)
     ]
     placement_manager = PlacementManager(servers)
     server = 0
     for client in clients:
         placement_manager.place_client(client, servers[server])
         server = (server + 1) % number_servers
     for i in range(number_clients):
         self.assertEqual(placement_manager.get_servers(clients[i]),
                          [(servers[i % number_servers], 1.0)])
     for i in range(number_servers):
         served_clients = [
             clients[j] for j in range(i, number_clients, number_servers)
         ]
         self.assertEqual(
             placement_manager.get_clients_served_by(servers[i]),
             {client: 1.0
              for client in served_clients})
         self.assertEqual(servers[i].used_capacity,
                          sum(client.demand for client in served_clients))
コード例 #2
0
ファイル: banksy.py プロジェクト: vollcheck/banksy
def client_loop():
    print("-- Available commands:")

    CM = ClientManager()

    while True:
        choice = input(">> [L]ogin, [C]reate new Client account, e[x]it: ")

        if choice.lower().strip() not in LOGIN_CHOICES:
            print(f"I do not recognize {choice} command.")

        elif choice.lower().strip() == LOGIN_CHOICES[0]:
            print(CM.data)
            client = Client().sign_in(CM)
            if client:
                account_loop(client)
                CM.save_file()
            else:
                print("Cannot perform logging in.")

        elif choice.lower().strip() == LOGIN_CHOICES[1]:
            Client().create(CM)

        elif choice.lower().strip() == LOGIN_CHOICES[2]:
            print("\nSee you next time!")
            break
コード例 #3
0
 def test_create_clients(self):
     number_clients = 100
     demands = [random.randint(1, 100) for i in range(number_clients)]
     client_manager = ClientManager()
     clients = [client_manager.create_client(demand) for demand in demands]
     for i in range(number_clients):
         self.assertEqual(clients[i].id, i + 1)
         self.assertEqual(clients[i].demand, demands[i])
コード例 #4
0
 def __get_clients_and_servers(self, demands, number_servers):
     """
     Input: list with demands and integer number_servers.
     Output: list with clients and list with servers.
     """
     client_manager = ClientManager()
     server_manager = ServerManager()
     clients = [client_manager.create_client(demand) for demand in demands]
     servers = [
         server_manager.create_server() for i in range(number_servers)
     ]
     return (clients, servers)
コード例 #5
0
ファイル: main.py プロジェクト: davisilva15/optimal_cdn
def read_input(file_name):
    """
    Input: file name (string).
    File format:
        int algorithm (1 or 2)
        int number of servers
        list of int [client demands]
    Reads file and outputs a list of clients, a list of servers and the algorithm.
    """
    f = open(file_name, 'r')
    client_manager = ClientManager()
    server_manager = ServerManager()
    algorithm = int(f.readline())
    number_servers = int(f.readline())
    servers = [server_manager.create_server() for i in range(number_servers)]
    demands = map(int, f.readline().split())
    clients = [client_manager.create_client(demand) for demand in demands]
    return clients, servers, algorithm
コード例 #6
0
 def test_set_multiplicative_factors(self):
     """
     Place each clients i in two servers:
     server[0], with multiplicative_factor k, and servers[1] with multiplicative_factor 1.0-k.
     """
     number_servers = 2
     number_clients = 1000
     server_manager = ServerManager()
     client_manager = ClientManager()
     servers = [
         server_manager.create_server() for i in range(number_servers)
     ]
     clients = [
         client_manager.create_client(random.randint(10, 30))
         for i in range(number_clients)
     ]
     placement_manager = PlacementManager(servers)
     multiplicative_factors = [
         random.random() for i in range(number_clients)
     ]
     for i in range(number_clients):
         placement_manager.reset(clients[i:i + 1])
         placement_manager.set_multiplicative_factor(
             servers[0], clients[i:i + 1], multiplicative_factors[i])
         placement_manager.set_multiplicative_factor(
             servers[1], clients[i:i + 1], 1.0 - multiplicative_factors[i])
     for i in range(number_clients):
         retrieved_servers = placement_manager.get_servers(clients[i])
         self.assertEqual(retrieved_servers[0][1],
                          multiplicative_factors[i])
         self.assertEqual(retrieved_servers[1][1],
                          1.0 - multiplicative_factors[i])
     retrieved_clients = placement_manager.get_clients_served_by(servers[0])
     self.assertEqual(retrieved_clients, {
         clients[i]: multiplicative_factors[i]
         for i in range(number_clients)
     })
     retrieved_clients = placement_manager.get_clients_served_by(servers[1])
     self.assertEqual(
         retrieved_clients, {
             clients[i]: 1.0 - multiplicative_factors[i]
             for i in range(number_clients)
         })
コード例 #7
0
 def test_place_in_single_server(self):
     """
     All clients served by a single server.
     Its used capacity equals the total client demand.
     """
     server_manager = ServerManager()
     client_manager = ClientManager()
     server = server_manager.create_server()
     number_clients = 100
     demands = [random.randint(10, 30) for i in range(number_clients)]
     clients = [client_manager.create_client(demand) for demand in demands]
     placement_manager = PlacementManager([server])
     for client in clients:
         placement_manager.place_client(client, server)
     for client in clients:
         self.assertEqual(placement_manager.get_servers(client),
                          [(server, 1.0)])
     self.assertEqual(placement_manager.get_clients_served_by(server),
                      {client: 1.0
                       for client in clients})
     self.assertEqual(server.used_capacity, sum(demands))
コード例 #8
0
ファイル: search.py プロジェクト: Aurelienrouchy/lkd_api
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

from pymongo import MongoClient

import time
import unicodedata
import json

from client import ClientManager

client = ClientManager()
client.setup()

mongoClient = MongoClient("mongodb+srv://aurelien:[email protected]/lkd?retryWrites=true&w=majority")
db_lkd = mongoClient['lkd']


Peoples = db_lkd['peoples']
Companies = db_lkd['companies']
print(Peoples)
print(Companies)

class Search:

    def __init__(self):
        self.driver = client.driver