MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/usr/lib/python2.4/site-packages/rhpl/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/lib/python2.4/site-packages/rhpl/genModule.py
#
# genModule.py: make python modules on the fly
#
# Peter Jones <pjones@redhat.com>
#
# Copyright 2005 Red Hat, Inc.
#
# This software may be freely redistributed under the terms of the GNU
# library public license.
#
# You should have received a copy of the GNU Library Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
def create(mname, attrs):
    import imp

    m = imp.new_module(mname)
    del imp
    for k,v in attrs.items():
        setattr(m, k, v)
    return m

def install(mname, m):
    import sys
    sys.modules[mname] = m
    del sys

def generate(parent, mname, attrs):
    m = create(mname, attrs)
    # if parent isn't in sys.modules, this won't work...
    install(parent + '.' + mname, m)
    return m
    
# this is just a set of random examples, really
if __name__ == '__main__':
    m = create('a', {'b': lambda x: x})

    import sys
    sys.modules['a'] = m

    print m.b(1)

    import a
    print a.b(2)

    def zoink(x):
        print x

    generate('__main__', 'bar', {'baz': zoink})
    from __main__.bar import baz
    baz(3)

Anon7 - 2021