Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# This file is part of Xpra. 

2# Copyright (C) 2014-2020 Antoine Martin <antoine@xpra.org> 

3# Xpra is released under the terms of the GNU GPL v2, or, at your option, any 

4# later version. See the file COPYING for details. 

5 

6#pylint: disable=import-outside-toplevel 

7 

8bencode = None 

9bdecode = None 

10__version__ = 0 

11 

12def init(): 

13 global bencode, bdecode, __version__ 

14 from xpra.util import envbool 

15 cython_bencode_loaded = False 

16 if envbool("XPRA_USE_CYTHON_BENCODE", True): 

17 try: 

18 from xpra.net.bencode.cython_bencode import ( 

19 bencode as cbencode, 

20 bdecode as cbdecode, 

21 __version__ as cversion, 

22 ) 

23 bencode = cbencode 

24 bdecode = cbdecode 

25 __version__ = cversion 

26 cython_bencode_loaded = True 

27 except ImportError as e: 

28 from xpra.os_util import get_util_logger 

29 get_util_logger().warn("Warning: cannot load cython bencode module: %s", e) 

30 if not cython_bencode_loaded: 

31 from xpra.net.bencode.bencode import ( 

32 bencode as pbencode, 

33 bdecode as pbdecode, 

34 __version__ as pversion, 

35 ) 

36 bencode = pbencode 

37 bdecode = pbdecode 

38 __version__ = pversion 

39 

40init() 

41 

42__all__ = ['bencode', 'bdecode', "__version__"]