Changeset 18204


Ignore:
Timestamp:
Apr 12, 2021, 1:02:00 PM (4 years ago)
Author:
Cinc-th
Message:

FullBlogPlugin: added missing methods of ITagProvider, namely resource_tags() and reparent_resource_tags()

  • added classifiers to setup.py
  • bumped version from 0.2 to 0.3.0
  • considered to be production ready thus removed dev from egg.

closes #13997

Location:
fullblogplugin/1.4
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • fullblogplugin/1.4/setup.cfg

    r17715 r18204  
    1 [egg_info]
     1[_egg_info_]
    22tag_build = dev
    33
  • fullblogplugin/1.4/setup.py

    r17740 r18204  
    1111
    1212setup(name='TracFullBlog',
    13       version='0.2',
     13      version='0.3.0',
    1414      packages=['tracfullblog'],
    1515      author='CodeResort.com = BV Network AS',
     
    1919      url='https://trac-hacks.org/wiki/FullBlogPlugin',
    2020      license='BSD',
    21       classifiers=['Framework :: Trac'],
     21      classifiers=['Development Status :: 5 - Production/Stable',
     22                   'Environment :: Plugins',
     23                   'Environment :: Web Environment',
     24                   'Framework :: Trac',
     25                   'License :: OSI Approved :: BSD License',
     26                   'Natural Language :: English',
     27                   'Operating System :: OS Independent',
     28                   'Programming Language :: Python :: 2',
     29                   'Programming Language :: Python :: 2.7',
     30                   'Programming Language :: Python :: 3',
     31                   ],
    2232      zip_safe = False,
    2333      extras_require={
  • fullblogplugin/1.4/tracfullblog/tags.py

    r18198 r18204  
    1010from trac.core import *
    1111from trac.resource import Resource, get_resource_description
     12from  trac.util.text import to_unicode
    1213from trac.web.chrome import Chrome
    1314from tractags.api import ITagProvider
     
    5859        return BlogPost(self.env, resource.id).category_list
    5960
     61    def resource_tags(self, resource):
     62        # Using this interface anyone may query the categories.
     63        # Is it smart to have no permission check here? This mwthod
     64        # is mandated by the TracTagsPlugin
     65        return BlogPost(self.env, resource.id).category_list
     66
    6067    def set_resource_tags(self, req, resource, tags):
    6168        req.perm(resource).require('TAGS_MODIFY')
     
    6774        post.categories = " ".join(tags)
    6875        post.save(req.authname, 'Blog post categories changed via Tags plugin.')
     76
     77    def reparent_resource_tags(self, req, resource, old_id, comment=u''):
     78        """Move tags, typically when renaming an existing resource."""
     79        req.perm(resource).require('TAGS_MODIFY')
     80        post = BlogPost(self.env, resource.id)
     81        if post.author == req.authname:
     82            req.perm(resource).require('BLOG_MODIFY_OWN')
     83        else:
     84            req.perm(resource).require('BLOG_MODIFY_ALL')
     85        post.categories = post.categories.replace(old_id, to_unicode(resource.id))
     86        post.save(req.authname, '%s (Blog post categories changed via Tags plugin)' % comment)
    6987
    7088    def remove_resource_tags(self, req, resource):
Note: See TracChangeset for help on using the changeset viewer.