public
Description: A collection of random func modules.
Homepage: http://www.silassewell.com/blog/tag/func/
Clone URL: git://github.com/silas/func-modules.git
func-modules / push.py
100644 35 lines (31 sloc) 1.08 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copyright 2008 Silas Sewell
#
# Licensed under the Apache License, Version 2.0 (the "License"); you
# may not use this file except in compliance with the License. You
# may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
 
import codes
import func_module
 
class Push(func_module.FuncModule):
    """
Push arbitrary Python code and return the results.
"""
    version = '0.0.1'
    api_version = '0.0.2'
    description = 'Push arbitrary Python code.'
 
    def code(self, source):
        """
Execute Python code and return the results.
"""
        exec(source)
        try:
            return main()
        except NameError:
            raise codes.FuncException('Please define a "main()" method.')