Esempio n. 1
0
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
Esempio n. 3
0
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)])
        ))
Esempio n. 4
0
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
Esempio n. 5
0
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)])))
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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})
Esempio n. 9
0
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
        })
Esempio n. 10
0
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))
Esempio n. 11
0
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))
Esempio n. 12
0
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)
Esempio n. 13
0
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)
Esempio n. 14
0
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)