summaryrefslogtreecommitdiffstats
path: root/scripts/aurblup.py
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2016-09-20 08:42:59 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2016-09-29 22:07:06 +0200
commit603b5b5db916da7d2a44e9e89587d62859840287 (patch)
tree570600310ef7fa112980b6a03dac068edb644888 /scripts/aurblup.py
parentf3fb614f196a1feb2738c56364f6e877d474ff2d (diff)
downloadaur-603b5b5db916da7d2a44e9e89587d62859840287.tar.gz
aur-603b5b5db916da7d2a44e9e89587d62859840287.tar.xz
Add a main() method to all Python scripts
Move the main program logic of all scripts to main() methods such that they can be used as modules and easily be invoked by setuptools wrapper scripts. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'scripts/aurblup.py')
-rwxr-xr-xscripts/aurblup.py86
1 files changed, 46 insertions, 40 deletions
diff --git a/scripts/aurblup.py b/scripts/aurblup.py
index 6733b45d..07119b5f 100755
--- a/scripts/aurblup.py
+++ b/scripts/aurblup.py
@@ -18,43 +18,49 @@ db_path = config.get('aurblup', 'db-path')
sync_dbs = config.get('aurblup', 'sync-dbs').split(' ')
servers = config.get('aurblup', 'servers').split(' ')
-blacklist = set()
-providers = set()
-repomap = dict()
-
-h = pyalpm.Handle("/", db_path)
-for sync_db in sync_dbs:
- repo = h.register_syncdb(sync_db, pyalpm.SIG_DATABASE_OPTIONAL)
- repo.servers = [server.replace("%s", sync_db) for server in servers]
- t = h.init_transaction()
- repo.update(False)
- t.release()
-
- for pkg in repo.pkgcache:
- blacklist.add(pkg.name)
- [blacklist.add(x) for x in pkg.replaces]
- providers.add((pkg.name, pkg.name))
- repomap[(pkg.name, pkg.name)] = repo.name
- for provision in pkg.provides:
- provisionname = re.sub(r'(<|=|>).*', '', provision)
- providers.add((pkg.name, provisionname))
- repomap[(pkg.name, provisionname)] = repo.name
-
-db = mysql.connector.connect(host=aur_db_host, user=aur_db_user,
- passwd=aur_db_pass, db=aur_db_name,
- unix_socket=aur_db_socket, buffered=True)
-cur = db.cursor()
-
-cur.execute("SELECT Name, Provides FROM OfficialProviders")
-oldproviders = set(cur.fetchall())
-
-for pkg, provides in providers.difference(oldproviders):
- repo = repomap[(pkg, provides)]
- cur.execute("INSERT INTO OfficialProviders (Name, Repo, Provides) "
- "VALUES (%s, %s, %s)", [pkg, repo, provides])
-for pkg, provides in oldproviders.difference(providers):
- cur.execute("DELETE FROM OfficialProviders "
- "WHERE Name = %s AND Provides = %s", [pkg, provides])
-
-db.commit()
-db.close()
+
+def main():
+ blacklist = set()
+ providers = set()
+ repomap = dict()
+
+ h = pyalpm.Handle("/", db_path)
+ for sync_db in sync_dbs:
+ repo = h.register_syncdb(sync_db, pyalpm.SIG_DATABASE_OPTIONAL)
+ repo.servers = [server.replace("%s", sync_db) for server in servers]
+ t = h.init_transaction()
+ repo.update(False)
+ t.release()
+
+ for pkg in repo.pkgcache:
+ blacklist.add(pkg.name)
+ [blacklist.add(x) for x in pkg.replaces]
+ providers.add((pkg.name, pkg.name))
+ repomap[(pkg.name, pkg.name)] = repo.name
+ for provision in pkg.provides:
+ provisionname = re.sub(r'(<|=|>).*', '', provision)
+ providers.add((pkg.name, provisionname))
+ repomap[(pkg.name, provisionname)] = repo.name
+
+ db = mysql.connector.connect(host=aur_db_host, user=aur_db_user,
+ passwd=aur_db_pass, db=aur_db_name,
+ unix_socket=aur_db_socket, buffered=True)
+ cur = db.cursor()
+
+ cur.execute("SELECT Name, Provides FROM OfficialProviders")
+ oldproviders = set(cur.fetchall())
+
+ for pkg, provides in providers.difference(oldproviders):
+ repo = repomap[(pkg, provides)]
+ cur.execute("INSERT INTO OfficialProviders (Name, Repo, Provides) "
+ "VALUES (%s, %s, %s)", [pkg, repo, provides])
+ for pkg, provides in oldproviders.difference(providers):
+ cur.execute("DELETE FROM OfficialProviders "
+ "WHERE Name = %s AND Provides = %s", [pkg, provides])
+
+ db.commit()
+ db.close()
+
+
+if __name__ == '__main__':
+ main()