当前位置: 首页>>代码示例>>Python>>正文


Python URLPath.create_root方法代码示例

本文整理汇总了Python中wiki.models.URLPath.create_root方法的典型用法代码示例。如果您正苦于以下问题:Python URLPath.create_root方法的具体用法?Python URLPath.create_root怎么用?Python URLPath.create_root使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wiki.models.URLPath的用法示例。


在下文中一共展示了URLPath.create_root方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_works_with_lazy_functions

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
 def test_works_with_lazy_functions(self):
     URLPath.create_root()
     config = (
         ('base_url', reverse_lazy('wiki:get', kwargs={'path': ''})),
     )
     md = markdown.Markdown(
         extensions=['extra', WikiPathExtension(config)]
     )
     text = '[Français](wiki:/fr)'
     self.assertEqual(
         md.convert(text),
         '<p><a class="wikipath linknotfound" href="/fr">Français</a></p>',
     )
开发者ID:Arken94,项目名称:django-wiki,代码行数:15,代码来源:test_links.py

示例2: get_or_create_root

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
def get_or_create_root():
    """
    Returns the root article, or creates it if it doesn't exist.
    """
    try:
        root = URLPath.root()
        if not root.article:
            root.delete()
            raise NoRootURL
        return root
    except NoRootURL:
        pass

    starting_content = "\n".join((
        _("Welcome to the {platform_name} Wiki").format(platform_name=get_themed_value('PLATFORM_NAME',
                                                                                       settings.PLATFORM_NAME)),
        "===",
        _("Visit a course wiki to add an article."),
    ))

    root = URLPath.create_root(title=_("Wiki"), content=starting_content)
    article = root.article
    article.group = None
    article.group_read = True
    article.group_write = False
    article.other_read = True
    article.other_write = False
    article.save()

    return root
开发者ID:AndreySonetico,项目名称:edx-platform,代码行数:32,代码来源:views.py

示例3: get_or_create_root

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
def get_or_create_root():
    """
    Returns the root article, or creates it if it doesn't exist.
    """
    try:
        root = URLPath.root()
        if not root.article:
            root.delete()
            raise NoRootURL
        return root
    except NoRootURL:
        pass

    starting_content = "\n".join((
    "Welcome to the edX Wiki",
    "===",
    "Visit a course wiki to add an article."))

    root = URLPath.create_root(title="Wiki",
                        content=starting_content)
    article = root.article
    article.group = None
    article.group_read = True
    article.group_write = False
    article.other_read = True
    article.other_write = False
    article.save()

    return root
开发者ID:pelikanchik,项目名称:edx-platform,代码行数:31,代码来源:views.py

示例4: test_manager

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def test_manager(self):

        root = URLPath.create_root()
        child = URLPath.create_article(root, "child")

        self.assertEqual(root.parent, None)
        self.assertEqual(list(root.children.all().active()), [child])
开发者ID:Kochijadictionary,项目名称:django-wiki,代码行数:9,代码来源:test_basic.py

示例5: setUp

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
 def setUp(self):
     super(RequireRootArticleMixin, self).setUp()
     self.root = URLPath.create_root()
     self.root_article = URLPath.root().article
     rev = self.root_article.current_revision
     rev.title = "Root Article"
     rev.content = "root article content"
     rev.save()
开发者ID:Arken94,项目名称:django-wiki,代码行数:10,代码来源:base.py

