|
37 |
import time |
37 |
import time |
38 |
import os |
38 |
import os |
39 |
import univention.debug |
39 |
import univention.debug |
|
|
40 |
import shutil |
40 |
|
41 |
|
41 |
name = 'ad-connector' |
42 |
name = 'ad-connector' |
42 |
description = 'AD Connector replication' |
43 |
description = 'AD Connector replication' |
Lines 94-121
def _dump_changes_to_file_and_check_file(directory, dn, new, old, old_dn):
|
Link Here
|
---|
|
94 |
|
95 |
|
95 |
ob = (dn, new, old, old_dn) |
96 |
ob = (dn, new, old, old_dn) |
96 |
|
97 |
|
97 |
filename = os.path.join(directory, "%f" % time.time()) |
98 |
tmpdir = os.path.join(directory, 'tmp') |
|
|
99 |
filename = '%f' % (time.time(),) |
100 |
filepath = os.path.join(tmpdir, filename) |
98 |
|
101 |
|
99 |
_dump_object_to_file(filename, ob) |
102 |
_dump_object_to_file(filepath, ob) |
100 |
|
103 |
|
101 |
tmp_array = [] |
104 |
tmp_array = [] |
102 |
f = open(filename, 'r') |
105 |
f = open(filepath, 'r') |
103 |
tmp_array = cPickle.load(f) |
106 |
tmp_array = cPickle.load(f) |
104 |
f.close() |
107 |
f.close() |
105 |
|
108 |
|
106 |
tmp_array_len = len(tmp_array) |
109 |
tmp_array_len = len(tmp_array) |
107 |
if tmp_array_len != 4: |
110 |
if tmp_array_len != 4: |
108 |
univention.debug.debug(univention.debug.LDAP, univention.debug.WARN, 'replacing broken cPickle in %s (len=%s) with plain pickle' % (filename, tmp_array_len)) |
111 |
univention.debug.debug(univention.debug.LDAP, univention.debug.WARN, 'replacing broken cPickle in %s (len=%s) with plain pickle' % (filepath, tmp_array_len)) |
109 |
_dump_object_to_file(filename, ob) |
112 |
_dump_object_to_file(filepath, ob) |
110 |
|
113 |
|
111 |
tmp_array = [] |
114 |
tmp_array = [] |
112 |
f = open(filename, 'r') |
115 |
f = open(filepath, 'r') |
113 |
tmp_array = cPickle.load(f) |
116 |
tmp_array = cPickle.load(f) |
114 |
f.close() |
117 |
f.close() |
115 |
|
118 |
|
116 |
tmp_array_len = len(tmp_array) |
119 |
tmp_array_len = len(tmp_array) |
117 |
if tmp_array_len != 4: |
120 |
if tmp_array_len != 4: |
118 |
univention.debug.debug(univention.debug.LDAP, univention.debug.ERROR, 'pickle in %s (len=%s) seems to be broken' % (filename, tmp_array_len)) |
121 |
univention.debug.debug(univention.debug.LDAP, univention.debug.ERROR, 'pickle in %s (len=%s) seems to be broken' % (filepath, tmp_array_len)) |
|
|
122 |
|
123 |
shutil.move(filepath, os.path.join(directory, filename)) |
119 |
|
124 |
|
120 |
|
125 |
|
121 |
def handler(dn, new, old, command): |
126 |
def handler(dn, new, old, command): |