Modify

Opened 7 months ago

Closed 7 months ago

Last modified 7 months ago

#11539 closed defect (fixed)

Skipping "themeengine.admin" with Trac 0.12.x

Reported by: jun66j5 Owned by: olemis
Priority: normal Component: ThemeEnginePlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

I think the plugin should work with Trac 0.12.x or create themeengineplugin/0.12 branch.

If you want to work with Trac 0.12.x, the following would help you. source:tracworkflowadminplugin/0.12/tracworkflowadmin/web_ui.py@13611#L35.

2014-02-03 14:37:26,035 Trac[loader] ERROR: Skipping "themeengine.admin = themeengine.admin":
Traceback (most recent call last):
  File "/home/jun66j5/venv/trac/0.12.5/lib/python2.4/site-packages/trac/loader.py", line 68, in _load_eggs
    entry.load(require=True)
  File "/home/jun66j5/venv/trac/0.12.5/lib/python2.4/site-packages/distribute-0.6.15-py2.4.egg/pkg_resources.py", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/home/jun66j5/src/trac/trac-hacks/themeengineplugin/trunk/themeengine/admin.py", line 21, in ?
    from themeengine.api import ThemeEngineSystem, ThemeNotFound
  File "/home/jun66j5/src/trac/trac-hacks/themeengineplugin/trunk/themeengine/api.py", line 88, in ?
    class ThemeEngineSystem(Component):
  File "/home/jun66j5/src/trac/trac-hacks/themeengineplugin/trunk/themeengine/api.py", line 93, in ThemeEngineSystem
    doc_domain='themeengine')
TypeError: __init__() got an unexpected keyword argument 'doc_domain'

Attachments (0)

Change History (10)

comment:1 Changed 7 months ago by olemis

  • Status changed from new to assigned

I cannot accept the ticket

/me working on it ...

comment:2 Changed 7 months ago by olemis

In 13639:

ThemeEnginePlugin [ refs #11539 ] : Only specify doc options for Trac>=1.0 , do not crash on Trac=0.12

comment:3 Changed 7 months ago by olemis

@jun66j5 : could you please report if everything is back to normal now ?

comment:4 follow-up: Changed 7 months ago by jun66j5

I tried the latest. That issue goes away. But another issue on Trac 0.12.5 with Python 2.4.

  File "/home/jun66j5/src/trac/trac-hacks/themeengineplugin/trunk/themeengine/translation.py", line 27
     if trac_version[:2] >= (1, 0) else {}
      ^
SyntaxError: invalid syntax (translation.py, line 27)
  • themeengine/translation.py

     
    99 
    1010"""Translation functions and classes.""" 
    1111 
     12from pkg_resources import parse_version 
     13 
    1214from trac import __version__ as trac_version 
    1315from trac.util.translation import domain_functions 
    1416 
    15 trac_version = tuple(int(x) for x in trac_version.split() 
    16                             if x[0] in '0123456789') 
    17  
    1817#------------------------------------------------------ 
    1918#    Internationalization 
    2019#------------------------------------------------------ 
     
    2322   domain_functions('themeengine', ('_', 'ngettext', 'tag_', 'tagn_', 
    2423                                'gettext', 'N_', 'add_domain')) 
    2524 
    26 I18N_DOC_OPTIONS = dict(doc_domain='themeengine') \ 
    27                        if trac_version[:2] >= (1, 0) else {} 
    28  
     25I18N_DOC_OPTIONS = {} 
     26if parse_version(trac_version) >= parse_version('1.0'): 
     27    I18N_DOC_OPTIONS['doc_domain'] = 'themeengine' 

Also extract_messages command extracts no translation messages.

$ ~/venv/trac/1.0.1/bin/python setup.py extract_messages
running extract_messages
writing PO template file to themeengine/locale/messages.pot
$ msgfmt -v themeengine/locale/messages.pot
0 translated messages.
  • setup.py

     
    2626            }), 
    2727        ] 
    2828        extra['message_extractors'] = { 
    29             'bhdashboard': extractors, 
     29            'themeengine': extractors, 
    3030        } 
    3131except ImportError: 
    3232    pass 

