44import copy
55import syslog
66import pkg_resources
7+ from optparse import make_option
78#from optparse import make_option
89
9- from trac .admin .api import AdminCommandManager
1010from trac .core import TracError
1111from trac .env import Environment
1212from trac .perm import PermissionSystem
1313from trac .ticket .model import Component , Milestone , Severity
1414from trac .util .text import unicode_unquote
15- from trac .versioncontrol .api import RepositoryManager
16- from trac .wiki .admin import WikiAdmin
1715from trac .wiki .model import WikiPage
1816
1917from django .conf import settings
@@ -33,8 +31,8 @@ class Command(BaseCommand):
3331 help = "Create group wikis for WGs, RGs and Areas which don't have one."
3432
3533 option_list = BaseCommand .option_list + (
34+ make_option ('--wiki-dir-pattern' , dest = 'wiki_dir_pattern' , help = 'File containing email (default: stdin)' ),
3635 )
37- #verbosity = 1
3836
3937 def note (self , msg ):
4038 if self .verbosity > 1 :
@@ -238,12 +236,13 @@ def add_custom_group_states(self, group, env):
238236 def handle (self , * filenames , ** options ):
239237 self .verbosity = options ['verbosity' ]
240238 self .errors = 0
239+ self .wiki_dir_pattern = options .get ('wiki_dir_pattern' , settings .TRAC_WIKI_DIR_PATTERN )
241240
242- if self .verbosity .isdigit ():
241+ if isinstance ( self . verbosity , ( type ( "" ), type ( u"" ))) and self .verbosity .isdigit ():
243242 self .verbosity = int (self .verbosity )
244243
245- if not os .path .exists (settings . TRAC_WIKI_DIR_ROOT ):
246- raise CommandError ('The Wiki base direcory specified in settings.TRAC_WIKI_DIR_ROOT (%s) does not exist.' % settings . TRAC_WIKI_DIR_ROOT )
244+ if not os .path .exists (os . path . dirname ( self . wiki_dir_pattern ) ):
245+ raise CommandError ('The Wiki base direcory specified for the wiki directories (%s) does not exist.' % os . path . dirname ( self . wiki_dir_pattern ) )
247246
248247 groups = Group .objects .filter (
249248 type__slug__in = ['wg' ,'rg' ,'area' ],
@@ -253,7 +252,7 @@ def handle(self, *filenames, **options):
253252 for group in groups :
254253 try :
255254 self .note ("Processing group %s" % group .acronym )
256- group .trac_dir = settings . TRAC_WIKI_DIR_PATTERN % group .acronym
255+ group .trac_dir = self . wiki_dir_pattern % group .acronym
257256 group .svn_dir = settings .TRAC_SVN_DIR_PATTERN % group .acronym
258257
259258 if not os .path .exists (group .svn_dir ):
0 commit comments