Split the string on (.) while preserving any (.) inside the '{}' alternalte syntax for full ns qualification. @param s: A plain or qualifed name. @type s: str @return: A list of the name's parts. @rtype: [str,..]
(self, s)
| 198 | return (m.group(4), m.group(2)) |
| 199 | |
| 200 | def split(self, s): |
| 201 | """ |
| 202 | Split the string on (.) while preserving any (.) inside the |
| 203 | '{}' alternalte syntax for full ns qualification. |
| 204 | @param s: A plain or qualifed name. |
| 205 | @type s: str |
| 206 | @return: A list of the name's parts. |
| 207 | @rtype: [str,..] |
| 208 | """ |
| 209 | parts = [] |
| 210 | b = 0 |
| 211 | while 1: |
| 212 | m = self.splitp.match(s, b) |
| 213 | if m is None: |
| 214 | break |
| 215 | b, e = m.span() |
| 216 | parts.append(s[b:e]) |
| 217 | b = e + 1 |
| 218 | return parts |
| 219 | |
| 220 | class BadPath(Exception): |
| 221 | pass |