Ejemplo n.º 1
0
def server_listen(s, state):
    c, a = s.accept()
    print "Connected: " + str(a)
    cmd_sock = phisock.phi_socket(c)
    cmd = cmd_sock.recv_all()

    if cmd == "push_head":
        print "Waiting for file..."
        name = server_getpacket(s)
        project = server_getpacket(s)
        data = server_getpacket(s)
        state.push_head(project, name, data)

    elif cmd == "get_head":
        project = server_getpacket(s)
        if not project in state.projects:
            print 'WARN: request for', project, 'not found.'
            return
            #continue

        print "Sending head for", project, '...'
        server_sendpacket(state.state[project]['head_name'], s)
        d = open('.phisync/' + state.state[project]['head'], 'rb').read()
        server_sendpacket(d, s)
Ejemplo n.º 2
0
def client_sendpacket(data):
    s = phisock.phi_socket()
    s.connect()
    s.send_all(data)
Ejemplo n.º 3
0
def client_getpacket():
    s = phisock.phi_socket()
    s.connect()
    return s.recv_all()
Ejemplo n.º 4
0
def server_getsocket(sock):
    c, a = sock.accept()
    return phisock.phi_socket(c)