예제 #1
0
def run(path):
    with open(path) as fd:
        obj = json.load(fd)
        # print( obj )
        oobj = fileutil.cleanUp(obj=obj, fctr=fileutil.StrFunctor())
        pp(oobj)
        pp(tmt_core.tmt2ser(oobj))
예제 #2
0
def run(path):
    with open(path) as fd:
        obj = json.load(fd)
        # print( obj )
        oobj = fileutil.cleanUp(obj=obj, fctr=fileutil.StrFunctor())
        pp(oobj)
        results = euc.pool2ser(pools=oobj['pools'])
        pp(results)
예제 #3
0
def tmt_driver(root):
    paths = pathlib.Path(root)
    for path in paths.iterdir():
        print(str(path))

        with open(path) as fd:
            jobj = json.load(fd)
            tmt = fileutil.cleanUp(obj=jobj, fctr=fileutil.StrFunctor())
            ts = tmt2ser(tmt)
예제 #4
0
def run(path):
    with open(path) as fd:
        obj = json.load(fd)
        # print obj
        oobj = fileutil.cleanUp(obj=obj, fctr=fileutil.StrFunctor())
        pp(oobj)
예제 #5
0
def driverTmt(srcRoot, trgtRoot):
    indexRoot = os.path.join(trgtRoot, 'index')
    dateEventIdSet = dix.IndexSet(indexRoot,
                                  name='dateEventIdSet',
                                  unique=True,
                                  keyType=int)
    processedFileList = dix.IndexList(indexRoot,
                                      name='tmt_processedFileList',
                                      unique=True)
    fencerId2EventIdList = dix.IndexList(indexRoot,
                                         name='fencerId2eventId',
                                         unique=True,
                                         keyType=int)
    eventIdNameMap = dix.IndexMap(indexRoot,
                                  name='eventIdNameMap',
                                  keyType=int)
    fencerIdNameMap = dix.IndexMap(indexRoot,
                                   name='fencerIdNameMap',
                                   keyType=int)
    engFencerIdfencerId = dix.IndexId(
        indexRoot,
        name='engFencerIdfencerId',
    )
    fencerNameEventIdMap = dix.IndexMap(indexRoot,
                                        name='fencerNameEventIdMap',
                                        keyType=str)
    eventIdTmtFileSet = dix.IndexSet(indexRoot,
                                     name='eventIdTmtFileSet',
                                     keyType=int)

    tmtRoot = os.path.join(srcRoot, 'tmt')
    paths = pathlib.Path(tmtRoot)

    for path in paths.iterdir():
        path = str(path)

        if processedFileList.exists(name='tmt', val=path):
            print('driverTmt', 'already processed', path)
            continue

        print('driverTmt', 'processing', path)

        with open(path) as fd:
            jobj = json.load(fd)
            tmt = fileutil.cleanUp(obj=jobj, fctr=fileutil.StrFunctor())
            date = strutil.normDate3(tmt['date'])
            ts = tmt_core.tmt2ser(tmt)
            for event in ts:
                fencerId = event['fencer_id']
                eventId = event['event_id']
                fencerName = event['fencer_name']
                eventName = event['event_name']

                if not dateEventIdSet.exists(date, eventId):
                    dateEventIdSet.add(date, eventId)

                if fencerName == econst.SpecialNames.FencerExcluded:
                    print('driverTmt: skipping %s', str(event))
                    continue
                try:
                    fencerIdNameMap.add(name=fencerId, target=fencerName)
                    fencerId2EventIdList.add(name=fencerId, val=eventId)
                    eventIdNameMap.add(name=eventId, target=eventName)
                    engId = engFencerIdfencerId.add(fencerId)
                    fencerNameEventIdMap.add((fencerName, eventId), engId)
                    eventIdTmtFileSet.add(eventId, path)
                except KeyError as e:
                    raise BadData({'path': path})

        processedFileList.add(name='tmt', val=path)
예제 #6
0
def driverDelim(srcRoot, trgtRoot):
    indexRoot = os.path.join(trgtRoot, 'index')

    processedFileList = dix.IndexList(indexRoot,
                                      name='de_processedFileList',
                                      unique=True)
    fencerNameEventIdMap = dix.IndexMap(indexRoot, name='fencerNameEventIdMap')
    engFencerIdfencerId = dix.IndexId(indexRoot, name='engFencerIdfencerId')
    badFencerengFencerIdMap = dix.IndexMap(indexRoot,
                                           name='badFencerengFencerIdMap',
                                           unique=True)

    engIdEventIdSet = dix.IndexSet(indexRoot,
                                   name='engIdEventIdSet',
                                   unique=True,
                                   keyType=int)
    eventIdDelemMap = dix.IndexMap(indexRoot,
                                   name='eventIdDelemMap',
                                   unique=True,
                                   hasinvet=False,
                                   keyType=int)

    delimRoot = os.path.join(srcRoot, 'delim')
    paths = pathlib.Path(delimRoot)

    for path in paths.iterdir():
        path = str(path)

        if processedFileList.exists(name='delim', val=path):
            print('driverDelim', 'already processed', path)
            continue

        print('driverDelim', 'processing', path)

        with open(path) as fd:
            jobj = json.load(fd)
            obj = fileutil.cleanUp(obj=jobj, fctr=fileutil.StrFunctor())

            eventId = int(obj['event_id'])
            des = de_core.de2ser(de=obj['rounds'])

            mat = {'fencer1': [], 'fencer2': [], 'score1': [], 'score2': []}

            for (fencer1, fencer2, score1, score2) in des:
                try:
                    key1 = (fencer1, eventId)
                    key2 = (fencer2, eventId)
                    updateFencerNameEventId(
                        keys=[key1, key2],
                        fencerNameEventIdMap=fencerNameEventIdMap,
                        engFencerIdfencerId=engFencerIdfencerId,
                        badFencerengFencerIdMap=badFencerengFencerIdMap)

                    fencer1 = fencerNameEventIdMap.get(key1)
                    fencer2 = fencerNameEventIdMap.get(key2)

                    if not engIdEventIdSet.exists(fencer1, eventId):
                        engIdEventIdSet.add(fencer1, eventId)
                    if not engIdEventIdSet.exists(fencer2, eventId):
                        engIdEventIdSet.add(fencer2, eventId)

                except KeyError as e:
                    raise BadData({'path': path})

                # print (fencer1, fencer2, score1, score2)
                mat['fencer1'].append(fencer1)
                mat['fencer2'].append(fencer2)
                mat['score1'].append(score1)
                mat['score2'].append(score2)

            df = pandas.DataFrame(mat)

            if eventIdDelemMap.exists(eventId):
                dfp = eventIdDelemMap.get(eventId)
                df = dfp.append(df)
                df = df.reset_index()
                eventIdDelemMap.reset(eventId, df)
            else:
                eventIdDelemMap.add(eventId, df)

        processedFileList.add(name='delim', val=path)