blob: cebfb7ffb027b4afdd29dcfb40dd3d5b2099a1a0 [file] [log] [blame]
Rich Lanea06d0c32013-03-25 08:52:03 -07001# Copyright 2013, Big Switch Networks, Inc.
2#
3# LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with
4# the following special exception:
5#
6# LOXI Exception
7#
8# As a special exception to the terms of the EPL, you may distribute libraries
9# generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided
10# that copyright and licensing notices generated by LoxiGen are not altered or removed
11# from the LoxiGen Libraries and the notice provided below is (i) included in
12# the LoxiGen Libraries, if distributed in source code form and (ii) included in any
13# documentation for the LoxiGen Libraries, if distributed in binary form.
14#
15# Notice: "Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler."
16#
17# You may not use this file except in compliance with the EPL or LOXI Exception. You may obtain
18# a copy of the EPL at:
19#
20# http://www.eclipse.org/legal/epl-v10.html
21#
22# Unless required by applicable law or agreed to in writing, software
23# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
24# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
25# EPL for the specific language governing permissions and limitations
26# under the EPL.
27
28"""
29@brief Generic utilities
30
31Intended to be imported into another namespace
32"""
33
34import sys
35import of_g
36
37
38################################################################
39#
40# Configuration related
41#
42################################################################
43
44def config_check(str, dictionary = of_g.code_gen_config):
45 """
46 Return config value if in dictionary; else return False.
47 @param str The lookup index
48 @param dictionary The dict to check; use code_gen_config if None
49 """
50
51 if str in dictionary:
52 return dictionary[str]
53
54 return False
55
56################################################################
57#
58# Debug
59#
60################################################################
61
62def debug(obj):
63 """
64 Debug output to the current both the log file and debug output
65 @param out_str The stringified output to write
66 """
67 of_g.loxigen_dbg_file.write(str(obj) + "\n")
68 log(obj)
69
70def log(obj):
71 """
72 Log output to the current global log file
73 @param out_str The stringified output to write
74 """
75 of_g.loxigen_log_file.write(str(obj) + "\n")