Replace common module with validate module. Move validation function from feed module to validate module and remove feed.py. Correct any usage of validation functions from common and feed modules into validate module.
Patch by: Pawel Solyga
Review by: to-be-reviewed
--- a/app/soc/logic/common.py Wed Oct 01 19:17:13 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#!/usr/bin/python2.5
-#
-# Copyright 2008 the Melange authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Common helper functions.
-"""
-
-__authors__ = [
- '"Pawel Solyga" <pawel.solyga@gmail.com>',
- ]
-
-
-import re
-
-
-LINKNAME_PATTERN = r'''(?x)
- ^
- [0-9a-z] # start with ASCII digit or lowercase
- (
- [0-9a-z] # additional ASCII digit or lowercase
- | # -OR-
- _[0-9a-z] # underscore and ASCII digit or lowercase
- )* # zero or more of OR group
- $
-'''
-
-LINKNAME_REGEX = re.compile(LINKNAME_PATTERN)
-
-def isLinkNameFormatValid(link_name):
- """Returns True if link_name is in a valid format.
-
- Args:
- link_name: link name used in URLs for identification
- """
- if LINKNAME_REGEX.match(link_name):
- return True
- return False
\ No newline at end of file
--- a/app/soc/logic/feed.py Wed Oct 01 19:17:13 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#!/usr/bin/python2.5
-#
-# Copyright 2008 the Melange authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Feeds helpers functions.
-"""
-
-__authors__ = [
- '"Pawel Solyga" <pawel.solyga@gmail.com>',
- ]
-
-from google.appengine.api import urlfetch
-import feedparser
-
-def isFeedURLValid(feed_url=None):
- """Returns True if provided url is valid ATOM or RSS.
-
- Args:
- feed_url: ATOM or RSS feed url
- """
- if feed_url:
- result = urlfetch.fetch(feed_url)
- if result.status_code == 200:
- parsed_feed = feedparser.parse(result.content)
- if parsed_feed.version and (parsed_feed.version != ''):
- return True
- return False
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/soc/logic/validate.py Wed Oct 01 19:21:09 2008 +0000
@@ -0,0 +1,68 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2008 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Common validation helper functions.
+"""
+
+__authors__ = [
+ '"Pawel Solyga" <pawel.solyga@gmail.com>',
+ ]
+
+
+import re
+
+from google.appengine.api import urlfetch
+
+import feedparser
+
+
+def isFeedURLValid(feed_url=None):
+ """Returns True if provided url is valid ATOM or RSS.
+
+ Args:
+ feed_url: ATOM or RSS feed url
+ """
+ if feed_url:
+ result = urlfetch.fetch(feed_url)
+ if result.status_code == 200:
+ parsed_feed = feedparser.parse(result.content)
+ if parsed_feed.version and (parsed_feed.version != ''):
+ return True
+ return False
+
+
+LINKNAME_PATTERN = r'''(?x)
+ ^
+ [0-9a-z] # start with ASCII digit or lowercase
+ (
+ [0-9a-z] # additional ASCII digit or lowercase
+ | # -OR-
+ _[0-9a-z] # underscore and ASCII digit or lowercase
+ )* # zero or more of OR group
+ $
+'''
+
+LINKNAME_REGEX = re.compile(LINKNAME_PATTERN)
+
+def isLinkNameFormatValid(link_name):
+ """Returns True if link_name is in a valid format.
+
+ Args:
+ link_name: link name used in URLs for identification
+ """
+ if LINKNAME_REGEX.match(link_name):
+ return True
+ return False
\ No newline at end of file
--- a/app/soc/views/site/home.py Wed Oct 01 19:17:13 2008 +0000
+++ b/app/soc/views/site/home.py Wed Oct 01 19:21:09 2008 +0000
@@ -34,7 +34,7 @@
from django import newforms as forms
from soc.logic import out_of_band
-from soc.logic import feed
+from soc.logic import validate
from soc.logic.site import id_user
from soc.views import simple
from soc.views.helpers import custom_widgets
@@ -82,7 +82,7 @@
# feed url not supplied (which is OK), so do not try to validate it
return None
- if not feed.isFeedURLValid(feed_url):
+ if not validate.isFeedURLValid(feed_url):
raise forms.ValidationError('This URL is not a valid ATOM or RSS feed.')
return feed_url
--- a/app/soc/views/site/user/profile.py Wed Oct 01 19:17:13 2008 +0000
+++ b/app/soc/views/site/user/profile.py Wed Oct 01 19:21:09 2008 +0000
@@ -28,7 +28,7 @@
from django import newforms as forms
from django.utils.translation import ugettext_lazy
-from soc.logic import common
+from soc.logic import validate
from soc.logic import out_of_band
from soc.logic.site import id_user
from soc.views import simple
@@ -70,7 +70,7 @@
# link name not supplied (which is OK), so do not try to validate it
return None
- if not common.isLinkNameFormatValid(link_name):
+ if not validate.isLinkNameFormatValid(link_name):
raise forms.ValidationError('This link name is in wrong format.')
return link_name
@@ -213,7 +213,7 @@
def clean_link_name(self):
link_name = self.cleaned_data.get('link_name')
- if not common.isLinkNameFormatValid(link_name):
+ if not validate.isLinkNameFormatValid(link_name):
raise forms.ValidationError("This link name is in wrong format.")
else:
key_name = self.data.get('key_name')
@@ -365,7 +365,7 @@
def clean_link_name(self):
link_name = self.cleaned_data.get('link_name')
- if not common.isLinkNameFormatValid(link_name):
+ if not validate.LinkNameFormatValid(link_name):
raise forms.ValidationError("This link name is in wrong format.")
else:
if id_user.doesLinkNameExist(link_name):
--- a/app/soc/views/user/profile.py Wed Oct 01 19:17:13 2008 +0000
+++ b/app/soc/views/user/profile.py Wed Oct 01 19:21:09 2008 +0000
@@ -28,7 +28,7 @@
from django import newforms as forms
from django.utils.translation import ugettext_lazy
-from soc.logic import common
+from soc.logic import validate
from soc.logic import out_of_band
from soc.logic.site import id_user
from soc.views import simple
@@ -53,7 +53,7 @@
def clean_link_name(self):
link_name = self.cleaned_data.get('link_name')
- if not common.isLinkNameFormatValid(link_name):
+ if not validate.isLinkNameFormatValid(link_name):
raise forms.ValidationError("This link name is in wrong format.")
elif not id_user.isLinkNameAvailableForId(link_name):
raise forms.ValidationError("This link name is already in use.")