Skip to content
Snippets Groups Projects
Commit d23a2d93 authored by ale's avatar ale
Browse files

add a --apply option (default to dry run, no files removed) for the deduper

parent 6d0d09b6
No related branches found
No related tags found
No related merge requests found
...@@ -51,9 +51,10 @@ class DeDuper(object): ...@@ -51,9 +51,10 @@ class DeDuper(object):
if title: data["track"] = title if title: data["track"] = title
return data return data
def dedupe(self): def dedupe(self, dry_run=True):
self._ingest() self._ingest()
self._scan_for_dupes() self._scan_for_dupes()
if not dry_run:
self._cleanup() self._cleanup()
def _ingest(self): def _ingest(self):
...@@ -220,15 +221,16 @@ class DeDuper(object): ...@@ -220,15 +221,16 @@ class DeDuper(object):
Session.commit() Session.commit()
def run_deduper(db_url): def run_deduper(db_url, dry_run):
init_db(db_url) init_db(db_url)
dup = DeDuper() dup = DeDuper()
dup.dedupe() dup.dedupe(dry_run)
def main(): def main():
parser = optparse.OptionParser() parser = optparse.OptionParser()
parser.add_option('--db_url') parser.add_option('--db_url')
parser.add_option('--apply', action='store_true')
daemonize.add_standard_options(parser) daemonize.add_standard_options(parser)
utils.read_config_defaults( utils.read_config_defaults(
parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf')) parser, os.getenv('DJRANDOM_CONF', '/etc/djrandom.conf'))
...@@ -239,7 +241,7 @@ def main(): ...@@ -239,7 +241,7 @@ def main():
parser.error('Too many arguments') parser.error('Too many arguments')
daemonize.daemonize(opts, run_deduper, daemonize.daemonize(opts, run_deduper,
(opts.db_url,)) (opts.db_url, not opts.apply))
if __name__ == '__main__': if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment