Merge "Wait for ACL creation in manage-projects"
diff --git a/jeepyb/cmd/manage_projects.py b/jeepyb/cmd/manage_projects.py
index 98d0acb..2c4eec7 100644
--- a/jeepyb/cmd/manage_projects.py
+++ b/jeepyb/cmd/manage_projects.py
@@ -115,32 +115,6 @@
     return (status, out)
 
 
-def write_acl_config(project, acl_dir, acl_base, acl_append, parameters):
-    project_parts = os.path.split(project)
-    if len(project_parts) > 1:
-        repo_base = os.path.join(acl_dir, *project_parts[:-1])
-        if not os.path.exists(repo_base):
-            os.makedirs(repo_base)
-        if not os.path.isdir(repo_base):
-            return 1
-        project = project_parts[-1]
-        config_file = os.path.join(repo_base, "%s.config" % project)
-    else:
-        config_file = os.path.join(acl_dir, "%s.config" % project)
-    if 'project' not in parameters:
-        parameters['project'] = project
-    with open(config_file, 'w') as config:
-        if acl_base and os.path.exists(acl_base):
-            config.write(open(acl_base, 'r').read())
-        for acl_snippet in acl_append:
-            if not os.path.exists(acl_snippet):
-                acl_snippet = os.path.join(acl_dir, acl_snippet)
-            if not os.path.exists(acl_snippet):
-                continue
-            with open(acl_snippet, 'r') as append_content:
-                config.write(append_content.read() % parameters)
-
-
 def fetch_config(project, remote_url, repo_path, env={}):
     # Poll for refs/meta/config as gerrit may not have written it out for
     # us yet.
@@ -198,7 +172,7 @@
         raise CopyACLException()
 
     status = git_command(repo_path, "diff --quiet")
-    return status == 0
+    return status != 0
 
 
 def push_acl_config(project, remote_url, repo_path, gitid, env={}):
@@ -493,11 +467,7 @@
 def process_acls(acl_config, project, ACL_DIR, section,
                  remote_url, repo_path, ssh_env, gerrit, GERRIT_GITID):
     if not os.path.isfile(acl_config):
-        write_acl_config(project,
-                         ACL_DIR,
-                         section.get('acl-base', None),
-                         section.get('acl-append', []),
-                         section.get('acl-parameters', {}))
+        return
     try:
         fetch_config(project, remote_url, repo_path, ssh_env)
         if not copy_acl_config(project, repo_path, acl_config):
diff --git a/jeepyb/gerritdb.py b/jeepyb/gerritdb.py
index 2255b64..8343b8e 100644
--- a/jeepyb/gerritdb.py
+++ b/jeepyb/gerritdb.py
@@ -15,7 +15,6 @@
 # under the License.
 
 import ConfigParser
-import MySQLdb
 import os
 import StringIO
 
@@ -47,11 +46,18 @@
         gerrit_config = get_broken_config(GERRIT_CONFIG)
         secure_config = get_broken_config(GERRIT_SECURE_CONFIG)
 
+        DB_TYPE = gerrit_config.get("database", "type")
         DB_HOST = gerrit_config.get("database", "hostname")
         DB_USER = gerrit_config.get("database", "username")
         DB_PASS = secure_config.get("database", "password")
         DB_DB = gerrit_config.get("database", "database")
 
-        db_connection = MySQLdb.connect(
-            host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_DB)
+        if DB_TYPE == "MYSQL":
+            import MySQLdb
+            db_connection = MySQLdb.connect(
+                host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_DB)
+        else:
+            import psycopg2
+            db_connection = psycopg2.connect(
+                host=DB_HOST, user=DB_USER, password=DB_PASS, database=DB_DB)
     return db_connection