summaryrefslogtreecommitdiff
path: root/pynslcd/alias.py
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2014-10-04 16:12:13 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2014-10-04 16:12:13 -0400
commitbe4588009b7106859e1beae6038aaea8d7f85825 (patch)
treeee0010a7003d23a686888fc9585de4e0ec429547 /pynslcd/alias.py
parent8e54633a2b520dff0a237349f5fc4cbcf4719f40 (diff)
remove non-nslcd stuff
Diffstat (limited to 'pynslcd/alias.py')
-rw-r--r--pynslcd/alias.py99
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