102 gen = lambda: StudentProposal.all() |
103 gen = lambda: StudentProposal.all() |
103 |
104 |
104 it = dateFetch(gen, last) |
105 it = dateFetch(gen, last) |
105 |
106 |
106 proposals = [(i.key().name(), i.toDict(key_order)) for i in it] |
107 proposals = [(i.key().name(), i.toDict(key_order)) for i in it] |
107 |
108 if proposals: |
108 return dict(proposals) |
109 last = i.last_modified_on # last modified entity |
109 |
110 else: |
110 |
111 last = datetime.datetime.now() |
111 def orgStats(target): |
112 |
|
113 return dict(proposals), last |
|
114 |
|
115 |
|
116 def orgStats(target, orgs): |
112 """Retrieves org stats. |
117 """Retrieves org stats. |
113 """ |
118 """ |
114 |
119 |
115 from soc.logic import dicts |
120 from soc.logic import dicts |
116 |
121 |
|
122 orgs = [(v.key(), v) for k, v in orgs.iteritems()] |
|
123 orgs = dict(orgs) |
|
124 |
117 grouped = dicts.groupby(target.values(), '_org') |
125 grouped = dicts.groupby(target.values(), '_org') |
118 popularity = [(k, len(v)) for k,v in grouped.iteritems()] |
126 |
119 |
127 grouped = [(orgs[k], v) for k, v in grouped.iteritems()] |
120 return grouped, dict(popularity) |
128 popularity = [(k.link_id, len(v)) for k, v in grouped] |
|
129 |
|
130 return dict(grouped), dict(popularity) |
121 |
131 |
122 |
132 |
123 def countStudentsWithProposals(): |
133 def countStudentsWithProposals(): |
124 """Retrieves number of Students who have submitted at least one Student Proposal. |
134 """Retrieves number of Students who have submitted at least one Student Proposal. |
125 """ |
135 """ |