コード例 #1
0
ファイル: cfbot.py プロジェクト: davidfetter/cfbot
def run():
  with cfbot_util.db() as conn:

    # get the current Commitfest ID
    commitfest_id = cfbot_commitfest_rpc.get_current_commitfest_id()

    # pull in any build results that we are waiting for
    if "appveyor" in cfbot_config.CI_PROVIDERS:
      cfbot_appveyor.pull_build_results(conn)
    if "travis" in cfbot_config.CI_PROVIDERS:
      cfbot_travis.pull_build_results(conn)

    # exchange data with the Commitfest app
    cfbot_commitfest.pull_submissions(conn, commitfest_id)
    cfbot_commitfest.pull_submissions(conn, commitfest_id + 1)
    cfbot_commitfest.pull_modified_threads(conn)
    cfbot_commitfest.push_build_results(conn)

    # build one patch, if it is time for that
    cfbot_patch.maybe_process_one(conn)

    # rebuild a new set of web pages
    cfbot_web.rebuild(conn, commitfest_id)

    # garbage collect old build results
    cfbot_util.gc(conn)
コード例 #2
0
ファイル: cfbot_commitfest.py プロジェクト: davidfetter/cfbot
  cursor = conn.cursor()
  cursor2 = conn.cursor()
  cursor.execute("""SELECT commitfest_id, submission_id, last_email_time
                      FROM submission
                     WHERE last_email_time_checked IS NULL
                        OR last_email_time_checked != last_email_time""")
  for commitfest_id, submission_id, last_email_time in cursor:
    url = cfbot_commitfest_rpc.get_thread_url_for_submission(commitfest_id, submission_id)
    message_id, attachments = cfbot_commitfest_rpc.get_latest_patches_from_thread_url(url)
    # clear last_branch_message_id because of stupid race with slow updating
    # archives website ... gah, need different state tracking
    cursor2.execute("""UPDATE submission
                          SET last_email_time_checked = %s,
                              last_message_id = %s,
                              last_branch_message_id = NULL
                        WHERE commitfest_id = %s
                          AND submission_id = %s""",
                    (last_email_time, message_id, commitfest_id, submission_id))
    conn.commit()

def push_build_results(conn):
  pass

if __name__ == "__main__":
  with cfbot_util.db() as conn:
    commitfest_id = cfbot_commitfest_rpc.get_current_commitfest_id()
    pull_submissions(conn, commitfest_id)
    pull_submissions(conn, commitfest_id + 1)
    pull_modified_threads(conn)
    push_build_results(conn)