Changeset 2 for trac_plugins

Show
Ignore:
Timestamp:
04/12/06 16:55:54 (3 years ago)
Author:
pacopablo
Message:
  • Fixed up the CS template
  • Added a bit of CSS
  • Refactored a bit of code
Location:
trac_plugins/logviewer/0.10/logviewer
Files:
1 added
6 modified

Legend:

Unmodified
Added
Removed
  • trac_plugins/logviewer/0.10/logviewer/__init__.py

    r1 r2  
     1from defaults import * 
    12from web_ui import * 
    23from admin import * 
  • trac_plugins/logviewer/0.10/logviewer/admin.py

    r1 r2  
    2222from trac.wiki.formatter import wiki_to_html 
    2323from webadmin.web_ui import IAdminPageProvider 
     24from logviewer.defaults import ADMIN_FIELDS, get_admin_values 
    2425 
    2526import os 
     
    4344    def get_admin_pages(self, req): 
    4445        if req.perm.has_permission('LOG_ADMIN'): 
    45             yield ('logviewer', 'Log Viewer', 'defaults', 'Defaults') 
     46            yield ('logviewer', 'Log Viewer', 'logdefaults', 'Defaults') 
    4647 
    4748    def process_admin_request(self, req, cat, page, path_info): 
     
    5354        req.hdf['logadmin.page'] = page 
    5455 
    55         admin_fields = { 
    56                         'log_dir'       : '.', 
    57                         'log_name_fmt'  : '%Y%m%d.log', 
    58                         'timestamp_sep' : '|',  
    59 #                        'post_size'    : 1024, 
    60 #                        'history_days' : 30, 
    61 #                        'new_bot_link' : 'New Blog Post', 
    62 #                        'first_week_day' : 'SUNDAY', 
    63                        } 
     56        admin_fields = ADMIN_FIELDS 
    6457        if req.method == 'POST': 
    65             if page == 'defaults': 
     58            if page == 'logdefaults': 
    6659                for field in admin_fields.keys(): 
    6760                    self._set_field_value(req, field) 
    6861                self.env.config.save() 
    69         for field, default in admin_fields.items(): 
    70             self._get_field_value(req, field, default) 
     62        fields = get_admin_values(self.env.config, 'logviewer') 
     63        for key, value in fields.items(): 
     64            req.hdf['logadmin.' + key] = value 
    7165        req.hdf['logadmin.docs'] = wiki_to_html(self._get_docs(page), 
    7266                                                self.env, req) 
     
    7569    def _get_docs(self, page): 
    7670        """Return the wikitext documentation for the page options. """ 
    77         if page == 'defaults': 
     71        doc = '' 
     72        if page == 'logdefaults': 
    7873            doc = """ 
    7974 '''Path to the logs directory''':: 
     
    115110        pass 
    116111 
    117     def _get_field_value(self, req, field_name, default=None): 
    118         """Get the field from trac.ini and set the hdf appropriately. """ 
    119         field = self.env.config.get('logviewer', field_name) or default 
    120         req.hdf['logadmin.' + field_name] = field 
    121         pass 
    122  
    123112    # INavigationContributor 
    124113    def get_templates_dirs(self): 
  • trac_plugins/logviewer/0.10/logviewer/htdocs/css/logs.css

    r1 r2  
    2626    font-weight: bold; 
    2727} 
     28 
     29.log { 
     30    margin-left: 10%; 
     31    margin-right: 10; 
     32} 
     33 
     34.logtable { 
     35} 
     36 
     37.logtable th { 
     38    font-size: 150%; 
     39} 
     40 
     41.log_line { 
     42} 
     43 
     44.log_timestamp { 
     45    padding-right: 5px; 
     46} 
     47 
     48.log_message { 
     49    padding-left: 5px; 
     50} 
     51 
     52.log_sys_message { 
     53    padding-left: 5px; 
     54    color: gray; 
     55} 
  • trac_plugins/logviewer/0.10/logviewer/templates/log_admin.cs

    r1 r2  
    1 <h2>Log Admin<?cs if logadmin.page == 'defaults' ?> -- Defaults<?cs /if ?></h2> 
     1<h2>Log Admin<?cs if logadmin.page == 'logdefaults' ?> -- Defaults<?cs /if ?></h2> 
    22 
    3 <?cs if logadmin.page == 'defaults' ?> 
     3<?cs if logadmin.page == 'logdefaults' ?> 
    44    <form class="mod" id="modbasic" method="post"> 
    55        <fieldset> 
     
    1010                    <input type="text" name="log_name_fmt"  
    1111                    value="<?cs var:logadmin.log_name_fmt ?>" /> 
     12                </label> 
     13            </div> 
     14            <div class="field"> 
     15                <label>Log Date Format:<br /> 
     16                    <input type="text" name="log_date_fmt"  
     17                    value="<?cs var:logadmin.log_date_fmt ?>" /> 
    1218                </label> 
    1319            </div> 
     
    2228                    <input type="text" name="timestamp_sep"  
    2329                    value="<?cs var:logadmin.timestamp_sep ?>" /> 
     30                </label> 
     31            </div> 
     32            <div class="field"> 
     33                <label>System Message Indicator:<br/> 
     34                    <input type="text" name="sys_indicator"  
     35                    value="<?cs var:logadmin.sys_indicator ?>" /> 
    2436                </label> 
    2537            </div> 
  • trac_plugins/logviewer/0.10/logviewer/templates/logs.cs

    r1 r2  
    3636                <tr class="log_line"> 
    3737                    <td class="log_timestamp"><?cs var:lentry.timestamp ?></td> 
    38                     <td class="log_message"><?cs var:lentry.message ?></td> 
     38                    <td class="<?cs alt:lentry.class ?>log_message<?cs /alt ?>" 
     39                        ><?cs var:lentry.message ?></td> 
    3940                </tr> 
    4041                <?cs /each ?> 
  • trac_plugins/logviewer/0.10/logviewer/web_ui.py

    r1 r2  
    9595              now.day 
    9696        baseday = datetime.datetime(year, month, day) 
     97        fields = get_admin_values(self.env.config, 'logviewer') 
    9798        log_name_fmt = self.env.config.get('logviewer', 'log_name_fmt') \ 
    9899                              or '%Y%m%d.log' 
     100        log_date_fmt = self.env.config.get('logviewer', 'log_date_fmt') \ 
     101                              or '%A, %B %d, %Y' 
    99102        log_dir = self.env.config.get('logviewer', 'log_dir') or '.' 
    100103        timestamp_sep = self.env.config.get('logviewer', 'timestamp_sep') or '|' 
    101104        logname = os.path.join(log_dir, baseday.strftime(log_name_fmt)) 
    102105        log = file(logname, 'r') 
     106        sys_indicator = self.env.config.get('logviewer', 'sys_indicator') or '' 
    103107        log_data = [] 
    104108        for line in log.readlines(): 
    105109            ls = line.split(timestamp_sep) 
    106110            if len(ls) > 1: 
    107                 timestamp = ls[0].strip() 
     111                timestamp = ls[0].strip().split(' ')[1].strip() 
    108112                msg = '|'.join(ls[1:]).strip() 
    109113            else: 
    110114                timestamp = '' 
    111115                msg = ls[0].strip() 
    112             log_data.append({'timestamp' : timestamp, 'message' : msg}) 
     116            if sys_indicator and (msg.find(sys_indicator) == 0): 
     117                _class = 'log_sys_message' 
     118            else: 
     119                _class = 'log_message' 
     120            log_line = { 
     121                        'timestamp' : timestamp,  
     122                        'message' : msg, 
     123                        'class' : _class, 
     124                       } 
     125            log_data.append(log_line) 
    113126            continue 
    114127        req.hdf['logviewer.entries'] = log_data 
    115         req.hdf['logviewer.logname'] = logname 
     128        req.hdf['logviewer.logname'] = "Log for %s for %s (%s) " % \ 
     129                                       (logtype, logdate, os.basename(logname)) 
    116130         
    117131