Changeset 524

Show
Ignore:
Timestamp:
2006-03-21 17:27:48 (2 months ago)
Author:
coderanger
Message:

HackInstallPlugin:

Adding a link to the change log for each update.

Adding 0.10 compat hack (thanks Alec).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • hackinstallplugin/0.9/hackinstall/core.py

    r519 r524  
    1414class HackInstaller(object): 
    1515    """A class implementing hack installation logic.""" 
     16     
     17    # Types of hacks I can handle 
     18    valid_types = ['plugin', 'macro'] 
    1619     
    1720    def __init__(self, env, url, builddir=None, version=None, user=None, password=None): 
  • hackinstallplugin/0.9/hackinstall/db_default.py

    r514 r524  
    11from trac.db import Table, Column 
    22 
    3 __all__ = ['default_table'] 
     3__all__ = ['default_hacks_table'] 
    44 
    5 default_table = Table('hacks', key='id')[ 
     5default_hacks_table = Table('hacks', key='id')[ 
    66                    Column('id', auto_increment=True), 
    77                    Column('name'), 
  • hackinstallplugin/0.9/hackinstall/templates/hackinstall_admin.cs

    r519 r524  
    2828                    <p> 
    2929                        <b><?cs name:plugin ?></b><br /> 
    30                         Upgrade from revision <?cs var:plugin.installed ?> to revision <?cs var:plugin.current ?> 
     30                        Upgrade from revision <?cs var:plugin.installed ?> to revision <?cs var:plugin.current ?>  
     31                        <a href="http://trac-hacks.org/log/<?cs var:plugin.lowername ?>?rev=<?cs var:plugin.current ?>&stop_rev=<?cs var:plugin.installed+1 ?>&verbose=on">(View changes)</a> 
    3132                        <input type="checkbox" name="doupdate_<?cs name:plugin ?>" /> 
    3233                    </p> 
  • hackinstallplugin/0.9/hackinstall/web_ui.py

    r520 r524  
    88from trac.web.chrome import ITemplateProvider, add_stylesheet 
    99from webadmin.web_ui import IAdminPageProvider 
    10 from db_default import default_table 
     10from db_default import default_hacks_table 
    1111from core import * 
    1212import urlparse, xmlrpclib, re, os 
     
    122122         
    123123    def upgrade_environment(self, db): 
    124         cursor = db.cursor() 
    125         for sql in db.to_sql(default_table): 
     124        # 0.10 compatibility hack (thanks Alec) 
     125        try: 
     126            from trac.db import DatabaseManager 
     127            db, _ = DatabaseManager(self.env)._get_connector() 
     128        except ImportError: 
     129            pass 
     130     
     131        # Insert the default table 
     132        cursor = db.cursor() 
     133        for sql in db.to_sql(default_hacks_table): 
    126134            self.log.debug(sql) 
    127135            cursor.execute(sql) 
    128         db.commit()    
     136        db.commit() 
     137         
     138        # Grab initial metadata 
     139        for type in self.installer.valid_types: 
     140            self._update(type) 
    129141 
    130142    # ITemplateProvider methods 
     
    177189        cursor.execute("SELECT id, name, current, description, deps FROM hacks WHERE name LIKE '%%%s'"%type.title()) 
    178190        for row in cursor: 
    179             hacks[row[1]] = {'id': row[0], 'current': int(row[2]), 'installed': installed.get(row[1].lower(), -1), 'description': row[3], 'deps': row[4]
     191            hacks[row[1]] = {'id': row[0], 'current': int(row[2]), 'installed': installed.get(row[1].lower(), -1), 'description': row[3], 'deps': row[4], 'lowername': row[1].lower()
    180192        return hacks 
     193         
     194    def _get_types(self): 
     195        """Get all known hack types.""" 
     196        server = xmlrpclib.ServerProxy(self.rpc_url) 
     197        return server.trachacks.getTypes() 
    181198         
    182199    def _check_version(self):