app/soc/logic/path_link_name.py
changeset 533 ba3309b2fd30
parent 513 3c1e16637ad7
child 626 342bebadd075
--- a/app/soc/logic/path_link_name.py	Fri Nov 21 08:38:53 2008 +0000
+++ b/app/soc/logic/path_link_name.py	Fri Nov 21 08:41:23 2008 +0000
@@ -25,37 +25,7 @@
 
 import re
 
-
-# start with ASCII digit or lowercase
-#   (additional ASCII digit or lowercase
-#     -OR-
-#   underscore and ASCII digit or lowercase)
-#     zero or more of OR group
-LINK_ID_PATTERN_CORE = r'[0-9a-z](?:[0-9a-z]|_[0-9a-z])*'
-LINK_ID_ARG_PATTERN = r'(?P<link_id>%s)' % LINK_ID_PATTERN_CORE
-LINK_ID_PATTERN = r'^%s$' % LINK_ID_PATTERN_CORE
-LINK_ID_REGEX = re.compile(LINK_ID_PATTERN)
-
-# scope path is multiple link_id chunks,
-# each separated by a trailing /
-# (at least 1)
-SCOPE_PATH_ARG_PATTERN = (r'(?P<scope_path>%(link_id)s'
-                             '(?:/%(link_id)s)*)' % {
-                               'link_id': LINK_ID_PATTERN_CORE})
-SCOPE_PATH_PATTERN = r'^%s$' % SCOPE_PATH_ARG_PATTERN
-SCOPE_PATH_REGEX = re.compile(SCOPE_PATH_PATTERN)
-
-# path is multiple link_id chunks,
-#   each separated by a trailing /
-#     (at least 1)
-# followed by a single link_id with no trailing /
-PATH_LINK_ID_ARGS_PATTERN = (
-    r'%(scope_path)s/'
-     '(?P<link_id>%(link_id)s)' % {
-       'scope_path' : SCOPE_PATH_ARG_PATTERN,
-       'link_id': LINK_ID_PATTERN_CORE})
-PATH_LINK_ID_PATTERN = r'^%s$' % PATH_LINK_ID_ARGS_PATTERN
-PATH_LINK_ID_REGEX = re.compile(PATH_LINK_ID_PATTERN)
+from soc.models import linkable
 
 
 def getPartsFromPath(path):
@@ -66,7 +36,7 @@
      'link_id': 'link_id'}
     or {} (empty dict) if string did not match PATH_LINK_ID_PATTERN.
   """
-  path_link_name_match = PATH_LINK_ID_REGEX.match(path)
+  path_link_name_match = linkable.PATH_LINK_ID_REGEX.match(path)
   
   if not path_link_name_match:
     return {}