私がしたいことは(私が思ったように)非常に簡単なことです。私はdictsとして表され、すべてのこれらのエントリを持って、自分のコードでLDIFをPythonで使用してLDAP内の属性を削除する
dn: cn=myorg,ou=teams,ou=groups,o=company,c=us
cn: myorg
objectClass: top
objectClass: CompanyTeams
objectClass: groupOfUniqueNames
owner: cn=john,ou=people,o=company,c=us
uniqueMember: cn=bob,ou=people,o=company,c=us
uniqueMember: cn=bill,ou=people,o=company,c=us
uniqueMember: cn=carol,ou=people,o=company,c=us
uniqueMember: cn=frank,ou=people,o=company,c=us
uniqueMember: cn=alice,ou=people,o=company,c=us
:私は、LDAP(LDIF形式で)このようなエントリを持っています。私はこれらのエントリを適切なLDIFに書き出すためにPythonのLDIFライターを使用しています。
def dump_ldif(self):
writer = LDIFWriter(open('entrybackup.ldif', 'wb'))
writer.unparse(cn=myorg, self.all_the_teams.get_teamstr_by_name('{'objectClass': ['top', 'CompanyTeams', 'groupOfUniqueNames']'owner': ['cn=john,ou=people,o=company,c=us'], 'uniqueMember': ['uniqueMember: cn=bob,ou=people,o=company,c=us','uniqueMember: cn=bill,ou=people,o=company,c=us','uniqueMember: cn=carol,ou=people,o=company,c=us','uniqueMember: cn=frank,ou=people,o=company,c=us','uniqueMember: cn=alice,ou=people,o=company,c=us'], 'cn': ['myorg']}')
しかし、削除/変更演算子を使用するLDIF出力はどうやっていますか?私は離れて行きたいのuniqueMemberのリストがあります:
['cn=bob,ou=people,o=company,c=us', 'cn=bill,ou=people,o=company,c=us']
とを(私は信じている)、これは私のリストから引っ張って、LDIF形式での最終目標である:
dn: cn=myorg,ou=teams,ou=groups,o=company,c=us
changetype: modify
delete: uniqueMember
uniqueMember: cn=bob,ou=people,o=company,c=us
uniqueMember: cn=bill,ou=people,o=company,c=us
はいくつかがありませんPython(2.7)でこれを行う簡単な方法は?クレイジーな気分になり始めました。注:私はテキストの出力/操作を行うことができますが、この出力を書き込むにはLDIFWriterを使用します。 LDIFディレクティブを出力するための構文を探したいだけです。
** **天使のように**ありがとうございました!このソリューションは素晴らしい結果を出しました。 – Chloe