summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehnam Esfahbod <behnam@zwnj.org>2008-12-03 20:25:33 +0330
committerBehnam Esfahbod ZWNJ <behnam@zwnj.org>2008-12-03 20:25:33 +0330
commita132bfc663a24d5e010bda6998a482b1e7d64c26 (patch)
tree82f508398a8a84eede551c329d1d881edf1e67c4
parenta8c5e21aa6aa209052b385e5ae5f1681ecc73956 (diff)
Add libfribidi_version and get_version_info()
fribidi.py: Detect libfribidi version by catching ctypes exceptions. fribidi.py: Add get_version_info(), but doesn't work right yet.
-rwxr-xr-xfribidi.py58
1 files changed, 45 insertions, 13 deletions
diff --git a/fribidi.py b/fribidi.py
index 63d1de6..3f1ea1e 100755
--- a/fribidi.py
+++ b/fribidi.py
@@ -20,6 +20,19 @@ import ctypes
_libfribidi = ctypes.CDLL("libfribidi.so")
+try:
+ _libfribidi.fribidi_shape()
+except AttributeError:
+ libfribidi_version = '0.1'
+ libfribidi_version_major = 0
+ libfribidi_version_minor = 1
+else:
+ libfribidi_version = '0.2'
+ libfribidi_version_major = 0
+ libfribidi_version_minor = 2
+
+print libfribidi_version, libfribidi_version_major, libfribidi_version_minor
+
# Versions
@@ -567,6 +580,20 @@ def get_mirror_prop(unicode_text):
return res
+def get_version_info():
+
+ """
+ Return TODO
+
+ TODO.
+
+ """
+
+ # TODO
+
+ return str(_libfribidi.fribidi_version_info)
+
+
# Main
def _main():
@@ -584,6 +611,10 @@ def _main():
def _test():
print
+ print 'Loaded: %s' % _libfribidi
+ print
+
+ print
print 'TEST log2vis()'
print
@@ -596,9 +627,6 @@ def _test():
print log2vis(u"سلام", None, False, True)
print log2vis(u"سلام", None, False, False, True)
- print log2vis(u"سلام", CharType.LTR, True, True, True)
- print log2vis(u"سلام", CharType.RTL, True, True, True)
-
print log2vis(u"1سلام", CharType.LTR, True, True, True)
print log2vis(u"1سلام", CharType.RTL, True, True, True)
@@ -637,14 +665,15 @@ def _test():
#print remove_bidi_marks(u"سل‌ام", False, True)
#print remove_bidi_marks(u"سل‌ام", False, False, True)
- print
- print 'TEST get_types()'
- print
+ if libfribidi_version_major == 1:
+ print
+ print 'TEST get_types()'
+ print
- print get_types(123)
- print get_types(u"سل‌ام")
- print get_types(u"سل‌ام").__class__
- print
+ print get_types(123)
+ print get_types(u"سل‌ام")
+ print get_types(u"سل‌ام").__class__
+ print
print
print 'TEST get_mirror_chars()'
@@ -668,10 +697,13 @@ def _test():
print get_mirror_prop(u"سل‌ام").__class__
print
- a="()"; print a, get_mirror_prop(a)
- a=u"«»"; print a, get_mirror_prop(a)
- a=u"﴾﴿"; print a, get_mirror_prop(a)
+ print u"() «» ﴾﴿", get_mirror_prop(u"() «» ﴾﴿")
+
+ print
+ print 'TEST get_version_info()'
+ print
+ print get_version_info()
if __name__=='__main__':
_main()