After the above patch, 14 messages would be extracted.

$ ~/venv/trac/1.0.1/bin/python setup.py extract_messages
running extract_messages
extracting messages from themeengine/__init__.py
extracting messages from themeengine/admin.py
extracting messages from themeengine/api.py
extracting messages from themeengine/translation.py
extracting messages from themeengine/web_ui.py
extracting messages from themeengine/templates/admin_theme.html
extracting messages from themeengine/templates/admin_theme_advanced.html
extracting messages from themeengine/templates/admin_theme_custom.html
extracting messages from themeengine/tests/__init__.py
extracting messages from themeengine/tests/api.py
writing PO template file to themeengine/locale/messages.pot
$ msgfmt -v themeengine/locale/messages.pot
0 translated messages, 14 untranslated messages.

comment:5 in reply to: ↑ 4 ; follow-up: Changed 7 months ago by olemis

Replying to jun66j5:

I tried the latest. That issue goes away. But another issue on Trac 0.12.5 with Python 2.4.

  File "/home/jun66j5/src/trac/trac-hacks/themeengineplugin/trunk/themeengine/translation.py", line 27
     if trac_version[:2] >= (1, 0) else {}
      ^
SyntaxError: invalid syntax (translation.py, line 27)

Should we still support such an old version of Python ? ... anyway it's a simple improvement . I'll fix that .

[... patch (themeengine/translation.py) ...]

... yeah this is a much better solution , I did not know exactly how to deal with version numbers and suffices like dev ...

Also extract_messages command extracts no translation messages.

[...]

my big mistake , sorry .

Thanks for the review !

comment:6 Changed 7 months ago by olemis

  • Resolution set to fixed
  • Status changed from assigned to closed

In 13640:

ThemeEnginePlugin [ fixes #11539 ] : Fix regression introduced in [13639] regarding support for Python 2.4 (see comment:4:ticket:11539)

comment:7 Changed 7 months ago by olemis

In 13641:

ThemeEnginePlugin [ refs #11455 & #11539 ] : Oops ... use themeengine i18n domain in setup.py extractors (see comment:4:ticket:11539)

comment:8 in reply to: ↑ 5 ; follow-up: Changed 7 months ago by jun66j5

Should we still support such an old version of Python ? ... anyway it's a simple improvement . I'll fix that .

Trac 0.12.x supports Python 2.4. Python in RHEL/CentOS 5 is 2.4 and the distributions are maintained. Python 2.4 is old version but that is normally used.

If a plugin supports Trac 0.12 and it isn't difficult to support Python 2.4, I think it must work on Python 2.4.

If a plugin doesn't support Python 2.4 and I need it, I probably will fork it. e.g. https://github.com/jun66j5/pygit2/tree/master-py24 (pygit2 requires 2.6+).

comment:9 in reply to: ↑ 8 Changed 7 months ago by olemis

Replying to jun66j5:

Should we still support such an old version of Python ? ... anyway it's a simple improvement . I'll fix that .

Trac 0.12.x supports Python 2.4. Python in RHEL/CentOS 5 is 2.4 and the distributions are maintained. Python 2.4 is old version but that is normally used.

If a plugin supports Trac 0.12 and it isn't difficult to support Python 2.4, I think it must work on Python 2.4.

If a plugin doesn't support Python 2.4 and I need it, I probably will fork it. e.g. https://github.com/jun66j5/pygit2/tree/master-py24 (pygit2 requires 2.6+).

It's ok then . I'll take that into account from now on .

comment:10 Changed 7 months ago by olemis

In 13644:

ThemeEnginePlugin [ refs #11539 ]: Oops ... Fix syntax error in translation.py (missing colon)

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.