diff options
author | Michal Toman <mtoman@redhat.com> | 2011-03-23 11:19:01 +0100 |
---|---|---|
committer | Michal Toman <mtoman@redhat.com> | 2011-03-23 11:19:01 +0100 |
commit | dc42378d86f3cc7416c3c9eca3dd331f3f8e59da (patch) | |
tree | 684d9443cf787becdf4e103edf3aa68202690040 /src/retrace/retrace.py | |
parent | 7de7895acbd189a0be5212583d78dacecd6984db (diff) | |
download | abrt-dc42378d86f3cc7416c3c9eca3dd331f3f8e59da.tar.gz abrt-dc42378d86f3cc7416c3c9eca3dd331f3f8e59da.tar.xz abrt-dc42378d86f3cc7416c3c9eca3dd331f3f8e59da.zip |
retrace server: make reposync pluginable
Diffstat (limited to 'src/retrace/retrace.py')
-rw-r--r-- | src/retrace/retrace.py | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/retrace/retrace.py b/src/retrace/retrace.py index f3933fb3..33488bba 100644 --- a/src/retrace/retrace.py +++ b/src/retrace/retrace.py @@ -5,6 +5,7 @@ import re import ConfigParser import random import sqlite3 +from plugins import * from webob import Request from subprocess import * @@ -65,6 +66,24 @@ CONFIG = { "DBFile": "stats.db", } +def lock(lockfile): + try: + if not os.path.isfile(lockfile): + open(lockfile, "w").close() + except: + return False + + return True + +def unlock(lockfile): + try: + if os.path.getsize(lockfile) == 0: + os.unlink(lockfile) + except: + return False + + return True + def read_config(): parser = ConfigParser.ConfigParser() parser.read(CONFIG_FILE) @@ -132,10 +151,10 @@ def guess_arch(coredump_path): return None def guess_release(package): - for distro in GUESS_RELEASE_PARSERS.keys(): - match = GUESS_RELEASE_PARSERS[distro].search(package) + for plugin in PLUGINS: + match = plugin.guessparser.search(package) if match: - return distro, match.group(1) + return plugin.distribution, match.group(1) return None, None |