Changeset 186


Ignore:
Timestamp:
16-04-07 23:48:04 (6 years ago)
Author:
thomas
Message:
  • moap/command/doap.py (Ical.do, Doap.addOptions, Doap.handleOptions): Allow more than one doap file to be specified. Sort entries from various doap files on time, then doap file index.
  • moap/test/ical/mach.ical: Update ical file to sort the other way around.
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r185 r186  
     12007-04-16  Thomas Vander Stichele  <thomas at apestaart dot org> 
     2 
     3        * moap/command/doap.py (Ical.do, Doap.addOptions, Doap.handleOptions): 
     4          Allow more than one doap file to be specified. 
     5          Sort entries from various doap files on time, then doap file index. 
     6        * moap/test/ical/mach.ical: 
     7          Update ical file to sort the other way around. 
     8 
    192007-04-16  Thomas Vander Stichele  <thomas at apestaart dot org> 
    210 
  • trunk/moap/command/doap.py

    r180 r186  
    1 # -*- Mode: Python -*- 
     1# -*- Mode: Python; test-case-name: moap.test.test_commands_doap -*- 
    22# vi:si:et:sw=4:sts=4:ts=4 
    33 
     
    118118    def do(self, args): 
    119119        __pychecker__ = 'no-argsused' 
    120         d = self.parentCommand.doap 
    121         project = d.getProject() 
    122  
    123120        self.stdout.write("""BEGIN:VCALENDAR 
    124121PRODID:-//moap//something//EN 
     
    126123 
    127124""") 
    128         for r in project.release: 
    129             d = { 
    130                 'projectName': project.name, 
    131                 'revision':    r.version.revision, 
    132                 'name':        r.version.name, 
    133                 'created':     r.version.created, 
    134             } 
     125        entries = [] # created, dict 
     126        i = 0 
     127        for d in self.parentCommand.doaps: 
     128            i += 1 # count projects to resolve created clashes 
     129            project = d.getProject() 
     130 
     131            for r in project.release: 
     132                d = { 
     133                    'projectName': project.name, 
     134                    'revision':    r.version.revision, 
     135                    'name':        r.version.name, 
     136                    'created':     r.version.created, 
     137                } 
     138                entries.append((r.version.created, i, d)) 
     139 
     140        # sort entries on created, then doap file order 
     141        entries.sort() 
     142        for c, i, d in entries: 
    135143            self.stdout.write("""BEGIN:VEVENT 
    136144SUMMARY:%(projectName)s %(revision)s '%(name)s' released 
     
    314322    def addOptions(self): 
    315323        self.parser.add_option('-f', '--file', 
    316             action="store", dest="file", 
    317             help=".doap file to act on") 
     324            action="append", dest="files", 
     325            help=".doap file(s) to act on") 
    318326        self.parser.add_option('-v', '--version', 
    319327            action="store", dest="version", 
     
    321329 
    322330    def handleOptions(self, options): 
    323         self.path = None 
    324         if options.file: self.path = options.file 
     331        self.paths = [] 
     332        self.doaps = [] 
     333        if options.files: 
     334            self.paths = options.files 
     335            self.debug('%d doap paths' % len(self.paths)) 
    325336        self.version = options.version 
    326337 
    327         try: 
    328             d = doap.findDoapFile(self.path) 
    329         except doap.DoapException, e: 
    330             sys.stdout.write(e.args[0]) 
    331             return 3 
    332         self.doap = d 
     338        for p in self.paths: 
     339            try: 
     340                d = doap.findDoapFile(p) 
     341            except doap.DoapException, e: 
     342                sys.stdout.write(e.args[0]) 
     343                return 3 
     344            self.doaps.append(d) 
     345        # FIXME: compat, remove in users 
     346        self.doap = self.doaps[0] 
  • trunk/moap/test/ical/mach.ical

    r180 r186  
    44 
    55BEGIN:VEVENT 
    6 SUMMARY:Mach 0.9.0 'Cambria' released 
     6SUMMARY:Mach 0.4.0 'Barcelona' released 
    77CLASS:PUBLIC 
    88PRIORITY:3 
    9 DTSTART;VALUE=DATE:2006-06-09 
    10 DTEND;VALUE=DATE:2006-06-09 
     9DTSTART;VALUE=DATE:2003-09-08 
     10DTEND;VALUE=DATE:2003-09-08 
     11END:VEVENT 
     12 
     13END:VCALENDAR 
     14BEGIN:VEVENT 
     15SUMMARY:Mach 0.4.1 'Get A Room' released 
     16CLASS:PUBLIC 
     17PRIORITY:3 
     18DTSTART;VALUE=DATE:2003-10-10 
     19DTEND;VALUE=DATE:2003-10-10 
     20END:VEVENT 
     21 
     22END:VCALENDAR 
     23BEGIN:VEVENT 
     24SUMMARY:Mach 0.4.2 'No More Betas' released 
     25CLASS:PUBLIC 
     26PRIORITY:3 
     27DTSTART;VALUE=DATE:2003-10-21 
     28DTEND;VALUE=DATE:2003-10-21 
     29END:VEVENT 
     30 
     31END:VCALENDAR 
     32BEGIN:VEVENT 
     33SUMMARY:Mach 0.4.3 'Hot Water' released 
     34CLASS:PUBLIC 
     35PRIORITY:3 
     36DTSTART;VALUE=DATE:2003-12-16 
     37DTEND;VALUE=DATE:2003-12-16 
     38END:VEVENT 
     39 
     40END:VCALENDAR 
     41BEGIN:VEVENT 
     42SUMMARY:Mach 0.4.4 'Madrid' released 
     43CLASS:PUBLIC 
     44PRIORITY:3 
     45DTSTART;VALUE=DATE:2004-03-11 
     46DTEND;VALUE=DATE:2004-03-11 
     47END:VEVENT 
     48 
     49END:VCALENDAR 
     50BEGIN:VEVENT 
     51SUMMARY:Mach 0.4.5 'Snow' released 
     52CLASS:PUBLIC 
     53PRIORITY:3 
     54DTSTART;VALUE=DATE:2004-03-18 
     55DTEND;VALUE=DATE:2004-03-18 
     56END:VEVENT 
     57 
     58END:VCALENDAR 
     59BEGIN:VEVENT 
     60SUMMARY:Mach 0.4.6 'Lenrek' released 
     61CLASS:PUBLIC 
     62PRIORITY:3 
     63DTSTART;VALUE=DATE:2005-02-08 
     64DTEND;VALUE=DATE:2005-02-08 
     65END:VEVENT 
     66 
     67END:VCALENDAR 
     68BEGIN:VEVENT 
     69SUMMARY:Mach 0.4.7 'Long Time No See' released 
     70CLASS:PUBLIC 
     71PRIORITY:3 
     72DTSTART;VALUE=DATE:2005-07-03 
     73DTEND;VALUE=DATE:2005-07-03 
     74END:VEVENT 
     75 
     76END:VCALENDAR 
     77BEGIN:VEVENT 
     78SUMMARY:Mach 0.4.8 'More Than One' released 
     79CLASS:PUBLIC 
     80PRIORITY:3 
     81DTSTART;VALUE=DATE:2005-11-21 
     82DTEND;VALUE=DATE:2005-11-21 
    1183END:VEVENT 
    1284 
     
    2294END:VCALENDAR 
    2395BEGIN:VEVENT 
    24 SUMMARY:Mach 0.4.8 'More Than One' released 
     96SUMMARY:Mach 0.9.0 'Cambria' released 
    2597CLASS:PUBLIC 
    2698PRIORITY:3 
    27 DTSTART;VALUE=DATE:2005-11-21 
    28 DTEND;VALUE=DATE:2005-11-21 
     99DTSTART;VALUE=DATE:2006-06-09 
     100DTEND;VALUE=DATE:2006-06-09 
    29101END:VEVENT 
    30102 
    31103END:VCALENDAR 
    32 BEGIN:VEVENT 
    33 SUMMARY:Mach 0.4.7 'Long Time No See' released 
    34 CLASS:PUBLIC 
    35 PRIORITY:3 
    36 DTSTART;VALUE=DATE:2005-07-03 
    37 DTEND;VALUE=DATE:2005-07-03 
    38 END:VEVENT 
    39  
    40 END:VCALENDAR 
    41 BEGIN:VEVENT 
    42 SUMMARY:Mach 0.4.6 'Lenrek' released 
    43 CLASS:PUBLIC 
    44 PRIORITY:3 
    45 DTSTART;VALUE=DATE:2005-02-08 
    46 DTEND;VALUE=DATE:2005-02-08 
    47 END:VEVENT 
    48  
    49 END:VCALENDAR 
    50 BEGIN:VEVENT 
    51 SUMMARY:Mach 0.4.5 'Snow' released 
    52 CLASS:PUBLIC 
    53 PRIORITY:3 
    54 DTSTART;VALUE=DATE:2004-03-18 
    55 DTEND;VALUE=DATE:2004-03-18 
    56 END:VEVENT 
    57  
    58 END:VCALENDAR 
    59 BEGIN:VEVENT 
    60 SUMMARY:Mach 0.4.4 'Madrid' released 
    61 CLASS:PUBLIC 
    62 PRIORITY:3 
    63 DTSTART;VALUE=DATE:2004-03-11 
    64 DTEND;VALUE=DATE:2004-03-11 
    65 END:VEVENT 
    66  
    67 END:VCALENDAR 
    68 BEGIN:VEVENT 
    69 SUMMARY:Mach 0.4.3 'Hot Water' released 
    70 CLASS:PUBLIC 
    71 PRIORITY:3 
    72 DTSTART;VALUE=DATE:2003-12-16 
    73 DTEND;VALUE=DATE:2003-12-16 
    74 END:VEVENT 
    75  
    76 END:VCALENDAR 
    77 BEGIN:VEVENT 
    78 SUMMARY:Mach 0.4.2 'No More Betas' released 
    79 CLASS:PUBLIC 
    80 PRIORITY:3 
    81 DTSTART;VALUE=DATE:2003-10-21 
    82 DTEND;VALUE=DATE:2003-10-21 
    83 END:VEVENT 
    84  
    85 END:VCALENDAR 
    86 BEGIN:VEVENT 
    87 SUMMARY:Mach 0.4.1 'Get A Room' released 
    88 CLASS:PUBLIC 
    89 PRIORITY:3 
    90 DTSTART;VALUE=DATE:2003-10-10 
    91 DTEND;VALUE=DATE:2003-10-10 
    92 END:VEVENT 
    93  
    94 END:VCALENDAR 
    95 BEGIN:VEVENT 
    96 SUMMARY:Mach 0.4.0 'Barcelona' released 
    97 CLASS:PUBLIC 
    98 PRIORITY:3 
    99 DTSTART;VALUE=DATE:2003-09-08 
    100 DTEND;VALUE=DATE:2003-09-08 
    101 END:VEVENT 
    102  
    103 END:VCALENDAR 
Note: See TracChangeset for help on using the changeset viewer.