Przeglądaj źródła

Try to fix missing readline on windows

  * Issue #17 resurrected
Oz N Tiram 9 lat temu
rodzic
commit
47155695a9
4 zmienionych plików z 13 dodań i 4 usunięć
  1. 1 1
      pwman/__init__.py
  2. 3 1
      pwman/ui/cli.py
  3. 2 2
      pwman/ui/tools.py
  4. 7 0
      setup.py

+ 1 - 1
pwman/__init__.py

@@ -92,7 +92,7 @@ def set_xsel(configp, OSX):
 
 
 def set_win_colors(config):  # pragma: no cover
-    if 'win' in sys.platform:
+    if sys.platform.startwith('win'):
         colorama.init()
 
 

+ 3 - 1
pwman/ui/cli.py

@@ -28,7 +28,9 @@ try:
     import readline
     _readline_available = True
 except ImportError as e:  # pragma: no cover
-    _readline_available = False
+    import pyreadline as readline
+    _readline_available = True
+
 
 from pwman.ui.baseui import BaseCommands
 from pwman import (get_conf_options, get_db_version, version, appname,

+ 2 - 2
pwman/ui/tools.py

@@ -36,14 +36,14 @@ from pwman.util.crypto_engine import generate_password
 if sys.version_info.major > 2:  # pragma: no cover
     raw_input = input
 
-if sys.platform != 'win32':
+if not sys.platform.startswith('win'):
     import termios
     import fcntl
     import readline
     _readline_available = True
 else:  # pragma: no cover
     try:
-        import readline
+        import pyreadline
         _readline_available = True
     except ImportError as e:
         _readline_available = False

+ 7 - 0
setup.py

@@ -318,6 +318,13 @@ class PyCryptoInstallCommand(install):
                    'to install pycrypto ...'))
 
 
+install_requires=['pycrypto>=2.6',
+                'colorama>=0.2.4'],
+
+if sys.platform.startwith('win'):
+    install_requires.append('pyreadeline')
+
+
 setup(name=pwman.appname,
       version=pwman.version,
       description=pwman.description,