Reverted unintended commit
- Legacy-Id: 12179
This commit is contained in:
parent
b2aae7dc35
commit
41945d5525
|
@ -382,7 +382,7 @@ TEST_URL_COVERAGE_EXCLUDE = [
|
||||||
r"^\^admin/",
|
r"^\^admin/",
|
||||||
]
|
]
|
||||||
|
|
||||||
# These are filename globs. They are fed directly to the coverage code checker.
|
# Tese are filename globs
|
||||||
TEST_CODE_COVERAGE_EXCLUDE = [
|
TEST_CODE_COVERAGE_EXCLUDE = [
|
||||||
"*/tests*",
|
"*/tests*",
|
||||||
"*/admin.py",
|
"*/admin.py",
|
||||||
|
@ -660,7 +660,8 @@ USER_PREFERENCE_DEFAULTS = {
|
||||||
}
|
}
|
||||||
|
|
||||||
TRAC_MASTER_DIR = "/a/www/trac-setup/"
|
TRAC_MASTER_DIR = "/a/www/trac-setup/"
|
||||||
TRAC_WIKI_DIR_PATTERN = "/a/www/www6s/trac/%s"
|
TRAC_WIKI_DIR_ROOT = "/a/www/www6s/trac/"
|
||||||
|
TRAC_WIKI_DIR_PATTERN = os.path.join(TRAC_WIKI_DIR_ROOT, "%s")
|
||||||
TRAC_WIKI_URL_PATTERN = "https://trac.ietf.org/trac/%s/wiki"
|
TRAC_WIKI_URL_PATTERN = "https://trac.ietf.org/trac/%s/wiki"
|
||||||
TRAC_ISSUE_URL_PATTERN = "https://trac.ietf.org/trac/%s/report/1"
|
TRAC_ISSUE_URL_PATTERN = "https://trac.ietf.org/trac/%s/report/1"
|
||||||
TRAC_SVN_DIR_PATTERN = "/a/svn/group/%s"
|
TRAC_SVN_DIR_PATTERN = "/a/svn/group/%s"
|
||||||
|
|
|
@ -4,14 +4,16 @@ import os
|
||||||
import copy
|
import copy
|
||||||
import syslog
|
import syslog
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
from optparse import make_option
|
|
||||||
#from optparse import make_option
|
#from optparse import make_option
|
||||||
|
|
||||||
|
from trac.admin.api import AdminCommandManager
|
||||||
from trac.core import TracError
|
from trac.core import TracError
|
||||||
from trac.env import Environment
|
from trac.env import Environment
|
||||||
from trac.perm import PermissionSystem
|
from trac.perm import PermissionSystem
|
||||||
from trac.ticket.model import Component, Milestone, Severity
|
from trac.ticket.model import Component, Milestone, Severity
|
||||||
from trac.util.text import unicode_unquote
|
from trac.util.text import unicode_unquote
|
||||||
|
from trac.versioncontrol.api import RepositoryManager
|
||||||
|
from trac.wiki.admin import WikiAdmin
|
||||||
from trac.wiki.model import WikiPage
|
from trac.wiki.model import WikiPage
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
@ -31,9 +33,8 @@ class Command(BaseCommand):
|
||||||
help = "Create group wikis for WGs, RGs and Areas which don't have one."
|
help = "Create group wikis for WGs, RGs and Areas which don't have one."
|
||||||
|
|
||||||
option_list = BaseCommand.option_list + (
|
option_list = BaseCommand.option_list + (
|
||||||
make_option('--wiki-dir-pattern', dest='wiki_dir_pattern', help='File containing email (default: stdin)'),
|
|
||||||
)
|
)
|
||||||
verbosity = 2
|
#verbosity = 1
|
||||||
|
|
||||||
def note(self, msg):
|
def note(self, msg):
|
||||||
if self.verbosity > 1:
|
if self.verbosity > 1:
|
||||||
|
@ -237,13 +238,12 @@ class Command(BaseCommand):
|
||||||
def handle(self, *filenames, **options):
|
def handle(self, *filenames, **options):
|
||||||
self.verbosity = options['verbosity']
|
self.verbosity = options['verbosity']
|
||||||
self.errors = 0
|
self.errors = 0
|
||||||
self.wiki_dir_pattern = options.get('wiki_dir_pattern', settings.TRAC_WIKI_DIR_PATTERN)
|
|
||||||
|
|
||||||
if isinstance(self.verbosity, (type(""), type(u""))) and self.verbosity.isdigit():
|
if self.verbosity.isdigit():
|
||||||
self.verbosity = int(self.verbosity)
|
self.verbosity = int(self.verbosity)
|
||||||
|
|
||||||
if not os.path.exists(os.path.dirname(self.wiki_dir_pattern)):
|
if not os.path.exists(settings.TRAC_WIKI_DIR_ROOT):
|
||||||
raise CommandError('The Wiki base direcory specified for the wiki directories (%s) does not exist.' % os.path.dirname(self.wiki_dir_pattern))
|
raise CommandError('The Wiki base direcory specified in settings.TRAC_WIKI_DIR_ROOT (%s) does not exist.' % settings.TRAC_WIKI_DIR_ROOT)
|
||||||
|
|
||||||
groups = Group.objects.filter(
|
groups = Group.objects.filter(
|
||||||
type__slug__in=['wg','rg','area'],
|
type__slug__in=['wg','rg','area'],
|
||||||
|
@ -253,7 +253,7 @@ class Command(BaseCommand):
|
||||||
for group in groups:
|
for group in groups:
|
||||||
try:
|
try:
|
||||||
self.note("Processing group %s" % group.acronym)
|
self.note("Processing group %s" % group.acronym)
|
||||||
group.trac_dir = self.wiki_dir_pattern % group.acronym
|
group.trac_dir = settings.TRAC_WIKI_DIR_PATTERN % group.acronym
|
||||||
group.svn_dir = settings.TRAC_SVN_DIR_PATTERN % group.acronym
|
group.svn_dir = settings.TRAC_SVN_DIR_PATTERN % group.acronym
|
||||||
|
|
||||||
if not os.path.exists(group.svn_dir):
|
if not os.path.exists(group.svn_dir):
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import os.path
|
import os.path
|
||||||
import types
|
import types
|
||||||
import shutil
|
#import json
|
||||||
from StringIO import StringIO
|
#from pathlib import Path
|
||||||
from pipe import pipe
|
|
||||||
|
|
||||||
from textwrap import dedent
|
from textwrap import dedent
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
|
@ -11,7 +10,6 @@ from email.mime.image import MIMEImage
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.management import call_command
|
|
||||||
from django.template import Context
|
from django.template import Context
|
||||||
from django.template.defaulttags import URLNode
|
from django.template.defaulttags import URLNode
|
||||||
from django.templatetags.static import StaticNode
|
from django.templatetags.static import StaticNode
|
||||||
|
@ -23,9 +21,7 @@ import debug # pyflakes:ignore
|
||||||
import ietf.urls
|
import ietf.urls
|
||||||
from ietf.utils.management.commands import pyflakes
|
from ietf.utils.management.commands import pyflakes
|
||||||
from ietf.utils.mail import send_mail_text, send_mail_mime, outbox
|
from ietf.utils.mail import send_mail_text, send_mail_mime, outbox
|
||||||
from ietf.utils.test_data import make_test_data
|
|
||||||
from ietf.utils.test_runner import get_template_paths
|
from ietf.utils.test_runner import get_template_paths
|
||||||
from ietf.group.models import Group
|
|
||||||
|
|
||||||
class PyFlakesTestCase(TestCase):
|
class PyFlakesTestCase(TestCase):
|
||||||
|
|
||||||
|
@ -190,46 +186,6 @@ class TemplateChecksTestCase(TestCase):
|
||||||
settings.DEBUG = saved_debug
|
settings.DEBUG = saved_debug
|
||||||
|
|
||||||
|
|
||||||
class TestWikiGlueManagementCommand(TestCase):
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.wiki_dir_pattern = os.path.abspath('tmp-wiki-dir-root/%s')
|
|
||||||
if not os.path.exists(self.wiki_dir_pattern):
|
|
||||||
os.mkdir(os.path.dirname(self.wiki_dir_pattern))
|
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
shutil.rmtree(os.path.dirname(self.wiki_dir_pattern))
|
|
||||||
|
|
||||||
def test_wiki_create_output(self):
|
|
||||||
make_test_data()
|
|
||||||
groups = Group.objects.filter(
|
|
||||||
type__slug__in=['wg','rg','area'],
|
|
||||||
state__slug='active'
|
|
||||||
).order_by('acronym')
|
|
||||||
out = StringIO()
|
|
||||||
call_command('create_group_wikis', stdout=out, verbosity=2, wiki_dir_pattern=self.wiki_dir_pattern)
|
|
||||||
command_output = out.getvalue()
|
|
||||||
for group in groups:
|
|
||||||
self.assertIn("Processing group %s" % group.acronym, command_output)
|
|
||||||
# Do a bit of verification using trac-admin, too
|
|
||||||
admin_code, admin_output, admin_error = pipe('trac-admin %s permission list' % (self.wiki_dir_pattern % group.acronym))
|
|
||||||
self.assertEqual(admin_code, 0)
|
|
||||||
roles = group.role_set.filter(name_id__in=['chair', 'secr', 'ad'])
|
|
||||||
for role in roles:
|
|
||||||
user = role.email.address.lower()
|
|
||||||
self.assertIn("Granting admin permission for %s" % user, command_output)
|
|
||||||
self.assertIn(user, admin_output)
|
|
||||||
docs = group.document_set.filter(stats_slug='active', type_id='draft')
|
|
||||||
for doc in docs:
|
|
||||||
name = doc.name
|
|
||||||
name = name.replace('draft-','')
|
|
||||||
name = name.replace(group.stream+'-', '')
|
|
||||||
name = name.replace(group.acronym+'-', '')
|
|
||||||
self.assertIn("Adding component %s"%name, command_output)
|
|
||||||
for page in settings.TRAC_WIKI_PAGES_TEMPLATES:
|
|
||||||
self.assertIn("Adding page %s" % os.path.basename(page), command_output)
|
|
||||||
self.assertIn("Indexing default repository", command_output)
|
|
||||||
|
|
||||||
## One might think that the code below would work, but it doesn't ...
|
## One might think that the code below would work, but it doesn't ...
|
||||||
|
|
||||||
# def list_static_files(path):
|
# def list_static_files(path):
|
||||||
|
|
Loading…
Reference in a new issue