# Path: wimpiggy/log.py
# class Logger(object):
#     def __init__(self, base=None):
#         if base is None:
#             base = sys._getframe(1).f_globals["__name__"]
#         self._base = base
# 
#     def getLogger(self, type=None):
#         name = self._base
#         if type:
#             name += ". " + type
#         return logging.getLogger(name)
# 
#     def log(self, level, msg, *args, **kwargs):
#         if kwargs.get("exc_info") is True:
#             kwargs["exc_info"] = sys.exc_info()
#         type = None
#         if "type" in kwargs:
#             type = kwargs["type"]
#             del kwargs["type"]
#         self.getLogger(type).log(level, msg, *args, **kwargs)
# 
#     def _method_maker(level):
#         return (lambda self, msg, *args, **kwargs:
#                 self.log(level, msg, *args, **kwargs))
# 
#     debug = _method_maker(logging.DEBUG)
#     __call__ = debug
#     info = _method_maker(logging.INFO)
#     warn = _method_maker(logging.WARNING)
#     error = _method_maker(logging.ERROR)


import threading
import threading
from wimpiggy.log import Logger
# This file is part of Parti.
# Copyright (C) 2010 Nathaniel Smith <njs@pobox.com>
# Parti is released under the terms of the GNU GPL v2, or, at your option, any
# later version. See the file COPYING for details.


log = Logger()


class XpraProxy(object):
    def __init__(self, client_conn, server_conn):
        self._client_conn = client_conn
        self._server_conn = server_conn
        self._to_client = threading.Thread(target=self._to_client_loop)
        self._to_server = threading.Thread(target=self._to_server_loop)

    def run(self):
        self._to_client.start()

# Path: wimpiggy/log.py
# class Logger(object):
#     def __init__(self, base=None):
#         if base is None:
#             base = sys._getframe(1).f_globals["__name__"]
#         self._base = base
# 
#     def getLogger(self, type=None):
#         name = self._base
#         if type:
#             name += ". " + type
#         return logging.getLogger(name)
# 
#     def log(self, level, msg, *args, **kwargs):
#         if kwargs.get("exc_info") is True:
#             kwargs["exc_info"] = sys.exc_info()
#         type = None
#         if "type" in kwargs:
#             type = kwargs["type"]
#             del kwargs["type"]
#         self.getLogger(type).log(level, msg, *args, **kwargs)
# 
#     def _method_maker(level):
#         return (lambda self, msg, *args, **kwargs:
#                 self.log(level, msg, *args, **kwargs))
# 
#     debug = _method_maker(logging.DEBUG)
#     __call__ = debug
#     info = _method_maker(logging.INFO)
#     warn = _method_maker(logging.WARNING)
#     error = _method_maker(logging.ERROR)


# Path: xpra/proxy.py
import threading
import threading
from wimpiggy.log import Logger

# This file is part of Parti.
# Copyright (C) 2010 Nathaniel Smith <njs@pobox.com>
# Parti is released under the terms of the GNU GPL v2, or, at your option, any
# later version. See the file COPYING for details.


log = Logger()


class XpraProxy(object):
    def __init__(self, client_conn, server_conn):
        self._client_conn = client_conn
        self._server_conn = server_conn
        self._to_client = threading.Thread(target=self._to_client_loop)
        self._to_server = threading.Thread(target=self._to_server_loop)

    def run(self):
        self._to_client.start()

        self._to_server.start()