def main(): for n in []: e = Es.by_name(n) print n for rel in e.get_related(_from=Es.now(), until=Es.now()): grp = rel['with'] if grp.is_virtual: continue if str(grp.name) == 'nibbana': continue if str(grp.name) == 'uilfest': continue print ' '+str(grp.name) assert rel['until'] is None
def main(): for n in []: e = Es.by_name(n) print(n) for rel in e.get_related(_from=Es.now(), until=Es.now()): grp = rel['with'] if grp.is_virtual: continue if str(grp.name) == 'nibbana': continue if str(grp.name) == 'uilfest': continue print(' ' + str(grp.name)) assert rel['until'] is None
def main(): leden = Es.by_name('leden') lut = {} id2name = {} for m in Es.users(): if not m.name: continue lut[str(m.name)] = set() id2name[m._id] = str(m.name) max_q = Es.date_to_year(Es.now()) * 4 for q in range(1, max_q + 1): start, end = Es.quarter_to_range(q) for m in leden.get_rrelated(_from=start, until=end, how=None, deref_who=False, deref_with=False, deref_how=False): lut[id2name[m['who']]].add(q) for i, name in enumerate(sorted(six.itervalues(id2name))): if i % 20 == 0: print() print('%20s %s' % ( 'year', ' '.join([str(((q - 1) / 4) + 1).ljust(7) for q in range(1, max_q + 1, 4)]) )) print('%20s %s' % ( 'quarter', ' '.join([str(((q - 1) % 4) + 1) for q in range(1, max_q + 1)]) )) print('%-20s %s' % ( name, ' '.join(['*' if q in lut[name] else ' ' for q in range(1, max_q + 1)]) ))
def main(): now = Es.now() for n, r in enumerate(sorted(Es.query_relations( _with=Es.id_by_name('leden'), _from=now, until=now, deref_who=True), key=lambda r: r['from'])): print n+1, r['who'].humanName
def main(): leden = Es.by_name('leden') lut = {} id2name = {} for m in Es.users(): if not m.name: continue lut[str(m.name)] = set() id2name[m._id] = str(m.name) max_q = Es.date_to_year(Es.now()) * 4 for q in range(1, max_q + 1): start, end = Es.quarter_to_range(q) for m in leden.get_rrelated(_from=start, until=end, how=None, deref_who=False, deref_with=False, deref_how=False): lut[id2name[m['who']]].add(q) for i, name in enumerate(sorted(six.itervalues(id2name))): if i % 20 == 0: print() print('%20s %s' % ('year', ' '.join([ str(((q - 1) / 4) + 1).ljust(7) for q in range(1, max_q + 1, 4) ]))) print('%20s %s' % ('quarter', ' '.join( [str(((q - 1) % 4) + 1) for q in range(1, max_q + 1)]))) print('%-20s %s' % (name, ' '.join( ['*' if q in lut[name] else ' ' for q in range(1, max_q + 1)])))
def main(): now = Es.now() member_age = {} for rel in Es.query_relations(-1, Es.by_name('leden'), None, None, deref_who=True): if not rel['from']: rel['from'] = Es.DT_MIN if rel['who'] not in member_age: member_age[rel['who']] = Es.DT_MAX member_age[rel['who']] = rel['from'] l = [] for m, age in member_age.iteritems(): if not m.dateOfBirth: continue print(age - m.dateOfBirth).days / 365.242, unicode(m.name) l.append((age - m.dateOfBirth).days / 365.242) print 'avg', sum(l) / len(l) print 'med', sorted(l)[len(l) / 2] print '1st', sorted(l)[len(l) / 4 * 2] print '3rd', sorted(l)[len(l) / 4 * 3] print 'min', min(l) print 'max', max(l)
def main(): now = Es.now() for n, r in enumerate( sorted(Es.query_relations(_with=Es.id_by_name('leden'), _from=now, until=now, deref_who=True), key=lambda r: r['from'])): print(n + 1, r['who'].humanName)
def main(): oud = Es.by_name('oud') cur_leden, old_leden = Es.by_name('leden').get_current_and_old_members() cur_oud, old_oud = oud.get_current_and_old_members() for m in old_leden - old_oud - cur_oud: print(m.name) Es.rcol.insert({'who': Es._id(m), 'with': Es._id(oud), 'how': None, 'from': Es.now(), 'until': None})
def main(): oud = Es.by_name('oud') cur_leden, old_leden = Es.by_name('leden').get_current_and_old_members() cur_oud, old_oud = oud.get_current_and_old_members() for m in old_leden - old_oud - cur_oud: print(m.name) Es.rcol.insert({ 'who': Es._id(m), 'with': Es._id(oud), 'how': None, 'from': Es.now(), 'until': None })
def main(): leden = frozenset(Es.by_name('leden').get_members()) han = Es.by_id('4e6fcc85e60edf3dc0000015') for m in sorted(Es.by_institute(han), key=lambda x: str(x.name)): if not m in leden: continue ok = False for study in m.studies: if study['institute'] != han: continue if study['until'] is None or study['until'] >= Es.now(): ok = True print "%-30s %-10s %s" % (m.full_name, study['number'], unicode(study['study'].humanName))
def main(): leden = frozenset(Es.by_name('leden').get_members()) han = Es.by_id('4e6fcc85e60edf3dc0000015') for m in sorted(Es.by_institute(han), key=lambda x: str(x.name)): if not m in leden: continue ok = False for study in m.studies: if study['institute'] != han: continue if study['until'] is None or study['until'] >= Es.now(): ok = True print "%-30s %-10s %s" % (m.full_name, study['number'], unicode(study['study'].humanName))
def main3(): now = Es.now() member_age = {} for rel in Es.query_relations(-1, Es.by_name('leden'), None, None, deref_who=True): if rel['who'] not in member_age: member_age[rel['who']] = 0 member_age[rel['who']] = max(member_age[rel['who']], (now-rel['from']).days / 365.0) #for comm in Es.by_name('comms').get_bearers(): for comm in [Es.by_name('draai')]: print unicode(comm.humanName) members = [(m, member_age.get(m)) for m in comm.get_members()] members.sort(key=lambda x: x[1]) for member in members: print " %-20s%.2f" % (unicode(member[0].name), member[1] if member[1] else -1)
def main3(): now = Es.now() member_age = {} for rel in Es.query_relations(-1, Es.by_name('leden'), None, None, deref_who=True): if rel['who'] not in member_age: member_age[rel['who']] = 0 member_age[rel['who']] = max(member_age[rel['who']], (now - rel['from']).days / 365.0) #for comm in Es.by_name('comms').get_bearers(): for comm in [Es.by_name('draai')]: print unicode(comm.humanName) members = [(m, member_age.get(m)) for m in comm.get_members()] members.sort(key=lambda x: x[1]) for member in members: print " %-20s%.2f" % (unicode( member[0].name), member[1] if member[1] else -1)
def main(): now = Es.now() member_age = {} for rel in Es.query_relations(-1, Es.by_name('leden'), None, None, deref_who=True): if not rel['from']: rel['from'] = Es.DT_MIN if rel['who'] not in member_age: member_age[rel['who']] = Es.DT_MAX member_age[rel['who']] = rel['from'] l = [] for m, age in member_age.iteritems(): if not m.dateOfBirth: continue print (age - m.dateOfBirth).days / 365.242, unicode(m.name) l.append( (age - m.dateOfBirth).days / 365.242) print 'avg', sum(l)/len(l) print 'med', sorted(l)[len(l)/2] print '1st', sorted(l)[len(l)/4*2] print '3rd', sorted(l)[len(l)/4*3] print 'min', min(l) print 'max', max(l)