You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-python/Kivy/files/Kivy-1.9.0-cython-0.22-back...

714 lines
24 KiB

From 124fe6c7f08defb36305f6aa0bba203ab645ab8a Mon Sep 17 00:00:00 2001
From: Alexander Taylor <alexanderjohntaylor@gmail.com>
Date: Sat, 18 Apr 2015 17:03:03 +0100
Subject: [PATCH] Changed 'except *' to 'except -1' for cython 0.22
---
kivy/graphics/context_instructions.pxd | 22 +++++++-------
kivy/graphics/context_instructions.pyx | 8 ++---
kivy/graphics/fbo.pxd | 2 +-
kivy/graphics/fbo.pyx | 3 +-
kivy/graphics/gl_instructions.pyx | 8 +++--
kivy/graphics/instructions.pxd | 30 +++++++++---------
kivy/graphics/instructions.pyx | 49 ++++++++++++++++++------------
kivy/graphics/shader.pxd | 12 ++++----
kivy/graphics/shader.pyx | 25 +++++++++------
kivy/graphics/stencil_instructions.pxd | 8 ++---
kivy/graphics/stencil_instructions.pyx | 14 ++++++---
kivy/graphics/vertex_instructions_line.pxi | 9 +++---
setup.py | 8 ++---
13 files changed, 110 insertions(+), 88 deletions(-)
diff --git a/kivy/graphics/context_instructions.pxd b/kivy/graphics/context_instructions.pxd
index f6562b1..f8027e2 100644
--- a/kivy/graphics/context_instructions.pxd
+++ b/kivy/graphics/context_instructions.pxd
@@ -16,39 +16,39 @@ cdef class PopState(ContextInstruction):
pass
cdef class LineWidth(ContextInstruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class Color(ContextInstruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class BindTexture(ContextInstruction):
cdef int _index
cdef object _source
cdef Texture _texture
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class LoadIdentity(ContextInstruction):
pass
cdef class PushMatrix(ContextInstruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class PopMatrix(ContextInstruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class ApplyContextMatrix(ContextInstruction):
cdef object _target_stack
cdef object _source_stack
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class UpdateNormalMatrix(ContextInstruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class MatrixInstruction(ContextInstruction):
cdef object _stack
cdef Matrix _matrix
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class Transform(MatrixInstruction):
cpdef transform(self, Matrix trans)
@@ -61,17 +61,17 @@ cdef class Rotate(Transform):
cdef float _angle
cdef tuple _axis
cdef tuple _origin
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef void compute(self)
cdef class Scale(Transform):
cdef tuple _origin
cdef float _x, _y, _z
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef set_scale(self, double x, double y, double z)
cdef class Translate(Transform):
cdef double _x, _y, _z
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef set_translate(self, double x, double y, double z)
diff --git a/kivy/graphics/context_instructions.pyx b/kivy/graphics/context_instructions.pyx
index 2107a2c..189656a 100644
--- a/kivy/graphics/context_instructions.pyx
+++ b/kivy/graphics/context_instructions.pyx
@@ -344,7 +344,7 @@ cdef class BindTexture(ContextInstruction):
self.index = kwargs.get('index', 0)
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef RenderContext context = self.get_context()
context.set_texture(self._index, self._texture)
@@ -458,7 +458,7 @@ cdef class ApplyContextMatrix(ContextInstruction):
self.target_stack = kwargs.get('target_stack', 'modelview_mat')
self.source_stack = kwargs.get('source_stack', 'modelview_mat')
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef RenderContext context = self.get_context()
m = context.get_state(self._target_stack)
m = m.multiply(context.get_state(self._source_stack))
@@ -494,7 +494,7 @@ cdef class UpdateNormalMatrix(ContextInstruction):
.. versionadded:: 1.6.0
'''
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef RenderContext context = self.get_context()
mvm = context.get_state('modelview_mat')
context.set_state('normal_mat', mvm.normal_matrix())
@@ -509,7 +509,7 @@ cdef class MatrixInstruction(ContextInstruction):
self.stack = kwargs.get('stack', 'modelview_mat')
self._matrix = None
- cdef void apply(self):
+ cdef int apply(self) except -1:
'''Apply the matrix of this instance to the
context model view matrix.
'''
diff --git a/kivy/graphics/fbo.pxd b/kivy/graphics/fbo.pxd
index 31b281a..2c202dd 100644
--- a/kivy/graphics/fbo.pxd
+++ b/kivy/graphics/fbo.pxd
@@ -24,7 +24,7 @@ cdef class Fbo(RenderContext):
cdef void create_fbo(self)
cdef void delete_fbo(self)
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef void raise_exception(self, str message, int status=?)
cdef str resolve_status(self, int status)
cdef void reload(self)
diff --git a/kivy/graphics/fbo.pyx b/kivy/graphics/fbo.pyx
index 901d600..d7f6c09 100644
--- a/kivy/graphics/fbo.pyx
+++ b/kivy/graphics/fbo.pyx
@@ -323,12 +323,13 @@ cdef class Fbo(RenderContext):
else:
glClear(GL_COLOR_BUFFER_BIT)
- cdef void apply(self):
+ cdef int apply(self) except -1:
if self.flags & GI_NEEDS_UPDATE:
self.bind()
RenderContext.apply(self)
self.release()
self.flag_update_done()
+ return 0
cdef void reload(self):
# recreate the framebuffer, without deleting it. the deletion is not
diff --git a/kivy/graphics/gl_instructions.pyx b/kivy/graphics/gl_instructions.pyx
index afe3404..78b0fe5 100644
--- a/kivy/graphics/gl_instructions.pyx
+++ b/kivy/graphics/gl_instructions.pyx
@@ -50,8 +50,9 @@ cdef class ClearColor(Instruction):
self.b = b
self.a = a
- cdef void apply(self):
+ cdef int apply(self) except -1:
glClearColor(self.r, self.g, self.b, self.a)
+ return 0
property rgba:
'''RGBA color used for the clear color, a list of 4 values in the 0-1
@@ -136,7 +137,7 @@ cdef class ClearBuffers(Instruction):
self.clear_stencil = int(kwargs.get('clear_stencil', 0))
self.clear_depth = int(kwargs.get('clear_depth', 0))
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef GLbitfield mask = 0
if self.clear_color:
mask |= GL_COLOR_BUFFER_BIT
@@ -145,7 +146,8 @@ cdef class ClearBuffers(Instruction):
if self.clear_depth:
mask |= GL_DEPTH_BUFFER_BIT
glClear(mask)
-
+ return 0
+
property clear_color:
'''If True, the color buffer will be cleared.
'''
diff --git a/kivy/graphics/instructions.pxd b/kivy/graphics/instructions.pxd
index 9008aef..09b0fd6 100644
--- a/kivy/graphics/instructions.pxd
+++ b/kivy/graphics/instructions.pxd
@@ -26,7 +26,7 @@ cdef class Instruction(ObjectWithUid):
cdef object __weakref__
cdef object __proxy_ref
- cdef void apply(self)
+ cdef int apply(self) except -1
IF DEBUG:
cdef int flag_update(self, int do_parent=?, list _instrs=?) except -1
ELSE:
@@ -58,9 +58,9 @@ cdef class ContextInstruction(Instruction):
cdef list context_pop
cdef RenderContext get_context(self)
- cdef void set_state(self, str name, value) except *
- cdef void push_state(self, str name) except *
- cdef void pop_state(self, str name) except *
+ cdef int set_state(self, str name, value) except -1
+ cdef int push_state(self, str name) except -1
+ cdef int pop_state(self, str name) except -1
from context_instructions cimport BindTexture
@@ -80,8 +80,8 @@ cdef class Callback(Instruction):
cdef Shader _shader
cdef object func
cdef int _reset_context
- cdef void apply(self)
- cdef void enter(self)
+ cdef int apply(self) except -1
+ cdef int enter(self) except -1
@@ -99,7 +99,7 @@ cdef class Canvas(CanvasBase):
cpdef add(self, Instruction c)
cpdef remove(self, Instruction c)
cpdef draw(self)
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class RenderContext(Canvas):
@@ -113,14 +113,14 @@ cdef class RenderContext(Canvas):
cdef void set_texture(self, int index, Texture texture)
cdef void set_state(self, str name, value, int apply_now=?)
cdef get_state(self, str name)
- cdef void set_states(self, dict states) except *
- cdef void push_state(self, str name) except *
- cdef void push_states(self, list names) except *
- cdef void pop_state(self, str name) except *
- cdef void pop_states(self, list names) except *
- cdef void enter(self) except *
- cdef void leave(self) except *
- cdef void apply(self) except *
+ cdef int set_states(self, dict states) except -1
+ cdef int push_state(self, str name) except -1
+ cdef int push_states(self, list names) except -1
+ cdef int pop_state(self, str name) except -1
+ cdef int pop_states(self, list names) except -1
+ cdef int enter(self) except -1
+ cdef int leave(self) except -1
+ cdef int apply(self) except -1
cpdef draw(self)
cdef void reload(self)
diff --git a/kivy/graphics/instructions.pyx b/kivy/graphics/instructions.pyx
index 2b5e081..5249556 100644
--- a/kivy/graphics/instructions.pyx
+++ b/kivy/graphics/instructions.pyx
@@ -57,8 +57,8 @@ cdef class Instruction(ObjectWithUid):
if self.parent:
self.parent.add(self)
- cdef void apply(self):
- pass
+ cdef int apply(self) except -1:
+ return 0
IF DEBUG:
cdef int flag_update(self, int do_parent=1, list _instrs=None) except -1:
@@ -145,7 +145,7 @@ cdef class InstructionGroup(Instruction):
else:
self.compiler = GraphicsCompiler()
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef Instruction c
cdef list children
if self.compiler is not None:
@@ -161,6 +161,7 @@ cdef class InstructionGroup(Instruction):
else:
for c in self.children:
c.apply()
+ return 0
cdef void build(self):
self.compiled_children = self.compiler.compile(self)
@@ -246,7 +247,7 @@ cdef class ContextInstruction(Instruction):
cdef RenderContext context = getActiveContext()
return context
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef RenderContext context = self.get_context()
if self.context_push:
context.push_states(self.context_push)
@@ -254,20 +255,20 @@ cdef class ContextInstruction(Instruction):
context.set_states(self.context_state)
if self.context_pop:
context.pop_states(self.context_pop)
+ return 0
- cdef void set_state(self, str name, value):
+ cdef int set_state(self, str name, value) except -1:
self.context_state[name] = value
self.flag_update()
- cdef void push_state(self, str name):
+ cdef int push_state(self, str name) except -1:
self.context_push.append(name)
self.flag_update()
- cdef void pop_state(self, str name):
+ cdef int pop_state(self, str name) except -1:
self.context_pop.append(name)
self.flag_update()
-
cdef class VertexInstruction(Instruction):
'''The VertexInstruction class is the base for all graphics instructions
that have a direct visual representation on the canvas, such as Rectangles,
@@ -400,11 +401,12 @@ cdef class VertexInstruction(Instruction):
cdef void build(self):
pass
- cdef void apply(self):
+ cdef int apply(self) except -1:
if self.flags & GI_NEEDS_UPDATE:
self.build()
self.flag_update_done()
self.batch.draw()
+ return 0
cdef class Callback(Instruction):
@@ -466,7 +468,7 @@ cdef class Callback(Instruction):
'''
self.flag_update()
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef RenderContext rcx
cdef Context ctx
cdef Shader shader
@@ -512,9 +514,11 @@ cdef class Callback(Instruction):
rcx.set_texture(index, texture)
reset_gl_context()
+ return 0
- cdef void enter(self):
+ cdef int enter(self) except -1:
self._shader.use()
+ return 0
property reset_context:
'''Set this to True if you want to reset the OpenGL context for Kivy
@@ -597,7 +601,7 @@ cdef class Canvas(CanvasBase):
'''
self.apply()
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef float opacity = self._opacity
cdef float rc_opacity
cdef RenderContext rc
@@ -609,6 +613,7 @@ cdef class Canvas(CanvasBase):
InstructionGroup.apply(self)
if opacity != 1.0:
rc.pop_state('opacity')
+ return 0
cpdef add(self, Instruction c):
# the after group must remain the last one.
@@ -786,29 +791,29 @@ cdef class RenderContext(Canvas):
cdef get_state(self, str name):
return self.state_stacks[name][-1]
- cdef void set_states(self, dict states):
+ cdef int set_states(self, dict states) except -1:
cdef str name
for name, value in states.iteritems():
self.set_state(name, value)
- cdef void push_state(self, str name):
+ cdef int push_state(self, str name) except -1:
stack = self.state_stacks[name]
stack.append(stack[-1])
self.flag_update()
- cdef void push_states(self, list names):
+ cdef int push_states(self, list names) except -1:
cdef str name
for name in names:
self.push_state(name)
- cdef void pop_state(self, str name):
+ cdef int pop_state(self, str name) except -1:
stack = self.state_stacks[name]
oldvalue = stack.pop()
if oldvalue != stack[-1]:
self.set_state(name, stack[-1])
self.flag_update()
- cdef void pop_states(self, list names):
+ cdef int pop_states(self, list names) except -1:
cdef str name
for name in names:
self.pop_state(name)
@@ -828,13 +833,15 @@ cdef class RenderContext(Canvas):
texture.bind()
self.flag_update()
- cdef void enter(self):
+ cdef int enter(self) except -1:
self._shader.use()
+ return 0
- cdef void leave(self):
+ cdef int leave(self) except -1:
self._shader.stop()
+ return 0
- cdef void apply(self):
+ cdef int apply(self) except -1:
cdef list keys
if PY2:
keys = self.state_stacks.keys()
@@ -857,6 +864,8 @@ cdef class RenderContext(Canvas):
popActiveContext()
self.flag_update_done()
+ return 0
+
cdef void reload(self):
pushActiveContext(self)
reset_gl_context()
diff --git a/kivy/graphics/shader.pxd b/kivy/graphics/shader.pxd
index c418207..1058ff4 100644
--- a/kivy/graphics/shader.pxd
+++ b/kivy/graphics/shader.pxd
@@ -26,14 +26,14 @@ cdef class Shader:
cdef void use(self)
cdef void stop(self)
- cdef void set_uniform(self, str name, value) except *
- cdef void upload_uniform(self, str name, value) except *
+ cdef int set_uniform(self, str name, value) except -1
+ cdef int upload_uniform(self, str name, value) except -1
cdef void upload_uniform_matrix(self, int loc, Matrix value)
cdef int get_uniform_loc(self, str name) except *
- cdef void build(self) except *
- cdef void build_vertex(self, int link=*) except *
- cdef void build_fragment(self, int link=*) except *
- cdef void link_program(self) except *
+ cdef int build(self) except -1
+ cdef int build_vertex(self, int link=*) except -1
+ cdef int build_fragment(self, int link=*) except -1
+ cdef int link_program(self) except -1
cdef int is_linked(self)
cdef ShaderSource compile_shader(self, str source, int shadertype)
cdef get_program_log(self, shader)
diff --git a/kivy/graphics/shader.pyx b/kivy/graphics/shader.pyx
index acda2bf..edb1c5a 100644
--- a/kivy/graphics/shader.pyx
+++ b/kivy/graphics/shader.pyx
@@ -230,13 +230,14 @@ cdef class Shader:
'''
glUseProgram(0)
- cdef void set_uniform(self, str name, value):
+ cdef int set_uniform(self, str name, value) except -1:
if name in self.uniform_values and self.uniform_values[name] == value:
- return
+ return 0
self.uniform_values[name] = value
self.upload_uniform(name, value)
+ return 0
- cdef void upload_uniform(self, str name, value):
+ cdef int upload_uniform(self, str name, value) except -1:
'''Pass a uniform variable to the shader.
'''
cdef long vec_size, index, x, y
@@ -255,7 +256,7 @@ cdef class Shader:
#Logger.debug('Shader: uploading uniform %s (loc=%d, value=%r)' % (name, loc, value))
if loc == -1:
#Logger.debug('Shader: -> ignored')
- return
+ return 0
#Logger.debug('Shader: -> (gl:%d) %s' % (glGetError(), str(value)))
if val_type is Matrix:
@@ -414,6 +415,7 @@ cdef class Shader:
free(int_list)
else:
raise Exception('for <%s>, type not handled <%s>' % (name, val_type))
+ return 0
cdef void upload_uniform_matrix(self, int loc, Matrix value):
cdef GLfloat mat[16]
@@ -421,7 +423,7 @@ cdef class Shader:
mat[x] = <GLfloat>value.mat[x]
glUniformMatrix4fv(loc, 1, False, mat)
- cdef int get_uniform_loc(self, str name):
+ cdef int get_uniform_loc(self, str name) except *:
cdef bytes c_name = name.encode('utf-8')
cdef int loc = glGetUniformLocation(self.program, c_name)
self.uniform_locations[name] = loc
@@ -462,11 +464,12 @@ cdef class Shader:
# save for the next run.
self._current_vertex_format = vertex_format
- cdef void build(self):
+ cdef int build(self) except -1:
self.build_vertex()
self.build_fragment()
+ return 0
- cdef void build_vertex(self, int link=1):
+ cdef int build_vertex(self, int link=1) except -1:
if self.vertex_shader is not None:
glDetachShader(self.program, self.vertex_shader.shader)
self.vertex_shader = None
@@ -475,8 +478,9 @@ cdef class Shader:
glAttachShader(self.program, self.vertex_shader.shader)
if link:
self.link_program()
+ return 0
- cdef void build_fragment(self, int link=1):
+ cdef int build_fragment(self, int link=1) except -1:
if self.fragment_shader is not None:
glDetachShader(self.program, self.fragment_shader.shader)
self.fragment_shader = None
@@ -486,9 +490,9 @@ cdef class Shader:
if link:
self.link_program()
- cdef void link_program(self):
+ cdef int link_program(self) except -1:
if self.vertex_shader is None or self.fragment_shader is None:
- return
+ return 0
# XXX to ensure that shader is ok, read error state right now.
glGetError()
@@ -503,6 +507,7 @@ cdef class Shader:
self._success = 0
raise Exception('Shader didnt link, check info log.')
self._success = 1
+ return 0
cdef int is_linked(self):
cdef GLint result = 0
diff --git a/kivy/graphics/stencil_instructions.pxd b/kivy/graphics/stencil_instructions.pxd
index 1cf556e..4d33c44 100644
--- a/kivy/graphics/stencil_instructions.pxd
+++ b/kivy/graphics/stencil_instructions.pxd
@@ -1,11 +1,11 @@
from kivy.graphics.instructions cimport Instruction
cdef class StencilPush(Instruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class StencilPop(Instruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class StencilUse(Instruction):
cdef unsigned int _op
- cdef void apply(self)
+ cdef int apply(self) except -1
cdef class StencilUnUse(Instruction):
- cdef void apply(self)
+ cdef int apply(self) except -1
diff --git a/kivy/graphics/stencil_instructions.pyx b/kivy/graphics/stencil_instructions.pyx
index 469a239..67cc709 100644
--- a/kivy/graphics/stencil_instructions.pyx
+++ b/kivy/graphics/stencil_instructions.pyx
@@ -126,7 +126,7 @@ cdef class StencilPush(Instruction):
'''Push the stencil stack. See the module documentation for more
information.
'''
- cdef void apply(self):
+ cdef int apply(self) except -1:
global _stencil_level, _stencil_in_push
if _stencil_in_push:
raise Exception('Cannot use StencilPush inside another '
@@ -146,11 +146,12 @@ cdef class StencilPush(Instruction):
glStencilFunc(GL_ALWAYS, 0, 0)
glStencilOp(GL_INCR, GL_INCR, GL_INCR)
glColorMask(0, 0, 0, 0)
+ return 0
cdef class StencilPop(Instruction):
'''Pop the stencil stack. See the module documentation for more information.
'''
- cdef void apply(self):
+ cdef int apply(self) except -1:
global _stencil_level, _stencil_in_push
if _stencil_level == 0:
raise Exception('Too much StencilPop (stack underflow)')
@@ -159,10 +160,11 @@ cdef class StencilPop(Instruction):
glColorMask(1, 1, 1, 1)
if _stencil_level == 0:
glDisable(GL_STENCIL_TEST)
- return
+ return 0
# reset for previous
glStencilFunc(GL_EQUAL, _stencil_level, 0xff)
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)
+ return 0
cdef class StencilUse(Instruction):
@@ -176,12 +178,13 @@ cdef class StencilUse(Instruction):
else:
self._op = GL_EQUAL
- cdef void apply(self):
+ cdef int apply(self) except -1:
global _stencil_in_push
_stencil_in_push = 0
glColorMask(1, 1, 1, 1)
glStencilFunc(self._op, _stencil_level, 0xff)
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)
+ return 0
property func_op:
'''Determine the stencil operation to use for glStencilFunc(). Can be
@@ -207,7 +210,8 @@ cdef class StencilUse(Instruction):
cdef class StencilUnUse(Instruction):
'''Use current stencil buffer to unset the mask.
'''
- cdef void apply(self):
+ cdef int apply(self) except -1:
glStencilFunc(GL_ALWAYS, 0, 0)
glStencilOp(GL_DECR, GL_DECR, GL_DECR)
glColorMask(0, 0, 0, 0)
+ return 0
diff --git a/kivy/graphics/vertex_instructions_line.pxi b/kivy/graphics/vertex_instructions_line.pxi
index b074a22..0c13132 100644
--- a/kivy/graphics/vertex_instructions_line.pxi
+++ b/kivy/graphics/vertex_instructions_line.pxi
@@ -174,10 +174,10 @@ cdef class Line(VertexInstruction):
self._stencil_use = StencilUse(op='lequal')
self._stencil_unuse = StencilUnUse()
- cdef void apply(self):
+ cdef int apply(self) except -1:
if self._width == 1.:
VertexInstruction.apply(self)
- return
+ return 0
cdef double alpha = getActiveContext()['color'][-1]
self._use_stencil = alpha < 1
@@ -195,6 +195,7 @@ cdef class Line(VertexInstruction):
self._stencil_pop.apply()
else:
VertexInstruction.apply(self)
+ return 0
cdef void build_legacy(self):
cdef int i
@@ -1238,9 +1239,9 @@ cdef class SmoothLine(Line):
self.build_smooth()
- cdef void apply(self):
+ cdef int apply(self) except -1:
VertexInstruction.apply(self)
- return
+ return 0
cdef void build_smooth(self):
cdef:
diff --git a/setup.py b/setup.py
index 76d7c82..30cc091 100644
--- a/setup.py
+++ b/setup.py
@@ -31,12 +31,12 @@ def ver_equal(self, other):
MIN_CYTHON_STRING = '0.20'
MIN_CYTHON_VERSION = LooseVersion(MIN_CYTHON_STRING)
-MAX_CYTHON_STRING = '0.21.2'
+MAX_CYTHON_STRING = '0.22'
MAX_CYTHON_VERSION = LooseVersion(MAX_CYTHON_STRING)
CYTHON_UNSUPPORTED = (
- LooseVersion('0.22'),
- LooseVersion('0.22.beta0'),
- LooseVersion('0.22.alpha0'),
+ # LooseVersion('0.22'),
+ # LooseVersion('0.22.beta0'),
+ # LooseVersion('0.22.alpha0'),
)