Author: poeml Date: Wed Dec 29 20:00:15 2010 New Revision: 8233 URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain?rev=8233&view=rev Log: mb dirs: - add --missing DIR option to list all mirrors which don't have the given directory DIR
Modified: trunk/mb/mb.py trunk/mb/mb/files.py Modified: trunk/mb/mb.py URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain/trunk/mb/mb.py?rev=8233&r1=8232&r2=8233&view=diff ============================================================================== --- trunk/mb/mb.py (original) +++ trunk/mb/mb.py Wed Dec 29 20:00:15 2010 @@ -1383,6 +1383,10 @@ help='show up to N distinct path segments.') @cmdln.option('-d', dest='dirpath', metavar='DIR', help='list mirrors on which DIR was found.') + @cmdln.option('--missing', dest='missingdirpath', metavar='DIR', + help='list mirrors on which DIR was *not* found.') + @cmdln.option('--sql-debug', action='store_true', + help='Show SQL statements for debugging purposes.') def do_dirs(self, subcmd, opts, *args): """${cmd_name}: show directories that are in the database @@ -1416,6 +1420,9 @@ if opts.dirpath: for i in mb.files.dir_show_mirrors(self.conn, opts.dirpath): + print i[0] + elif opts.missingdirpath: + for i in mb.files.dir_show_mirrors(self.conn, opts.missingdirpath, missing=True): print i[0] else: for i in mb.files.dir_ls(self.conn, segments=opts.segments, mirror=mirror): Modified: trunk/mb/mb/files.py URL: http://svn.mirrorbrain.org/viewvc/mirrorbrain/trunk/mb/mb/files.py?rev=8233&r1=8232&r2=8233&view=diff ============================================================================== --- trunk/mb/mb/files.py (original) +++ trunk/mb/mb/files.py Wed Dec 29 20:00:15 2010 @@ -120,14 +120,18 @@ result = conn.Server._connection.queryAll(query) return result -def dir_show_mirrors(conn, path): +def dir_show_mirrors(conn, path, missing=False): """Show mirrors on which a certain directory path was found. The path could actually also be a file, it doesn't matter, but directory is what we are looking for in the context that this function was written for. """ - query = """select distinct(mirrors) from filearr where path like '%s%%'""" % path + if missing: + query = """select distinct(mirrors) from filearr where path not like '%s%%'""" % path + else: + query = """select distinct(mirrors) from filearr where path like '%s%%'""" % path + result = conn.Server._connection.queryAll(query) mirror_ids = [] _______________________________________________ mirrorbrain-commits mailing list Archive: http://mirrorbrain.org/archive/mirrorbrain-commits/ Note: To remove yourself from this list, send a mail with the content unsubscribe to the address mirrorbrain-commits-requ...@mirrorbrain.org