55import os
66import re
77import tarfile
8- import pytz
98
109from tempfile import mkstemp
1110
1211from django .shortcuts import render_to_response , get_object_or_404
1312from ietf .idtracker .models import IETFWG , IRTF , Area
14- from django .views .generic .list_detail import object_list
1513from django .http import HttpResponseRedirect , HttpResponse , Http404
1614from django .core .urlresolvers import reverse
1715from django .db .models import Q
2018from django .conf import settings
2119from django .utils .decorators import decorator_from_middleware
2220from django .middleware .gzip import GZipMiddleware
23- from django .db .models import Count , Max
21+ from django .db .models import Max
22+
2423from ietf .idtracker .models import InternetDraft
25- from ietf .idrfc .idrfc_wrapper import IdWrapper
2624from ietf .utils .pipe import pipe
27-
2825from ietf .utils .history import find_history_active_at
2926from ietf .doc .models import Document , State
3027
3128# Old model -- needs to be removed
32- from ietf .proceedings .models import Meeting as OldMeeting , MeetingTime , WgMeetingSession , MeetingVenue , IESGHistory , Proceeding , Switches , WgProceedingsActivities , SessionConflict
29+ from ietf .proceedings .models import Meeting as OldMeeting , MeetingTime , WgMeetingSession , MeetingVenue , IESGHistory , Proceeding , Switches
3330
3431# New models
35- from ietf .meeting .models import Meeting , Room , TimeSlot , Constraint , Session
36- from ietf .group .models import Group , GroupManager
32+ from ietf .meeting .models import Meeting , TimeSlot , Session
33+ from ietf .group .models import Group
3734
3835
3936@decorator_from_middleware (GZipMiddleware )
@@ -50,49 +47,20 @@ def show_html_materials(request, meeting_num=None):
5047 sub_began = 0
5148 if now > begin_date :
5249 sub_began = 1
53- # List of WG sessions and Plenary sessions
54- if settings .USE_DB_REDESIGN_PROXY_CLASSES :
55- seen_materials = set ()
56-
57- queryset_list = []
58- queryset_irtf = []
59- queryset_interim = [] # currently ignored, have no way of handling interim here
60- queryset_training = []
61- for item in WgMeetingSession .objects .filter (meeting = meeting_num ):
62- if not item .session or not item .session .group :
63- continue
64-
65- if item .session .group .type_id == "rg" :
66- queryset_irtf .append (item )
67- elif item .session .group .acronym == "edu" :
68- if item .slides ():
69- queryset_training .append (item )
70- else :
71- if item .session .name and not item .slides ():
72- continue
73- t = tuple (x .pk for x in item .session .materials .all ())
74- if t and t in seen_materials :
75- continue
76- seen_materials .add (t )
77- queryset_list .append (item )
78-
79- from ietf .doc .models import Document
80- cache_version = Document .objects .filter (session__meeting__number = meeting_num ).aggregate (Max ('time' ))["time__max" ]
81- else :
82- queryset_list = WgMeetingSession .objects .filter (Q (meeting = meeting_num , group_acronym_id__gte = - 2 , status__id = 4 ), Q (irtf__isnull = True ) | Q (irtf = 0 ))
83- queryset_irtf = WgMeetingSession .objects .filter (meeting = meeting_num , group_acronym_id__gte = - 2 , status__id = 4 , irtf__gt = 0 )
84- queryset_interim = []
85- queryset_training = []
86- for item in list (WgMeetingSession .objects .filter (meeting = meeting_num )):
87- if item .interim_meeting ():
88- item .interim = 1
89- queryset_interim .append (item )
90- if item .group_acronym_id < - 2 :
91- if item .slides ():
92- queryset_training .append (item )
93- cache_version = WgProceedingsActivities .objects .aggregate (Count ('id' ))
50+ sessions = Session .objects .filter (meeting__number = meeting_num , timeslot__isnull = False )
51+ plenaries = sessions .filter (name__icontains = 'plenary' )
52+ ietf = sessions .filter (group__parent__type__slug = 'area' ).exclude (group__acronym = 'edu' )
53+ irtf = sessions .filter (group__parent__acronym = 'irtf' )
54+ training = sessions .filter (group__acronym = 'edu' )
55+
56+ cache_version = Document .objects .filter (session__meeting__number = meeting_num ).aggregate (Max ('time' ))["time__max" ]
57+ #
9458 return render_to_response ("meeting/list.html" ,
95- {'meeting_num' :meeting_num ,'object_list' : queryset_list , 'irtf_list' :queryset_irtf , 'interim_list' :queryset_interim , 'training_list' :queryset_training , 'begin_date' :begin_date , 'cut_off_date' :cut_off_date , 'cor_cut_off_date' :cor_cut_off_date ,'sub_began' :sub_began ,'cache_version' :cache_version },
59+ {'meeting_num' :meeting_num ,
60+ 'plenaries' : plenaries , 'ietf' :ietf , 'training' :training , 'irtf' : irtf ,
61+ 'begin_date' :begin_date , 'cut_off_date' :cut_off_date ,
62+ 'cor_cut_off_date' :cor_cut_off_date ,'sub_began' :sub_began ,
63+ 'cache_version' :cache_version },
9664 context_instance = RequestContext (request ))
9765
9866def current_materials (request ):
@@ -185,7 +153,7 @@ def agenda_infoREDESIGN(num=None):
185153 except IOError :
186154 s = "THE AGENDA HAS NOT BEEN UPLOADED YET"
187155
188- if "technical " in agenda .name .lower ():
156+ if "tech " in agenda .name .lower ():
189157 plenaryt_agenda = s
190158 else :
191159 plenaryw_agenda = s
@@ -278,13 +246,12 @@ def session_agenda(request, num, session):
278246 raise Http404 ("No agenda for the %s session of IETF %s is available" % (session , num ))
279247
280248def convert_to_pdf (doc_name ):
281- import subprocess
282249 inpath = os .path .join (settings .IDSUBMIT_REPOSITORY_PATH , doc_name + ".txt" )
283250 outpath = os .path .join (settings .INTERNET_DRAFT_PDF_PATH , doc_name + ".pdf" )
284251
285252 try :
286253 infile = open (inpath , "r" )
287- except Exception , e :
254+ except IOError :
288255 return
289256
290257 t ,tempname = mkstemp ()
@@ -336,7 +303,7 @@ def read_agenda_file(num, doc):
336303 return None
337304
338305def session_draft_list (num , session ):
339- extensions = ["html" , "htm" , "txt" , "HTML" , "HTM" , "TXT" , ]
306+ # extensions = ["html", "htm", "txt", "HTML", "HTM", "TXT", ]
340307 result = []
341308 found = False
342309
@@ -357,7 +324,7 @@ def session_draft_list(num, session):
357324 doc_name = draft
358325 else :
359326 id = InternetDraft .objects .get (filename = draft )
360- doc = IdWrapper (id )
327+ # doc = IdWrapper(id)
361328 doc_name = draft + "-" + id .revision
362329 result .append (doc_name )
363330 except InternetDraft .DoesNotExist :
@@ -398,7 +365,7 @@ def session_draft_tarfile(request, num, session):
398365def pdf_pages (file ):
399366 try :
400367 infile = open (file , "r" )
401- except Exception , e :
368+ except IOError :
402369 return 0
403370 for line in infile :
404371 m = re .match ('\] /Count ([0-9]+)' ,line )
@@ -491,9 +458,9 @@ def ical_agenda(request, num=None):
491458
492459def csv_agenda (request , num = None ):
493460 timeslots , update , meeting , venue , ads , plenaryw_agenda , plenaryt_agenda = agenda_info (num )
494- wgs = IETFWG .objects .filter (status = IETFWG .ACTIVE ).order_by ('group_acronym__acronym' )
495- rgs = IRTF .objects .all ().order_by ('acronym' )
496- areas = Area .objects .filter (status = Area .ACTIVE ).order_by ('area_acronym__acronym' )
461+ # wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE).order_by('group_acronym__acronym')
462+ # rgs = IRTF.objects.all().order_by('acronym')
463+ # areas = Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
497464
498465 # we should really use the Python csv module or something similar
499466 # rather than a template file which is one big mess
0 commit comments