Changeset 3304

Show
Ignore:
Timestamp:
03/02/08 14:36:19 (9 months ago)
Author:
Blackhex
Message:

ScreenshotsPlugin:

  • Fix to bug #2640 fix.
  • Space separated configuration option lists replaced with comma separated ones.
  • default_components and default_versions}} accepts {{{all value.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • screenshotsplugin/0.10/tracscreenshots/core.py

    r3303 r3304  
    44 
    55from trac.core import * 
    6 from trac.config import Option 
     6from trac.config import Option, ListOption 
    77from trac.web.main import populate_hdf 
    88from trac.web.chrome import Chrome, add_stylesheet, add_script 
     
    4141    # Configuration options. 
    4242    mainnav_title = Option('screenshots', 'mainnav_title', 'Screenshots', 
    43       'Main navigation bar button title.') 
     43      doc = 'Main navigation bar button title.') 
    4444    metanav_title = Option('screenshots', 'metanav_title', '', 
    45       'Meta navigation bar link title.') 
     45      doc = 'Meta navigation bar link title.') 
    4646    path = Option('screenshots', 'path', '/var/lib/trac/screenshots', 
    47       'Path where to store uploaded screenshots.') 
    48     ext = Option('screenshots', 'ext', 'jpg png', 
    49       'List of screenshot file extensions that can be uploaded. Must be' 
     47      doc = 'Path where to store uploaded screenshots.') 
     48    ext = ListOption('screenshots', 'ext', 'jpg,png', 
     49      doc = 'List of screenshot file extensions that can be uploaded. Must be' 
    5050      ' supported by PIL.') 
    51     formats = Option('screenshots', 'formats', 'raw html jpg png', 
    52       'List of allowed formats for screenshot download.') 
     51    formats = ListOption('screenshots', 'formats', 'raw,html,jpg,png', 
     52      doc = 'List of allowed formats for screenshot download.') 
    5353    default_format = Option('screenshots', 'default_format', 'html', 
    54       'Default format for screenshot download links.') 
    55     default_components = Option('screenshots', 'default_components', 'none', 
    56       'List of components enabled by default.') 
    57     default_versions = Option('screenshots', 'default_versions', 'none', 
    58       'List of versions enabled by default.') 
     54      doc = 'Default format for screenshot download links.') 
     55    default_components = ListOption('screenshots', 'default_components', 'none', 
     56      doc = 'List of components enabled by default.') 
     57    default_versions = ListOption('screenshots', 'default_versions', 'none', 
     58      doc = 'List of versions enabled by default.') 
    5959 
    6060    # IPermissionRequestor methods. 
     
    167167                height =  int(req.args.get('height') or 0) 
    168168 
     169                self.log.debug(self.formats) 
     170 
    169171                # Check if requested format is allowed. 
    170                 if not format in self.formats.split()
     172                if not format in self.formats
    171173                    raise TracError('Requested screenshot format that is not allowed.', 
    172174                      'Requested format not allowed.') 
     
    234236                result = reg.match(filename) 
    235237                if result: 
    236                     if not result.group(2).lower() in self.ext.split()
     238                    if not result.group(2).lower() in self.ext
    237239                        raise TracError('Unsupported uploaded file type.') 
    238240                else: 
     
    417419                      'No screenshots renderer enabled') 
    418420 
     421                # Get all available components and versions. 
     422                components = [self.none_component] + api.get_components(cursor) 
     423                versions = [self.none_version] + api.get_versions(cursor) 
     424 
    419425                # Get enabled components and versions from request or session. 
    420426                enabled_components = self._get_enabled_components(req) 
    421427                enabled_versions = self._get_enabled_versions(req) 
     428                if 'all' in enabled_components: 
     429                    enabled_components = [component['name'] for component in 
     430                    components] 
     431                if 'all' in enabled_versions: 
     432                    enabled_versions = [version['name'] for version in 
     433                    versions] 
     434 
     435                self.log.debug(enabled_components) 
     436 
     437                # Filter screenshots. 
    422438                screenshots = api.get_filtered_screenshots(cursor, 
    423439                  enabled_components, enabled_versions) 
     
    431447                # Fill data dictionary. 
    432448                data['id'] = int(req.args.get('id') or 0) 
    433                 data['components'] = [self.none_component] + \ 
    434                   api.get_components(cursor) 
    435                 data['versions'] = [self.none_version] + \ 
    436                   api.get_versions(cursor) 
     449                data['components'] = components 
     450                data['versions'] = versions 
    437451                data['screenshots'] = screenshots 
    438452                data['href'] = req.href.screenshots() 
     
    487501            # Return existing filter from session or create default. 
    488502            if req.session.has_key('enabled_components'): 
    489                 return eval(req.session.get('enabled_components')) 
     503                components = eval(req.session.get('enabled_components')) 
    490504            else: 
    491                 enabled_components = self.default_components.split() 
    492                 req.session['enabled_components'] = str(enabled_components) 
    493                 return enabled_components 
     505                components = self.default_components 
     506                req.session['enabled_components'] = str(components) 
    494507        else: 
    495508            # Users without SCREENSHOTS_FILTER permission uses 
    496509            # 'default_components' configuration option. 
    497             return self.default_components.split() 
     510            components = self.default_components 
     511        self.log.debug('enabled_components: %s' % (components,)) 
     512        return components 
    498513 
    499514    def _get_enabled_versions(self, req): 
     
    501516            # Return existing filter from session or create default. 
    502517            if req.session.has_key('enabled_versions'): 
    503                 return eval(req.session.get('enabled_versions')) 
     518                versions = eval(req.session.get('enabled_versions')) 
    504519            else: 
    505                 enabled_versions = self.default_versions.split() 
    506                 req.session['enabled_versions'] = str(enabled_versions) 
    507                 return enabled_versions 
     520                versions = self.default_versions 
     521                req.session['enabled_versions'] = str(versions) 
    508522        else: 
    509523            # Users without SCREENSHOTS_FILTER permission uses 
    510524            # 'default_versions' configuration option. 
    511             return self.default_versions.split() 
     525            versions = self.default_versions 
     526        self.log.debug('enabled_versions: %s' % (versions,)) 
     527        return versions 
  • screenshotsplugin/0.10/tracscreenshots/htdocs/css/screenshots.css

    r3303 r3304  
    4848  padding: 1em; 
    4949  font-size: 75%; 
     50  text-align: center; 
    5051  vertical-align: middle; 
    5152}