Univention Bugzilla – Attachment 5360 Details for
Bug 32194
Tool for removing s4 connector rejects via CLI
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Tool for removing entries from S4 connector reject list
univention-s4connector-manage-rejected (text/plain), 3.19 KB, created by
Sönke Schwardt-Krummrich
on 2013-08-08 14:21:46 CEST
(
hide
)
Description:
Tool for removing entries from S4 connector reject list
Filename:
MIME Type:
Creator:
Sönke Schwardt-Krummrich
Created:
2013-08-08 14:21:46 CEST
Size:
3.19 KB
patch
obsolete
>#!/usr/bin/python ># >import sys >import optparse >import os >import sqlite3 >import shutil > >PATH_S4DB = '/etc/univention/connector/s4internal.sqlite' >PATH_BACKUP = '/var/lib/univention-connector/s4.BACKUP' > >def main(): > usage = ''' > univention-s4connector-manage-rejected --delete --ucstos4 <UCS-DN> > univention-s4connector-manage-rejected --delete --s4toucs <S4-DN>''' > parser = optparse.OptionParser(usage=usage) > parser.add_option('-d', '--delete', dest="delete", default=False, action="store_true", help="delete given reject") > parser.add_option("--dryrun", dest="dryrun", default=False, action="store_true", help="perform only a dry-run") > parser.add_option("--ucstos4", dest="ucsdn", default=None, action="store", help="perform action in UCS-to-S4 queue") > parser.add_option("--s4toucs", dest="s4dn", default=None, action="store", help="perform action in S4-to-UCS queue") > parser.add_option("--nobackup", dest="backup", default=True, action="store_false", help="disable automatic backup") > (options, args) = parser.parse_args() > > if not options.delete: > print >>sys.stderr, 'Option --delete is missing' > sys.exit(1) > if (not options.ucsdn and not options.s4dn) or (options.ucsdn and options.s4dn): > print >>sys.stderr, 'Either option --ucsdn or option --s4dn has to be specified' > sys.exit(1) > > if options.s4dn: > dbconn = sqlite3.connect(PATH_S4DB) > dbcur = dbconn.cursor() > dbcur.execute("SELECT * FROM 'S4 rejected' WHERE Value = '%s'" % options.s4dn) > result = dbcur.fetchall() > if not result: > print 'WARNING: DN not found in S4 rejected list' > for usn, dn in result: > if options.backup: > print 'Saving entry (%s, %s)' % (usn, dn) > if not options.dryrun: > if not os.path.exists(PATH_BACKUP): > os.makedirs(backupdir, 0700) > open(os.path.join(PATH_BACKUP, 'usn-%s' % usn), 'w').write(dn) > else: > print 'DRYRUN: would create backup to %s' % PATH_BACKUP > print 'Deleting entry (%s, %s)' % (usn, dn) > > > if not options.dryrun: > dbcur.execute("DELETE FROM 'S4 rejected' WHERE Value = '%s'" % options.s4dn) > dbconn.commit() > else: > print "DRYRUN: DELETE FROM 'S4 rejected' WHERE Value = '%s'" % options.s4dn > dbconn.close() > > if options.ucsdn: > dbconn = sqlite3.connect(PATH_S4DB) > dbcur = dbconn.cursor() > dbcur.execute("SELECT * FROM 'UCS rejected' WHERE Value = '%s'" % options.ucsdn) > result = dbcur.fetchall() > if not result: > print 'WARNING: DN not found in UCS rejected list' > for fn, dn in result: > if options.backup: > print 'Saving entry %s in %s' % (fn, PATH_BACKUP) > targetfn = os.path.join(PATH_BACKUP, os.path.basename(fn)) > if not options.dryrun: > if not os.path.exists(PATH_BACKUP): > os.makedirs(PATH_BACKUP, 0700) > shutil.copy2(fn, PATH_BACKUP) > open('%s.dn' % targetfn, 'w').write(dn) > else: > print 'DRYRUN: would create backup to %s' % PATH_BACKUP > print 'Deleting entry (%s, %s)' % (fn, dn) > if not options.dryrun: > os.remove(fn) > else: > print 'DRYRUN: would remove %s' % fn > > if not options.dryrun: > dbcur.execute("DELETE FROM 'UCS rejected' WHERE Value = '%s'" % options.ucsdn) > dbconn.commit() > else: > print "DRYRUN: DELETE FROM 'UCS rejected' WHERE Value = '%s'" % options.ucsdn > dbconn.close() > >if __name__ == "__main__": > main()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 32194
: 5360