diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-10-04 16:12:13 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-10-04 16:12:13 -0400 |
commit | be4588009b7106859e1beae6038aaea8d7f85825 (patch) | |
tree | ee0010a7003d23a686888fc9585de4e0ec429547 /pynslcd/alias.py | |
parent | 8e54633a2b520dff0a237349f5fc4cbcf4719f40 (diff) |
remove non-nslcd stuff
Diffstat (limited to 'pynslcd/alias.py')
-rw-r--r-- | pynslcd/alias.py | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/pynslcd/alias.py b/pynslcd/alias.py deleted file mode 100644 index 371ac2e..0000000 --- a/pynslcd/alias.py +++ /dev/null @@ -1,99 +0,0 @@ - -# alias.py - lookup functions for email aliases -# -# Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301 USA - -import cache -import common -import constants -import search - - -attmap = common.Attributes(cn='cn', rfc822MailMember='rfc822MailMember') -filter = '(objectClass=nisMailAlias)' - - -class Search(search.LDAPSearch): - - case_insensitive = ('cn', ) - limit_attributes = ('cn', ) - required = ('cn', 'rfc822MailMember') - - -class Cache(cache.Cache): - - tables = ('alias_cache', 'alias_member_cache') - - create_sql = ''' - CREATE TABLE IF NOT EXISTS `alias_cache` - ( `cn` TEXT PRIMARY KEY COLLATE NOCASE, - `mtime` TIMESTAMP NOT NULL ); - CREATE TABLE IF NOT EXISTS `alias_member_cache` - ( `alias` TEXT NOT NULL COLLATE NOCASE, - `rfc822MailMember` TEXT NOT NULL, - FOREIGN KEY(`alias`) REFERENCES `alias_cache`(`cn`) - ON DELETE CASCADE ON UPDATE CASCADE ); - CREATE INDEX IF NOT EXISTS `alias_member_idx` ON `alias_member_cache`(`alias`); - ''' - - retrieve_sql = ''' - SELECT `alias_cache`.`cn` AS `cn`, - `alias_member_cache`.`rfc822MailMember` AS `rfc822MailMember`, - `alias_cache`.`mtime` AS `mtime` - FROM `alias_cache` - LEFT JOIN `alias_member_cache` - ON `alias_member_cache`.`alias` = `alias_cache`.`cn` - ''' - - retrieve_by = dict( - rfc822MailMember=''' - `cn` IN ( - SELECT `a`.`alias` - FROM `alias_member_cache` `a` - WHERE `a`.`rfc822MailMember` = ?) - ''', - ) - - group_by = (0, ) # cn - group_columns = (1, ) # rfc822MailMember - - -class AliasRequest(common.Request): - - def write(self, name, members): - self.fp.write_string(name) - self.fp.write_stringlist(members) - - def convert(self, dn, attributes, parameters): - names = attributes['cn'] - members = attributes['rfc822MailMember'] - for name in names: - yield (name, members) - - -class AliasByNameRequest(AliasRequest): - - action = constants.NSLCD_ACTION_ALIAS_BYNAME - - def read_parameters(self, fp): - return dict(cn=fp.read_string()) - - -class AliasAllRequest(AliasRequest): - - action = constants.NSLCD_ACTION_ALIAS_ALL |