Revision 691c81b7 lib/rapi/connector.py

b/lib/rapi/connector.py
31 31

  
32 32
from ganeti import constants
33 33
from ganeti import http
34
from ganeti import utils
34 35

  
35 36
from ganeti.rapi import baserlib
36 37
from ganeti.rapi import rlib2
......
76 77
      query = None
77 78
      args = {}
78 79

  
79
    result = None
80
    # Try to find handler for request path
81
    result = utils.FindMatch(self._connector, path)
80 82

  
81
    for key, handler in self._connector.iteritems():
82
      # Regex objects
83
      if hasattr(key, "match"):
84
        m = key.match(path)
85
        if m:
86
          result = (handler, list(m.groups()), args)
87
          break
83
    if result is None:
84
      raise http.HttpNotFound()
88 85

  
89
      # String objects
90
      elif key == path:
91
        result = (handler, [], args)
92
        break
86
    (handler, groups) = result
93 87

  
94
    if result:
95
      return result
96
    else:
97
      raise http.HttpNotFound()
88
    return (handler, groups, args)
98 89

  
99 90

  
100 91
class R_root(baserlib.R_Generic):

Also available in: Unified diff