Beispiel #1
0
def CreateLiveBlob(file_name):
    with ProfileDb(file_name) as profileDb:
        profileDb.Clear()

        stringMap   =   StringMap()
        progress    =   Progress()
        for section in Progress.SECTIONS:
            profileDb.FillSection(section,progress.getIds(section))
        profileDb.FillStrings("Fetishes",stringMap.getSection("Fetish"))
        pids        =   set(progress.getIds("CompletedProfiles"))
        sys.stderr.write("Profiles to load: [%s]\n" % len(pids))
        ploaded      =   0
        pfailed      =   0
        ptotal       =   len(pids)
        for pid in pids:
            profile =   Profile(pid)
            if(profile.load()):
                profileDb.AddProfile(profile)
                ploaded   += 1
                sys.stderr.write("Progress - Loaded Profile [%12s], [%12s] of [%12s], [%3s%% Done]\n" % (pid,ploaded,ptotal,100*(ploaded+pfailed)/ptotal))
            else:
                progress.errorProfile(pid)
                pfailed  += 1
                sys.stderr.write("Progress - Failed Profile [%12s], [%12s] of [%12s], [%s%% Done]\n" % (pid,pfailed,ptotal,100*(ploaded+pfailed)/ptotal))
            del profile
        gids        =   set(progress.getIds("CompletedGroups"))
        sys.stderr.write("Groups to load: [%s]\n" % len(gids))
        gloaded      =   0
        gfailed      =   0
        gtotal       =   len(gids)
        for gid in gids:
            group =   Group(gid)
            if(group.load()):
                profileDb.AddGroup(group)
                gloaded   += 1
                sys.stderr.write("Progress - Loaded Group [%12s], [%12s] of [%12s], [%3s%% Done]\n" % (gid,gloaded,gtotal,100*(gloaded+gfailed)/gtotal))
            else:
                progress.errorGroup(gid)
                failed  += 1
                sys.stderr.write("Progress - Failed Group [%12s], [%12s] of [%12s], [%s%% Done]\n" % (gid,gfailed,gtotal,100*(gloaded+gfailed)/gtotal))
            del group
 

        sys.stderr.write("Loaded [%d] Profiles [%d] Groups [%d] Errors.\n" % (ploaded,gloaded,pfailed+gfailed))
        return profileDb