Skip to content

Commit ef67db1

Browse files
author
J. David Ibanez
committed
Upgrade to itools 0.16
1 parent a91c61f commit ef67db1

12 files changed

+48
-57
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.pyc
2+
*.swp

LanguageManager.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
# Import from the Standard Library
2020
from urlparse import urlparse
2121

22-
# Import itools modules
23-
from itools import i18n
22+
# Import from itools
23+
from itools.i18n import Multilingual, get_language_name, get_languages
2424

2525
# Import from Zope
2626
from Globals import InitializeClass
@@ -31,7 +31,7 @@
3131
from utils import lang_negotiator
3232

3333

34-
class LanguageManager(i18n.Multilingual):
34+
class LanguageManager(Multilingual):
3535
""" """
3636

3737
security = ClassSecurityInfo()
@@ -61,7 +61,7 @@ def get_language_name(self, id=None):
6161
"""
6262
if id is None:
6363
id = self.get_default_language()
64-
return i18n.get_language_name(id)
64+
return get_language_name(id)
6565

6666

6767
security.declarePublic('get_available_languages')
@@ -96,7 +96,7 @@ def get_all_languages(self):
9696
"""
9797
Returns all ISO languages, used by 'manage_languages'.
9898
"""
99-
return i18n.get_languages()
99+
return get_languages()
100100

101101

102102
security.declareProtected('Manage languages', 'manage_addLanguage')

LocalContent.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@
3434
from utils import _
3535

3636
# Import from itools
37-
from itools.tmx.TMX import TMX, Sentence, Message
38-
from itools.xliff.XLIFF import XLIFF, Translation, File as xliff_File
39-
from itools.datatypes.languages import LanguageTag
40-
from itools.resources.memory import File as mFile
37+
from itools.datatypes import LanguageTag
38+
from itools.tmx import TMX, Sentence, Message
39+
from itools.xliff import XLIFF, Translation, File as xliff_File
4140

4241
# Import from Python
4342
import md5
@@ -199,8 +198,8 @@ def tmx_import(self, file, REQUEST=None, RESPONSE=None):
199198
""" Imports a TMX level 1 file.
200199
"""
201200
try:
202-
f = mFile(file.read())
203-
tmx = TMX(f)
201+
data = file.read()
202+
tmx = TMX(string=data)
204203
except:
205204
return MessageDialog(title = 'Parse error',
206205
message = _('impossible to parse the file') ,
@@ -294,8 +293,8 @@ def xliff_import(self, file, REQUEST=None):
294293
It is specified by www.oasis-open.org
295294
"""
296295
try:
297-
f = mFile(file.read())
298-
xliff = XLIFF(f)
296+
data = file.read()
297+
xliff = XLIFF(string=data)
299298
except:
300299
return MessageDialog(title = 'Parse error',
301300
message = _('impossible to parse the file') ,

LocalFiles.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
# Import from itools
3232
from itools import get_abspath
33-
from itools.gettext import domains
33+
from itools.gettext import register_domain
3434

3535
# Import Zope modules
3636
from Globals import DTMLFile
@@ -47,7 +47,7 @@ def __init__(self, name, _prefix=None, **kw):
4747

4848
domain = get_abspath(_prefix, 'locale')
4949
self.class_domain = domain
50-
domains.register_domain(domain, domain)
50+
register_domain(domain, domain)
5151

5252

5353
def _exec(self, bound_data, args, kw):
@@ -80,7 +80,7 @@ def __init__(self, name, _prefix=None, **kw):
8080

8181
domain = get_abspath(_prefix, 'locale')
8282
self.class_domain = domain
83-
domains.register_domain(domain, domain)
83+
register_domain(domain, domain)
8484

8585

8686
def _exec(self, bound_data, args, kw):

Localizer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from urllib import unquote
2020

2121
# Import from itools
22-
from itools import i18n
22+
from itools.i18n import get_language_name
2323

2424
# Import from Zope
2525
from AccessControl import ClassSecurityInfo
@@ -219,7 +219,7 @@ def get_languages_map(self):
219219

220220
langs = []
221221
for x in ob_languages:
222-
langs.append({'id': x, 'title': i18n.get_language_name(x),
222+
langs.append({'id': x, 'title': get_language_name(x),
223223
'selected': x == ob_language})
224224

225225
return langs

MessageCatalog.py

+10-16
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
# along with this program; if not, write to the Free Software
1818
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1919

20-
2120
"""
2221
This module provides the MessageCatalog base class, which
2322
provides message catalogs for the web.
2423
"""
2524

26-
27-
# Import from Python
25+
# Import from the Standard Library
2826
import base64, md5
2927
import codecs
3028
import re
@@ -37,13 +35,11 @@
3735
from cgi import escape
3836

3937
# Import from itools
40-
from itools.resources import memory, get_resource
38+
from itools.datatypes import LanguageTag
4139
from itools.gettext import PO
42-
from itools.tmx.TMX import TMX, Sentence, Message, Note
43-
from itools.xliff.XLIFF import XLIFF, Translation
44-
from itools.xliff.XLIFF import Note as xliff_Note, File as xliff_File
45-
from itools.resources.memory import File as mFile
46-
from itools.datatypes.languages import LanguageTag
40+
from itools.tmx import TMX, Sentence, Message, Note
41+
from itools.xliff import XLIFF, Translation, Note as xliff_Note, \
42+
File as xliff_File
4743

4844
# Import from Zope
4945
from AccessControl import ClassSecurityInfo
@@ -560,10 +556,8 @@ def po_import(self, lang, data):
560556
""" """
561557
messages = self._messages
562558

563-
resource = memory.File(data)
564-
po = PO.PO(resource)
565-
566559
# Load the data
560+
po = PO(string=data)
567561
for msgid in po.get_msgids():
568562
if msgid:
569563
msgstr = po.get_msgstr(msgid) or ''
@@ -672,8 +666,8 @@ def tmx_import(self, howmuch, file, REQUEST=None, RESPONSE=None):
672666
""" Imports a TMX level 1 file.
673667
"""
674668
try:
675-
f = mFile(file.read())
676-
tmx = TMX(f)
669+
data = file.read()
670+
tmx = TMX(string=data)
677671
except:
678672
return MessageDialog(title = 'Parse error',
679673
message = _('impossible to parse the file') ,
@@ -794,8 +788,8 @@ def xliff_import(self, howmuch, file, REQUEST=None):
794788
It is specified by www.oasis-open.org
795789
"""
796790
try:
797-
f = mFile(file.read())
798-
xliff = XLIFF(f)
791+
data = file.read()
792+
xliff = XLIFF(string=data)
799793
except:
800794
return MessageDialog(title = 'Parse error',
801795
message = _('impossible to parse the file') ,

README.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Requirements
1111

1212
- Zope 2.9 or later
1313

14-
- itools 0.13.10 or later (download from http://www.ikaaro.org/itools)
14+
- itools 0.16.10 or later (download from http://www.ikaaro.org/itools)
1515

1616

1717
Installation
@@ -55,7 +55,7 @@ Examples of sites powered by Localizer
5555

5656
Author and License
5757

58-
Copyright 2001-2006 J. David Ib��ez ([email protected])
58+
Copyright 2001-2007 J. David Ib��ez ([email protected])
5959
2001 Universitat Jaume I
6060

6161
This program is free software; you can redistribute it and/or

TODO.txt

-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ User Interface (ZMI)
9393
Standards Support
9494
-----------------
9595

96-
- Move TMX and XLIFF code to itools.
97-
9896
- Support fuzzy in "itools.handlers.PO".
9997

10098
- Use the library libgettextpo introduced in gettext 0.12 to parse the

__init__.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,16 @@
1515
# along with this program; if not, write to the Free Software
1616
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1717

18-
# First check wether itools is installed
18+
# Check whether itools is installed
19+
msg = ('itools 0.16 or later is needed, download from '
20+
'http://www.ikaaro.org/itools')
1921
try:
2022
import itools
2123
except ImportError:
22-
raise ImportError, ('itools is not installed, download from'
23-
' http://www.ikaaro.org/itools')
24+
raise ImportError, msg
25+
# Check itools is version 0.16 or later
26+
if itools.__version__ < '0.16':
27+
raise ImportError, msg
2428

2529
# Import from the Standard Library
2630
import os.path

patches.py

+4-10
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from thread import allocate_lock, get_ident
2828

2929
# Import from itools
30-
from itools.i18n.accept import AcceptCharset, AcceptLanguage
30+
from itools.i18n import AcceptLanguageType
3131

3232
# Import from Zope
3333
import Globals
@@ -155,20 +155,15 @@ def patchedStringIO(self):
155155

156156
# PATCH 3: Accept
157157
#
158-
# Adds the variables AcceptLanguage and AcceptCharset to the REQUEST.
159-
# They provide a higher level interface than HTTP_ACCEPT_LANGUAGE and
160-
# HTTP_ACCEPT_CHARSET.
158+
# Adds the variable AcceptLanguage to the REQUEST. It provides a higher
159+
# level interface than HTTP_ACCEPT_LANGUAGE.
161160

162161
# Apply the patch
163162
def new_processInputs(self):
164163
HTTPRequest.old_processInputs(self)
165164

166165
request = self
167166

168-
# Set the AcceptCharset variable
169-
## accept = request['HTTP_ACCEPT_CHARSET']
170-
## self.other['AcceptCharset'] = AcceptCharset(accept)
171-
172167
# Set the AcceptLanguage variable
173168
# Initialize with the browser configuration
174169
accept_language = request['HTTP_ACCEPT_LANGUAGE']
@@ -183,8 +178,7 @@ def new_processInputs(self):
183178
q = q/2
184179
accept_language = ','.join(langs)
185180

186-
accept_language = AcceptLanguage(accept_language)
187-
181+
accept_language = AcceptLanguageType.decode(accept_language)
188182
self.other['AcceptLanguage'] = accept_language
189183

190184

utils.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
# Import from itools
1919
from itools import get_abspath
20-
from itools.i18n.accept import AcceptLanguage
21-
from itools.gettext import domains
20+
from itools.i18n import AcceptLanguageType
21+
from itools.gettext import register_domain, DomainAware as BaseDomainAware
2222

2323
# Import from Zope
2424
from Globals import package_home
@@ -65,12 +65,12 @@ def lang_negotiator(available_languages):
6565
# Provide an API to access translations stored as MO files in the 'locale'
6666
# directory. This code has been moved from Localizer.
6767

68-
class DomainAware(domains.DomainAware):
68+
class DomainAware(BaseDomainAware):
6969

7070
def select_language(cls, languages):
7171
request = get_request()
7272
accept = request.get_header('accept-language', default='')
73-
accept = AcceptLanguage(accept)
73+
accept = AcceptLanguageType.decode(accept)
7474
return accept.select_language(languages)
7575

7676
select_language = classmethod(select_language)
@@ -81,7 +81,7 @@ class translation(DomainAware):
8181
def __init__(self, namespace):
8282
domain = get_abspath(namespace, 'locale')
8383
self.class_domain = domain
84-
domains.register_domain(domain, domain)
84+
register_domain(domain, domain)
8585

8686

8787
def __call__(self, message, language=None):

zgettext.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
# Import from itools
4444
from itools.handlers import get_handler
45-
from itools.gettext.PO import PO
45+
from itools.gettext import PO
4646

4747

4848

0 commit comments

Comments
 (0)