@@ -61,7 +61,7 @@ def build_document_stats_url(stats_type_override=Ellipsis, document_type_overrid
6161 # statistics type - one of the tables or the chart
6262 possible_stats_types = [
6363 ("authors" , "Number of authors" ),
64- # ("pages", "Pages"),
64+ ("pages" , "Pages" ),
6565# ("format", "Format"),
6666# ("spectech", "Specification techniques"),
6767 ]
@@ -106,7 +106,6 @@ def build_document_stats_url(stats_type_override=Ellipsis, document_type_overrid
106106 stats_title = ""
107107
108108 if stats_type == "authors" :
109-
110109 stats_title = "Number of authors for each {}" .format (doc_label )
111110
112111 groups = defaultdict (list )
@@ -118,16 +117,39 @@ def build_document_stats_url(stats_type_override=Ellipsis, document_type_overrid
118117
119118 series_data = []
120119 for author_count , names in sorted (groups .iteritems (), key = lambda t : t [0 ]):
121- series_data .append ((author_count , len (names ) * 100.0 / total_docs ))
122- table_data .append ((author_count , names ))
120+ percentage = len (names ) * 100.0 / total_docs
121+ series_data .append ((author_count , percentage ))
122+ table_data .append ((author_count , percentage , names ))
123+
124+ chart_data .append ({
125+ "data" : series_data ,
126+ "animation" : False ,
127+ })
128+
129+ elif stats_type == "pages" :
130+ stats_title = "Number of pages for each {}" .format (doc_label )
131+
132+ groups = defaultdict (list )
133+
134+ for name , pages in doc_qs .values_list ("name" , "pages" ):
135+ groups [pages ].append (name )
136+
137+ total_docs = sum (len (names ) for pages , names in groups .iteritems ())
138+
139+ series_data = []
140+ for pages , names in sorted (groups .iteritems (), key = lambda t : t [0 ]):
141+ percentage = len (names ) * 100.0 / total_docs
142+ if pages is not None :
143+ series_data .append ((pages , len (names )))
144+ table_data .append ((pages , percentage , names ))
123145
124146 chart_data .append ({
125147 "data" : series_data ,
126- "name" : "Percentage of {}s" .format (doc_label ),
127148 "animation" : False ,
128149 })
129150
130151
152+
131153 return render (request , "stats/document_stats.html" , {
132154 "chart_data" : mark_safe (json .dumps (chart_data )),
133155 "table_data" : table_data ,
0 commit comments