1
0
Fabian Peter Hammerle 9 жил өмнө
parent
commit
1d650762ca
3 өөрчлөгдсөн 18 нэмэгдсэн , 2 устгасан
  1. 14 0
      ioex/__init__.py
  2. 2 0
      ioex/selector.py
  3. 2 2
      setup.py

+ 14 - 0
ioex/__init__.py

@@ -1,5 +1,19 @@
 import os
 import sys
+import locale
+import threading
+import contextlib
+
+locale_lock = threading.Lock()
+
+@contextlib.contextmanager
+def setlocale(temporary_locale):
+    with locale_lock:
+        primary_locale = locale.setlocale(locale.LC_ALL)
+        try:
+            yield locale.setlocale(locale.LC_ALL, temporary_locale)
+        finally:
+            locale.setlocale(locale.LC_ALL, primary_locale)
 
 def raw_input_with_default(prompt, default):
     import readline

+ 2 - 0
ioex/selector.py

@@ -116,6 +116,8 @@ class SelectionPad(object):
         return self._pad.getch()
 
     def resize(self, nlines, ncols):
+        assert nlines > 0
+        assert ncols > 0
         try:
             self._pad.resize(nlines, ncols)
         except Exception, ex:

+ 2 - 2
setup.py

@@ -5,12 +5,12 @@ import glob
 setup(
     name = 'ioex',
     packages = ['ioex'],
-    version = '0.3',
+    version = '0.4',
     description = 'extension for python\'s build-in input / output interface',
     author = 'Fabian Peter Hammerle',
     author_email = 'fabian.hammerle@gmail.com',
     url = 'https://github.com/fphammerle/ioex',
-    download_url = 'https://github.com/fphammerle/ioex/tarball/0.3',
+    download_url = 'https://github.com/fphammerle/ioex/tarball/0.4',
     keywords = [],
     classifiers = [],
     scripts = glob.glob('scripts/*'),