Software Freedom Law Center

Changeset 190

Show
Ignore:
Timestamp:
07/18/08 23:42:56 (1 month ago)
Author:
landon
Message:

Beefed up !lt-entries to show specific records and a summary of all records

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/antimatter/luke/myplugs/libtracker/entry.py

    r189 r190  
    55baseurl = 'http://localhost:8888/timedb' 
    66 
    7 def add(user, adjustment): 
     7def add_entry(user, adjustment): 
    88    restconn = RestClient(baseurl + '/entries') 
    99    result = restconn.add(user.name, adjustment.category, adjustment.start, adjustment.duration) 
     
    2020    return result.data 
    2121 
    22 def del(user, recordnum): 
     22def del_entry(user, recordnum): 
    2323    restconn = RestClient(baseurl + '/entries') 
    2424    result = restconn.delete(recordnum) 
  • trunk/antimatter/luke/myplugs/libtracker/timeparser.py

    r188 r190  
    99from myplugs.libtracker.timeadjustment import TimeAdjustment 
    1010from myplugs.libtracker.auth import check_auth 
    11 from myplugs.libtracker.entry import add, user_entries 
     11from myplugs.libtracker.entry import * 
    1212 
    1313def msgparse(bot, ievent): 
     
    1616        return 
    1717    if (ievent.command == "lt-entries"): 
    18         # Pretty print this 
    19         result = user_entries(user) 
    20         for i in range(0,len(result)): 
    21             row = result[i] 
    22             date = dt.datetime.utcfromtimestamp(row[3]) 
    23             t = gmtime(row[4]) 
    24             time = strftime(r"%H:%M:%S",t) 
    25             result[i] = "Record #%d: %s on %s for %s" % (row[0], row[2], date, time) 
     18        result = user_entries_handler(ievent, user) 
    2619        ievent.reply("Entries: ", result=result, dot=" ---- ") 
    2720        return 
    2821 
    29     dtime = add_extract(ievent) 
    30     if (dtime): 
    31         result = add(user, dtime[1]) 
     22    result = add_extract(ievent) 
     23    if result: 
    3224        ievent.reply(str(result)) 
     25 
     26def user_entries_handler(ievent, user): 
     27        result = user_entries(user) 
     28        if re.match(r'^\d+$',ievent.rest): 
     29            rnum = None 
     30            for i in range(0,len(result)): 
     31                row = result[i] 
     32                if row[0] == int(ievent.rest): 
     33                    rnum = i 
     34                    date = dt.datetime.utcfromtimestamp(row[3]) 
     35                    t = gmtime(row[4]) 
     36                    time = strftime(r"%H:%M:%S",t) 
     37                    returnstr = ["Record (%d): %s on %s for %s" % (row[0], row[2], date, time)] 
     38                    break 
     39            if not returnstr: 
     40                returnstr = ["No entries matching %d found" % int(ievent.rest)] 
     41 
     42        else: 
     43            returnstr = [] 
     44            for i in range(0,len(result)): 
     45                row = result[i] 
     46                date = dt.date.fromtimestamp(row[3]) 
     47                t = gmtime(row[4]) 
     48                time = strftime(r"%H:%M",t) 
     49                returnstr.append("Record (%d): %s on %s" % (row[0], time, date)) 
     50        return returnstr 
    3351 
    3452def add_extract(ievent): 
     
    90108 
    91109        adjustment = TimeAdjustment(category, start, end, time, day) 
    92         return ("add", adjustment) 
     110 
     111        result = add_entry(user, adjustment) 
     112        return result 
    93113 
    94114    return None 

SFLC Main Page

[frdm] Support SFLC