def main():

    def remove(bugid):
        notice("Removing bugid %s" % (bugid,))
        log(util.remove_issue_by_bugid(bugid, bzlib.prepend))

    if not util.can_edit_ref:
        elog('%s reference field not editable on this install' % (bugid,))
        sys.exit(1)

    if 'failed' in sys.argv:
        priority = ipriority['creation_failed']
    else:
        priority = 0

    pmig = phabdb.phdb(db=config.bzmigrate_db,
                       user=config.bzmigrate_user,
                       passwd=config.bzmigrate_passwd)
    bugs = return_bug_list(dbcon=pmig, priority=priority)
    pmig.close()

    #Serious business
    if 'failed' in sys.argv or '-r' in sys.argv:
        for b in bugs:
            remove(b)

    from multiprocessing import Pool
    pool = Pool(processes=int(config.bz_createmulti))
    _ =  pool.map(run_create, bugs)
    complete = len(filter(bool, _))
    failed = len(_) - complete
    print '%s completed %s, failed %s' % (sys.argv[0], complete, failed)
def main():
    bugs = return_bug_list()
    result = []
    for b in bugs:
        result.append(run_populate(b))
    complete = len(filter(bool, result))
    failed = len(result) - complete
    print '%s completed %s, failed %s' % (sys.argv[0], complete, failed)
def main():
    bugs = return_bug_list()
    from multiprocessing import Pool
    pool = Pool(processes=int(config.bz_createmulti))
    _ =  pool.map(run_create, bugs)
    complete = len(filter(bool, _))
    failed = len(_) - complete
    print '%s completed %s, failed %s' % (sys.argv[0], complete, failed)
def main():
    bugs = return_bug_list()
    from multiprocessing import Pool
    pool = Pool(processes=int(config.bz_updatemulti))
    result =  pool.map(run_update, bugs)
    missing = len([i for i in result if i == 'missing'])
    complete = len(filter(bool, [i for i in result if i not in ['missing']]))
    failed = (len(result) - missing) - complete
    print '-----------------------------\n \
          %s Total %s (missing %s)\n \
          completed %s, failed %s' % (sys.argv[0],
                                                          len(bugs),
                                                          missing,
                                                          complete,
                                                          failed)
def main():
    bugs = return_bug_list()
    result = []
    for b in bugs:
        result.append(run_populate(b))

    missing = len([i for i in result if i == 'missing'])
    complete = len(filter(bool, [i for i in result if i not in ['missing']]))
    failed = (len(result) - missing) - complete
    print '-----------------------------\n \
          %s Total %s (missing %s)\n \
          completed %s, failed %s' % (sys.argv[0],
                                                          len(bugs),
                                                          missing,
                                                          complete,
                                                          failed)
def main():

    if not util.can_edit_ref:
        elog('%s reference field not editable on this install' % (rtid,))
        sys.exit(1)

    pmig = phdb(db=config.rtmigrate_db)
    bugs = return_bug_list(dbcon=pmig)
    pmig.close()

    #Serious business
    if 'failed' in sys.argv or '-r' in sys.argv:
        for b in bugs:
            util.notice("Removing rtid %s" % (b,))
            log(util.remove_issue_by_bugid(b, rtlib.prepend))

    from multiprocessing import Pool
    pool = Pool(processes=int(config.bz_createmulti))
    _ =  pool.map(run_create, bugs)
    missing = len([i for i in _ if i == 'missing'])
    complete = len(filter(bool, [i for i in _ if i not in ['missing']]))
    failed = (len(_) - missing) - complete
    print '%s completed %s, missing %s, failed %s' % (sys.argv[0], complete, missing, failed)
def main():

    bugs = return_bug_list()
    from multiprocessing import Pool
    pool = Pool(processes=int(config.bz_fetchmulti))
    _ =  pool.map(run_fetch, bugs)
    vlog(_)
    denied = len([i for i in _ if i == 'denied'])
    disabled = len([i for i in _ if i == 'disabled'])
    missing = len([i for i in _ if i == 'missing'])
    complete = len(filter(bool, [i for i in _ if i not in ['denied', 'disabled', 'missing']]))
    known_bad = denied + disabled + missing
    failed = (len(_) - known_bad) - complete
    print '-----------------------------\n \
          %s Total %s\n \
          known bad %s (denied %s, disabled %s, missing %s)\n\n \
          completed %s, failed %s' % (sys.argv[0],
                                                          len(bugs),
                                                          known_bad,
                                                          denied,
                                                          disabled,
                                                          missing,
                                                          complete,
                                                          failed)
        else:
            insert_values =  (fabid, ipriority['fetch_failed'], 'nan', 'nan', now(), now())
            pmig.sql_x("INSERT INTO fab_meta (id, priority, header, comments, created, modified) VALUES (%s, %s, %s, %s, %s, %s)",
                   insert_values)
        pmig.close()
        log('failed to grab %s' % (fabid,))
        return False
    try:
        if fetch(fabid):
            vlog(str(time.time()))
            log('done fetching %s' % (fabid,))
            return True
    except Exception as e:
        tries -= 1
        time.sleep(5)
        import traceback
        traceback.print_exc(file=sys.stdout)
        log('failed to grab %s (%s)' % (fabid, e))
        return run_fetch(fabid, tries=tries)


bugs = return_bug_list()
vlog(bugs)
log("Fetching %s" % (len(bugs),))
from multiprocessing import Pool
pool = Pool(processes=7)
_ =  pool.map(run_fetch, bugs)
complete = len(filter(bool, _))
failed = len(_) - complete
print 'completed %s, failed %s' % (complete, failed)