Changeset 2ea62cb in indico


Ignore:
Timestamp:
04/05/12 17:38:53 (14 months ago)
Author:
Jose Benito <jose.benito.gonzalez@…>
Branches:
master, hello-world-walkthrough, ipv6, v0.98-series, v0.98.2, v0.98.3, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, d9941f8582b36b24821a11ea5ba16fda6a457fb1
Children:
bce3a4
Parents:
e2a398
Message:

[IMP] Using cjson to speed timetable dumps

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • indico/MaKaC/schedule.py

    r4e85d60 r2ea62cb  
    14211421        if mgmtMode: 
    14221422            if isinstance(obj, BreakTimeSchEntry): 
    1423                 entry = obj.fossilize(IBreakTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz) 
     1423                entry = obj.fossilize(IBreakTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz, convert=True) 
    14241424            elif isinstance(obj, ContribSchEntry): 
    1425                 entry = obj.fossilize(IContribSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz) 
     1425                entry = obj.fossilize(IContribSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz, convert=True) 
    14261426            elif isinstance(obj, LinkedTimeSchEntry): 
    1427                 entry = obj.fossilize(ILinkedTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz) 
     1427                entry = obj.fossilize(ILinkedTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz, convert=True) 
    14281428            else: 
    1429                 entry = obj.fossilize(useAttrCache = useAttrCache, tz = tz) 
     1429                entry = obj.fossilize(useAttrCache = useAttrCache, tz = tz, convert=True) 
    14301430        else: 
    14311431            # the fossils used for the display of entries 
     
    14331433            # in the list of their respective Fossilizable 
    14341434            # objects 
    1435             entry = obj.fossilize(useAttrCache = useAttrCache, tz = tz) 
     1435            entry = obj.fossilize(useAttrCache = useAttrCache, tz = tz, convert=True) 
    14361436 
    14371437        genId = entry['id'] 
     
    14481448                    if mgmtMode: 
    14491449                        if isinstance(contrib, ContribSchEntry): 
    1450                             contribData = contrib.fossilize(IContribSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz) 
     1450                            contribData = contrib.fossilize(IContribSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz, convert=True) 
    14511451                        elif isinstance(contrib, BreakTimeSchEntry): 
    1452                             contribData = contrib.fossilize(IBreakTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz) 
     1452                            contribData = contrib.fossilize(IBreakTimeSchEntryMgmtFossil, useAttrCache = useAttrCache, tz = tz, convert=True) 
    14531453                        else: 
    1454                             contribData = contrib.fossilize(useAttrCache = useAttrCache, tz = tz) 
     1454                            contribData = contrib.fossilize(useAttrCache = useAttrCache, tz = tz, convert=True) 
    14551455                    else: 
    14561456                        # the fossils used for the display of entries 
     
    14581458                        # in the list of their respective Fossilizable 
    14591459                        # objects 
    1460                         contribData = contrib.fossilize(useAttrCache = useAttrCache, tz = tz) 
     1460                        contribData = contrib.fossilize(useAttrCache = useAttrCache, tz = tz, convert=True) 
    14611461 
    14621462                    entries[contribData['id']] = contribData 
  • indico/MaKaC/webinterface/pages/conferences.py

    r1fe078 r2ea62cb  
    14681468        vars = wcomponents.WTemplated.getVars( self ) 
    14691469        tz = DisplayTZ(self._aw,self._conf).getDisplayTZ() 
    1470         vars["ttdata"] = json.dumps(schedule.ScheduleToJson.process(self._conf.getSchedule(), 
     1470        sf = schedule.ScheduleToJson.process(self._conf.getSchedule(), 
    14711471                                                                          tz, self._aw, 
    14721472                                                                          useAttrCache = True, 
    1473                                                                           hideWeekends = True)) 
    1474         eventInfo = fossilize(self._conf, IConferenceEventInfoFossil, tz = tz) 
     1473                                                                          hideWeekends = True) 
     1474        # TODO: Move to beginning of file when proved useful 
     1475        try: 
     1476            import cjson 
     1477            jsonf = cjson.encode 
     1478        except ImportError: 
     1479            jsonf = json.dumps 
     1480        vars["ttdata"] = jsonf(sf) 
     1481        eventInfo = fossilize(self._conf, IConferenceEventInfoFossil, tz=tz) 
    14751482        eventInfo['isCFAEnabled'] = self._conf.getAbstractMgr().isActive() 
    14761483        vars['eventInfo'] = json.dumps(eventInfo) 
  • indico/util/fossilize/conversion.py

    r3e6579 r2ea62cb  
    2929 
    3030    @classmethod 
    31     def datetime(cls, dt, tz=None): 
     31    def datetime(cls, dt, tz=None, convert=False): 
    3232        if dt: 
    3333            if tz: 
     
    3737            else: 
    3838                date = dt 
    39             return date 
     39            if convert: 
     40                return {'date': str(date.date()), 'time': str(date.time()), 'tz': str(date.tzinfo)} 
     41            else: 
     42                return date 
    4043        else: 
    4144            return None 
  • setup.py

    ra09404 r2ea62cb  
    125125             'lxml', 'cds-indico-extras', 'zc.queue', 'python-dateutil<2.0', 
    126126             'pypdf', 'mako>=0.4.1', 'babel', 'icalendar>=3.0', 'pyatom', 
    127              'simplejson'] 
     127             'simplejson', 'python-cjson'] 
    128128 
    129129    #for Python older than 2.7 
Note: See TracChangeset for help on using the changeset viewer.