Merge lp:~behrooz/gwibber/rtl-support into lp:gwibber

Proposed by Behrooz
Status: Rejected
Rejected by: Ken VanDine
Proposed branch: lp:~behrooz/gwibber/rtl-support
Merge into: lp:gwibber
Diff against target: 95 lines (+39/-0)
3 files modified
gwibber/microblog/dispatcher.py (+29/-0)
ui/templates/base.mako (+4/-0)
ui/templates/css.mako (+6/-0)
To merge this branch: bzr merge lp:~behrooz/gwibber/rtl-support
Reviewer Review Type Date Requested Status
Ken VanDine Disapprove
Review via email: mp+21240@code.launchpad.net

Description of the change

added right to left direction support in core instead of themes

To post a comment you must log in.
Revision history for this message
Ken VanDine (ken-vandine) wrote :

Sorry this took so long to get reviewed, this no longer applies to trunk.

Thanks for your submission.

review: Disapprove

Unmerged revisions

669. By Behrooz

RTL support in core

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'gwibber/microblog/dispatcher.py'
--- gwibber/microblog/dispatcher.py 2010-03-07 04:35:40 +0000
+++ gwibber/microblog/dispatcher.py 2010-03-12 14:21:27 +0000
@@ -1,4 +1,5 @@
1#!/usr/bin/env python1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
23
3import multiprocessing, threading, traceback, json, time4import multiprocessing, threading, traceback, json, time
4import gobject, dbus, dbus.service, mx.DateTime5import gobject, dbus, dbus.service, mx.DateTime
@@ -13,6 +14,7 @@
13from util.couch import RecordMonitor14from util.couch import RecordMonitor
14from desktopcouch.records.server import CouchDatabase15from desktopcouch.records.server import CouchDatabase
15from desktopcouch.records.record import Record as CouchRecord16from desktopcouch.records.record import Record as CouchRecord
17import re
1618
17from util.const import *19from util.const import *
1820
@@ -53,6 +55,7 @@
53 args = dict((str(k), v) for k, v in args.items())55 args = dict((str(k), v) for k, v in args.items())
54 message_data = PROTOCOLS[account["protocol"]].Client(account)(opname, **args)56 message_data = PROTOCOLS[account["protocol"]].Client(account)(opname, **args)
55 new_messages = []57 new_messages = []
58 text_cleaner = re.compile(u"[: \n\t\r♻♺]+|@[^ ]+|![^ ]+|#[^ ]+") # signs, @nickname, !group, #tag
5659
57 for m in message_data:60 for m in message_data:
58 key = (m["id"], m["account"], opname, transient)61 key = (m["id"], m["account"], opname, transient)
@@ -61,6 +64,7 @@
61 m["operation"] = opname64 m["operation"] = opname
62 m["stream"] = stream65 m["stream"] = stream
63 m["transient"] = transient66 m["transient"] = transient
67 m["rtl"] = isRTL(re.sub(text_cleaner, "", m["text"].decode('utf-8')))
64 68
65 log.logger.debug("%s Adding record", logtext)69 log.logger.debug("%s Adding record", logtext)
66 new_messages.append(m)70 new_messages.append(m)
@@ -74,6 +78,31 @@
74 log.logger.debug("Traceback:\n%s", traceback.format_exc())78 log.logger.debug("Traceback:\n%s", traceback.format_exc())
75 return ("Failure", traceback.format_exc())79 return ("Failure", traceback.format_exc())
7680
81def isRTL(s):
82 """ is given text a RTL content? """
83 if len(s)==0 :
84 return False
85 cc = ord(s[0]) # character code
86 if cc>=1536 and cc<=1791 : # arabic, persian, ...
87 return True
88 if cc>=65136 and cc<=65279 : # arabic peresent 2
89 return True
90 if cc>=64336 and cc<=65023 : # arabic peresent 1
91 return True
92 if cc>=1424 and cc<=1535 : # hebrew
93 return True
94 if cc>=64256 and cc<=64335 : # hebrew peresent
95 return True
96 if cc>=1792 and cc<=1871 : # Syriac
97 return True
98 if cc>=1920 and cc<=1983 : # Thaana
99 return True
100 if cc>=1984 and cc<=2047 : # NKo
101 return True
102 if cc>=11568 and cc<=11647 : # Tifinagh
103 return True
104 return False
105
77class OperationCollector:106class OperationCollector:
78 def __init__(self):107 def __init__(self):
79 self.accounts = CouchDatabase(COUCH_DB_ACCOUNTS, create=True)108 self.accounts = CouchDatabase(COUCH_DB_ACCOUNTS, create=True)
80109
=== modified file 'ui/templates/base.mako'
--- ui/templates/base.mako 2010-02-14 03:59:00 +0000
+++ ui/templates/base.mako 2010-03-12 14:21:27 +0000
@@ -132,7 +132,11 @@
132 ${sigil(data)} 132 ${sigil(data)}
133 ${title(data)}133 ${title(data)}
134 <span class="time"> (${timestring(data)})</span><br />134 <span class="time"> (${timestring(data)})</span><br />
135 % if data.get("rtl", False):
136 <span class="text rtl">${data.get('content', '')}</span>
137 % else:
135 <span class="text">${data.get('content', '')}</span>138 <span class="text">${data.get('content', '')}</span>
139 % endif
136 </p>140 </p>
137</%def>141</%def>
138142
139143
=== modified file 'ui/templates/css.mako'
--- ui/templates/css.mako 2009-08-16 03:20:57 +0000
+++ ui/templates/css.mako 2010-03-12 14:21:27 +0000
@@ -27,3 +27,9 @@
27.viewmore p {27.viewmore p {
28 text-align: center;28 text-align: center;
29}29}
30
31span.rtl {
32 text-align: right;
33 direction: rtl;
34 display: block;
35}

Subscribers

People subscribed via source and target branches