mirror of
https://github.com/gryf/pygtktalog.git
synced 2026-03-27 06:33:30 +01:00
* Upgrade pygtkmvc to ne version 1.2.1.
This commit is contained in:
39
src/gtkmvc/support/utils.py
Normal file
39
src/gtkmvc/support/utils.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# Author: Roberto Cavada <cavada@irst.itc.it>
|
||||
#
|
||||
# Copyright (c) 2007 by Roberto Cavada
|
||||
#
|
||||
# pygtkmvc is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2 of the License, or (at your option) any later version.
|
||||
#
|
||||
# pygtkmvc is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110, USA.
|
||||
#
|
||||
# For more information on pygtkmvc see <http://pygtkmvc.sourceforge.net>
|
||||
# or email to the author Roberto Cavada <cavada@irst.itc.it>.
|
||||
# Please report bugs to <cavada@irst.itc.it>.
|
||||
|
||||
|
||||
|
||||
def get_function_from_source(source):
|
||||
"""Given source code of a function, a function object is
|
||||
returned"""
|
||||
|
||||
import re
|
||||
m = re.compile("def\s+(\w+)\s*\(.*\):").match(source)
|
||||
if m is None: raise ValueError("Given source is not a valid function:\n"+
|
||||
source)
|
||||
name = m.group(1)
|
||||
|
||||
exec source
|
||||
code = eval("%s.func_code" % name)
|
||||
import new
|
||||
return new.function(code, globals(), name)
|
||||
Reference in New Issue
Block a user