]> git.dolda2000.com Git - wrw.git/commitdiff
Merge branch 'master' into python3
authorFredrik Tolf <fredrik@dolda2000.com>
Mon, 2 Sep 2013 01:26:39 +0000 (03:26 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Mon, 2 Sep 2013 01:26:39 +0000 (03:26 +0200)
Conflicts:
wrw/resp.py
wrw/util.py

1  2 
wrw/cookie.py
wrw/form.py
wrw/proto.py
wrw/req.py
wrw/resp.py
wrw/session.py
wrw/sp/cons.py
wrw/util.py

diff --cc wrw/cookie.py
Simple merge
diff --cc wrw/form.py
index 98d2ed9c5c7725eedf42e5f21ad03ff527f306fb,0363b0bfce4af062d26e8a0780adc35b3af404d3..c97b0f93102d38bab42370a7afd03766ef61a1d0
@@@ -88,10 -88,10 +88,10 @@@ class formpart(object)
              self.buf = ""
          return ret
  
-     def readline(self, limit = -1):
+     def readline(self, limit=-1):
          last = 0
          while True:
 -            p = self.buf.find('\n', last)
 +            p = self.buf.find(b'\n', last)
              if p < 0:
                  if self.eof:
                      ret = self.buf
diff --cc wrw/proto.py
Simple merge
diff --cc wrw/req.py
index 11f856c710d1522cc850da4a7488c20eb56ca9d5,41fd330c0a40a4734f7ffed0f549f9ad5c22b589..016d2d8d6050f034639421da6be19f2d80606fce
@@@ -19,9 -19,9 +19,9 @@@ class headdict(object)
          del self.dict[key.lower()]
  
      def __iter__(self):
 -        return iter((list[0] for list in self.dict.itervalues()))
 +        return iter((list[0] for list in self.dict.values()))
      
-     def get(self, key, default = ""):
+     def get(self, key, default=""):
          if key.lower() in self.dict:
              return self.dict[key.lower()][1]
          return default
diff --cc wrw/resp.py
index ebd98ecbee1154ec4ca36c1b64a9cf154cc9240e,7fae787f81a92c0f4447c81be0ffcdcc042c2265..965df6c8c18a76e41e659f92eccf08ef57f4fe30
@@@ -59,13 -59,19 +59,19 @@@ class httperror(usererror)
  
  class notfound(httperror):
      def __init__(self):
 -        return super(notfound, self).__init__(404)
 +        return super().__init__(404)
  
  class redirect(dispatch.restart):
-     def __init__(self, url, status = 303):
+     bases = {"url": proto.requrl,
+              "script": proto.scripturl,
+              "site": proto.siteurl}
+     def __init__(self, url, status=303, base="url"):
 -        super(redirect, self).__init__()
 +        super().__init__()
          self.url = url
          self.status = status
+         self.bases[base]
+         self.base = base
  
      def handle(self, req):
          req.status(self.status, "Redirect")
diff --cc wrw/session.py
Simple merge
diff --cc wrw/sp/cons.py
index 74a6ea6e30830ad324be9a51ee15beda2bc0fec8,ce258c65325b3318c6b66b636f1ca35f05586403..c4d9999a884015478740158df9fe62c836104929
@@@ -59,10 -60,10 +59,10 @@@ class context(object)
          node.children.append(self.nodefrom(child))
  
      def addattr(self, node, k, v):
 -        node.attrs[unicode(k)] = unicode(v)
 +        node.attrs[str(k)] = str(v)
  
  class constructor(object):
-     def __init__(self, ns, elcls = element, ctx=None):
+     def __init__(self, ns, elcls=element, ctx=None):
          self._ns = ns
          self._elcls = elcls
          if ctx is None: ctx = context()
diff --cc wrw/util.py
index ed32cc6a3f3de4a98a3ea00942c2065856ae97ca,7459b6d48a4ff05012060a4e40b3385f6ff70e3b..79a824071610ea9a60e50809d8b2a120290382ef
@@@ -7,26 -7,17 +7,26 @@@ def wsgiwrap(callable)
      wrapper.__wrapped__ = callable
      return wrapper
  
 +def stringwrap(charset):
 +    def dec(callable):
 +        def wrapper(*args, **kwargs):
 +            bk = callable(*args, **kwargs)
 +            for string in bk:
 +                yield string.encode(charset)
 +        return wrapper
 +    return dec
 +
  def formparams(callable):
+     spec = inspect.getargspec(callable)
      def wrapper(req):
          data = form.formdata(req)
-         spec = inspect.getargspec(callable)
          args = dict(data.items())
          args["req"] = req
          if not spec.keywords:
              for arg in list(args):
                  if arg not in spec.args:
                      del args[arg]
-         for i in range(len(spec.args) - len(spec.defaults)):
 -        for i in xrange(len(spec.args) - (len(spec.defaults) if spec.defaults else 0)):
++        for i in range(len(spec.args) - (len(spec.defaults) if spec.defaults else 0)):
              if spec.args[i] not in args:
                  raise resp.httperror(400, "Missing parameter", ("The query parameter `", resp.h.code(spec.args[i]), "' is required but not supplied."))
          return callable(**args)