~ubuntu-branches/ubuntu/lucid/python2.6/lucid

« back to all changes in this revision

Viewing changes to Lib/lib2to3/fixes/fix_xrange.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2010-03-11 13:30:19 UTC
  • mto: (10.1.13 sid)
  • mto: This revision was merged to the branch mainline in revision 44.
  • Revision ID: james.westby@ubuntu.com-20100311133019-sblbooa3uqrkoe70
Tags: upstream-2.6.5~rc2
ImportĀ upstreamĀ versionĀ 2.6.5~rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
    def transform(self, node, results):
21
21
        name = results["name"]
22
 
        if name.value == "xrange":
 
22
        if name.value == u"xrange":
23
23
            return self.transform_xrange(node, results)
24
 
        elif name.value == "range":
 
24
        elif name.value == u"range":
25
25
            return self.transform_range(node, results)
26
26
        else:
27
27
            raise ValueError(repr(name))
28
28
 
29
29
    def transform_xrange(self, node, results):
30
30
        name = results["name"]
31
 
        name.replace(Name("range", prefix=name.get_prefix()))
 
31
        name.replace(Name(u"range", prefix=name.prefix))
32
32
 
33
33
    def transform_range(self, node, results):
34
34
        if not self.in_special_context(node):
35
 
            range_call = Call(Name("range"), [results["args"].clone()])
 
35
            range_call = Call(Name(u"range"), [results["args"].clone()])
36
36
            # Encase the range call in list().
37
 
            list_call = Call(Name("list"), [range_call],
38
 
                             prefix=node.get_prefix())
 
37
            list_call = Call(Name(u"list"), [range_call],
 
38
                             prefix=node.prefix)
39
39
            # Put things that were after the range() call after the list call.
40
40
            for n in results["rest"]:
41
41
                list_call.append_child(n)
42
42
            return list_call
43
 
        return node
44
43
 
45
44
    P1 = "power< func=NAME trailer< '(' node=any ')' > any* >"
46
45
    p1 = patcomp.compile_pattern(P1)