示例6: get_context_data

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def get_context_data(self, tag, **kwargs):
        context = super(TagPageView, self).get_context_data(**kwargs)

        current_site = Site.objects.get_current()
        current_language_code = translation.get_language()

        tag_instance = get_tag(tag)
        if tag_instance is None:
            raise Http404(_('No Tag found matching "%s".') % tag)

        try:
            article = Article.get_for_object(tag_instance)
        except ArticleForObject.DoesNotExist:
            # Get or create root
            try:
                root_path = URLPath.root()
            except NoRootURL:
                root_path = URLPath.create_root(site=current_site)

            # Get current language namespace. E.g. "/fr"
            try:
                language_ns_path = URLPath.get_by_path("/%s" % current_language_code)
            except URLPath.DoesNotExist:
                language_ns_path = URLPath.create_article(
                    parent=root_path,
                    slug=current_language_code,
                    site=current_site,
                    title=current_language_code
                )

            # Get or create the article
            from django.template.defaultfilters import slugify                
            tag_slug = slugify(tag_instance.name)
            try:
                article_path = URLPath.get_by_path("/%s/%s" % (current_language_code,
                                                               tag_slug)
                                                   )
            except URLPath.DoesNotExist:
                article_path = URLPath.create_article(
                    parent=language_ns_path,
                    slug=tag_slug,
                    site=current_site,
                    title=tag_instance.name
                )

            # Get the wiki article itself
            article = article_path.article
            article.add_object_relation(tag_instance)

        context['article'] = article

        # XXX: site not taken in account        
        context['tag'] = tag_instance
        context['related_tags'] = list(
            reversed(
                sorted(Tag.objects.related_for_model(tag_instance, 
                                                     I4pProjectTranslation,
                                                     counts=True),
                       key=attrgetter('count'),
                   )
            )
        )[:15]

        # Get project sheets tagged with this tag XXX: site=site may
        # not be correct 4 Random projects with at least one picture.
        # It's not possible to mix distinct and order by random, so
        # use a trick
        hilighted_projects= TaggedItem.objects.get_by_model(I4pProjectTranslation.objects.filter(
            language_code=current_language_code,            
            project__site=current_site,
            project__pictures__isnull=False
        ).distinct(), tag_instance).distinct()
        context['picture_project_translations'] = random.sample(hilighted_projects, min(4, len(hilighted_projects)))


        # Mature projects
        mature_project_translations = TaggedItem.objects.get_by_model(I4pProjectTranslation.objects.filter(
            language_code=current_language_code,
            project__site=current_site,
            project__status__in=('WIP', 'END')
        ).distinct(), tag_instance).distinct()
        context['mature_project_translations'] = random.sample(mature_project_translations, min(4, len(mature_project_translations)))

        # Starting projects
        starting_project_translations = TaggedItem.objects.get_by_model(I4pProjectTranslation.objects.filter(
            language_code=current_language_code,            
            project__site=current_site,
            project__status__in=('IDEA', 'BEGIN')
        ).distinct(), tag_instance).distinct()
        context['starting_project_translations'] = random.sample(starting_project_translations, min(4, len(starting_project_translations)))
         
        # New projects
        context['new_project_translations'] = TaggedItem.objects.get_by_model(I4pProjectTranslation.objects.filter(
            language_code=current_language_code,            
            project__site=current_site,
        ).distinct(), tag_instance).order_by('-project__created')[:4]
        
        # Latest modifications
        context['modified_project_translations'] = TaggedItem.objects.get_by_model(I4pProjectTranslation.objects.filter(
            language_code=current_language_code,            
#.........这里部分代码省略.........
开发者ID:serkanh,项目名称:imaginationforpeople,代码行数:103,代码来源:views.py

示例7: setUp

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def setUp(self):

        super(ArticleTestBase, self).setUp()

        self.root = URLPath.create_root()
        self.child1 = URLPath.create_article(self.root, 'test-slug', title="Test 1")
开发者ID:Omosofe,项目名称:django-wiki,代码行数:8,代码来源:base.py

示例8: get_context_data

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def get_context_data(self, tag, **kwargs):
        context = super(TagPageView, self).get_context_data(**kwargs)

        current_site = Site.objects.get_current()
        current_language_code = translation.get_language()

        tag_instance = get_tag(tag)
        if tag_instance is None:
            raise Http404(_('No Tag found matching "%s".') % tag)

        try:
            article = Article.get_for_object(tag_instance)
        except ArticleForObject.DoesNotExist:
            # Get or create root
            try:
                root_path = URLPath.root()
            except NoRootURL:
                root_path = URLPath.create_root(site=current_site)

            # Get current language namespace. E.g. "/fr"
            try:
                language_ns_path = URLPath.get_by_path("/%s" % current_language_code)
            except URLPath.DoesNotExist:
                language_ns_path = URLPath.create_article(
                    parent=root_path, slug=current_language_code, site=current_site, title=current_language_code
                )

            # Get or create the article
            from django.template.defaultfilters import slugify

            tag_slug = slugify(tag_instance.name)
            try:
                article_path = URLPath.get_by_path("/%s/%s" % (current_language_code, tag_slug))
            except URLPath.DoesNotExist:
                article_path = URLPath.create_article(
                    parent=language_ns_path, slug=tag_slug, site=current_site, title=tag_instance.name
                )

            # Get the wiki article itself
            article = article_path.article
            article.add_object_relation(tag_instance)

        context["article"] = article

        # XXX: site not taken in account
        context["tag"] = tag_instance
        context["related_tags"] = list(
            reversed(
                sorted(Tag.objects.related_for_model(tag_instance, I4pProject, counts=True), key=attrgetter("count"))
            )
        )[:15]

        # Get project sheets tagged with this tag XXX: site=site may
        # not be correct 4 Random projects with at least one picture.
        # It's not possible to mix distinct and order by random, so
        # use a trick
        hilighted_projects = TaggedItem.objects.get_by_model(
            I4pProject.objects.using_translations()
            .filter(language_code=current_language_code, master__site=current_site, master__pictures__isnull=False)
            .distinct(),
            tag_instance,
        ).distinct()
        context["picture_projects"] = random.sample(hilighted_projects, min(4, len(hilighted_projects)))

        # Mature projects
        mature_projects = TaggedItem.objects.get_by_model(
            I4pProject.objects.using_translations()
            .filter(master__site=current_site, master__status__in=("WIP", "END"))
            .distinct(),
            tag_instance,
        ).distinct()
        context["num_mature_projects_projects_with_tag"] = len(mature_projects)
        context["mature_projects"] = random.sample(mature_projects, min(4, len(mature_projects)))

        # Starting projects
        starting_projects = TaggedItem.objects.get_by_model(
            I4pProject.objects.using_translations()
            .filter(master__site=current_site, master__status__in=("IDEA", "BEGIN"))
            .distinct(),
            tag_instance,
        ).distinct()
        context["num_starting_projects_projects_with_tag"] = len(starting_projects)
        context["starting_projects"] = random.sample(starting_projects, min(4, len(starting_projects)))

        # New projects
        context["new_projects"] = TaggedItem.objects.get_by_model(
            I4pProject.objects.using_translations().filter(master__site=current_site).distinct(), tag_instance
        ).order_by("-master__created")[:4]

        # Latest modifications
        context["modified_projects"] = TaggedItem.objects.get_by_model(
            I4pProject.objects.using_translations().filter(master__site=current_site).distinct(), tag_instance
        ).order_by("-modified")[:4]

        # Related people
        # List is to force evaluation to avoid a sql bug in queryset combining later (project__in=projects)
        projects = list(
            TaggedItem.objects.get_by_model(
                I4pProject.objects.using_translations().filter(master__site=current_site).distinct(), tag_instance
            ).all()
#.........这里部分代码省略.........
开发者ID:LittleFancy,项目名称:imaginationforpeople,代码行数:103,代码来源:views.py

示例9: render_change_form

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None):
        """
        Método padrão do ModelAdmin, cutomizado para pegar o template do
        get_change_form_template() criado para classe.
        """
        #Verifica se a tela é readonly
        readonly = False
        readonly_fields = list(self.get_readonly_fields(request, obj))
        fields = list(flatten_fieldsets(self.get_fieldsets(request, obj)))
        if set(fields) == set(readonly_fields).intersection(set(fields)):
            readonly = True

        for inline in context['inline_admin_formsets']:
            if set(flatten_fieldsets(inline.fieldsets)) != set(inline.readonly_fields).intersection(set(flatten_fieldsets(inline.fieldsets))):
                readonly = False

        opts = self.model._meta
        app_label = opts.app_label
        ordered_objects = opts.get_ordered_objects()

        object_id = obj.pk if obj else obj
        buttons = self.get_buttons(request, object_id)

        if POWERADMIN_USE_WIKI:
            path = '{0}-{1}'.format(app_label.lower(), opts.object_name.lower())
            from wiki.models import Article, ArticleRevision, URLPath
            from django.contrib.sites.models import get_current_site

            if not URLPath.objects.filter(slug=path).count():
                if not URLPath.objects.count():
                    URLPath.create_root(
                        site=get_current_site(request),
                        title=u'Root',
                        content=u"",
                        request=request
                    )
                root = URLPath.objects.order_by('id')[0]

                URLPath.create_article(
                    root,
                    path,
                    site=get_current_site(request),
                    title=path,
                    content=u"",
                    user_message=u"",
                    user=request.user,
                    ip_address=request.META['REMOTE_ADDR'],
                    article_kwargs={
                        'owner': request.user
                    }
                )
            buttons.append(PowerButton(url=POWERADMIN_WIKI_ARTICLE_URL.format(path=path), label=u'Ajuda'))

        context.update({
            'buttons': buttons,
            'add': add,
            'change': change,
            'has_add_permission': self.has_add_permission(request),
            'has_change_permission': self.has_change_permission(request, obj),
            'has_delete_permission': self.has_delete_permission(request, obj),
            'has_file_field': True,  # FIXME - this should check if form or formsets have a FileField,
            'has_absolute_url': hasattr(self.model, 'get_absolute_url'),
            'ordered_objects': ordered_objects,
            'form_url': mark_safe(form_url),
            'opts': opts,
            'content_type_id': ContentType.objects.get_for_model(self.model).id,
            'save_as': self.save_as,
            'save_on_top': self.save_on_top,
            'root_path': getattr(self.admin_site, 'root_path', None),
            'readonly': readonly,
        })
        context_instance = template.RequestContext(request, current_app=self.admin_site.name)
        return render_to_response(self.get_change_form_template(), context, context_instance=context_instance)
开发者ID:AndreLobato,项目名称:raizcidadanista,代码行数:75,代码来源:admin.py

示例10: changelist_view

# 需要导入模块: from wiki.models import URLPath [as 别名]
# 或者: from wiki.models.URLPath import create_root [as 别名]
    def changelist_view(self, request, extra_context=None):
        extra_context = extra_context or {}
        extra_context['buttons'] = self.get_buttons(request, None)

        c_url = resolve(request.path_info)

        if c_url.namespace:
            url_name = '%s:%s' % (c_url.namespace, c_url.url_name)
        else:
            url_name = '%s' % c_url.url_name

        try:
            admin_config = UserAdminConfig.objects.filter(user=request.user, url_name=url_name)[0]
            admin_old_url = admin_config.url_full_path

            admin_config.url_name = url_name
            admin_config.url_full_path = request.get_full_path()
            admin_config.save()
        except IndexError:
            admin_old_url = None
            admin_config = UserAdminConfig.objects.create(
                user=request.user,
                url_name=url_name,
                url_full_path=request.get_full_path(),
            )

        if admin_old_url == request.get_full_path():
            admin_old_url = None

        extra_context['admin_old_url'] = admin_old_url

        opts = self.model._meta
        app_label = opts.app_label

        multi_search_fields = []
        for field_opts in self.multi_search:
            attributes = {
                'size': '40',
            }

            if len(field_opts) == 4:
                attributes.update(field_opts[3])

            multi_search_fields.append({
                'name': field_opts[0],
                'label': field_opts[1],
                'value': request.GET.get(field_opts[0], ''),
                'attributes': ' '.join(['%s="%s"' % (k, v) for k, v in attributes.items()]),
            })

        buttons = self.get_buttons(request, None)

        if POWERADMIN_USE_WIKI:
            path = '{0}-{1}'.format(app_label.lower(), opts.object_name.lower())
            from wiki.models import Article, ArticleRevision, URLPath
            from django.contrib.sites.models import get_current_site

            if not URLPath.objects.filter(slug=path).count():
                if not URLPath.objects.count():
                    URLPath.create_root(
                        site=get_current_site(request),
                        title=u'Root',
                        content=u"",
                        request=request
                    )
                root = URLPath.objects.order_by('id')[0]

                URLPath.create_article(
                    root,
                    path,
                    site=get_current_site(request),
                    title=path,
                    content=u"",
                    user_message=u"",
                    user=request.user,
                    ip_address=request.META['REMOTE_ADDR'],
                    article_kwargs={
                        'owner': request.user
                    }
                )
            buttons.append(PowerButton(url=POWERADMIN_WIKI_ARTICLE_URL.format(path=path), label=u'Ajuda', attrs={'target': '_blank'}))

        context_data = {
            'buttons': buttons,
            'multi_search': True,
            'multi_search_keys': multi_search_fields,
            'admin_old_url': admin_old_url,
        }
        self.change_list_template = self.get_changelist_template()
        extra_context.update(context_data)
        return super(PowerModelAdmin, self).changelist_view(request, extra_context)
开发者ID:AndreLobato,项目名称:raizcidadanista,代码行数:93,代码来源:admin.py


注:本文中的wiki.models.URLPath.create_root方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。