summaryrefslogtreecommitdiffstats
path: root/ipa-python/ipavalidate.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2009-02-05 15:03:08 -0500
committerRob Crittenden <rcritten@redhat.com>2009-02-09 14:35:15 -0500
commit262ff2d731b1bfc4acd91153088b8fcde7ae92b8 (patch)
treebaf8894d4b357b610113b87d4bfee84de24f08bd /ipa-python/ipavalidate.py
parent58ae191a5afbf29d78afd3969f8d106415897958 (diff)
downloadfreeipa-262ff2d731b1bfc4acd91153088b8fcde7ae92b8.tar.gz
freeipa-262ff2d731b1bfc4acd91153088b8fcde7ae92b8.tar.xz
freeipa-262ff2d731b1bfc4acd91153088b8fcde7ae92b8.zip
Rename ipa-python directory to ipapython so it is a real python library
We used to install it as ipa, now installing it as ipapython. The rpm is still ipa-python.
Diffstat (limited to 'ipa-python/ipavalidate.py')
-rw-r--r--ipa-python/ipavalidate.py137
1 files changed, 0 insertions, 137 deletions
diff --git a/ipa-python/ipavalidate.py b/ipa-python/ipavalidate.py
deleted file mode 100644
index 63e0a7614..000000000
--- a/ipa-python/ipavalidate.py
+++ /dev/null
@@ -1,137 +0,0 @@
-# Authors: Rob Crittenden <rcritten@redhat.com>
-#
-# Copyright (C) 2007 Red Hat
-# see file 'COPYING' for use and warranty information
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; version 2 only
-#
-# This program 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 General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-import re
-
-def Email(mail, notEmpty=True):
- """Do some basic validation of an e-mail address.
- Return True if ok
- Return False if not
-
- If notEmpty is True the this will return an error if the field
- is "" or None.
- """
- usernameRE = re.compile(r"^[^ \t\n\r@<>()]+$", re.I)
- domainRE = re.compile(r"^[a-z0-9][a-z0-9\.\-_]*\.[a-z]+$", re.I)
-
- if not mail or mail is None:
- if notEmpty is True:
- return False
- else:
- return True
-
- mail = mail.strip()
- s = mail.split('@', 1)
- try:
- username, domain=s
- except ValueError:
- return False
- if not usernameRE.search(username):
- return False
- if not domainRE.search(domain):
- return False
-
- return True
-
-def Plain(text, notEmpty=False, allowSpaces=True):
- """Do some basic validation of a plain text field
- Return True if ok
- Return False if not
-
- If notEmpty is True the this will return an error if the field
- is "" or None.
- """
- if (text is None) or (not text.strip()):
- if notEmpty is True:
- return False
- else:
- return True
-
- if allowSpaces:
- textRE = re.compile(r"^[a-zA-Z_\-0-9\'\ ]*$")
- else:
- textRE = re.compile(r"^[a-zA-Z_\-0-9\']*$")
- if not textRE.search(text):
- return False
-
- return True
-
-def String(text, notEmpty=False):
- """A string type. This is much looser in what it allows than plain"""
-
- if text is None or not text.strip():
- if notEmpty is True:
- return False
- else:
- return True
-
- return True
-
-def Path(text, notEmpty=False):
- """Do some basic validation of a path
- Return True if ok
- Return False if not
-
- If notEmpty is True the this will return an error if the field
- is "" or None.
- """
- textRE = re.compile(r"^[a-zA-Z_\-0-9\\ \.\/\\:]*$")
-
- if not text and notEmpty is True:
- return False
-
- if text is None:
- if notEmpty is True:
- return False
- else:
- return True
-
- if not textRE.search(text):
- return False
-
- return True
-
-def GoodName(text, notEmpty=False):
- """From shadow-utils:
-
- User/group names must match gnu e-regex:
- [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
-
- as a non-POSIX, extension, allow "$" as the last char for
- sake of Samba 3.x "add machine script"
-
- Return True if ok
- Return False if not
- """
- textRE = re.compile(r"^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$")
-
- if not text and notEmpty is True:
- return False
-
- if text is None:
- if notEmpty is True:
- return False
- else:
- return True
-
- m = textRE.match(text)
- if not m or text != m.group(0):
- return False
-
- return True