Coverage for configman.converters : 95%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (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.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is configman # # The Initial Developer of the Original Code is # Mozilla Foundation # Portions created by the Initial Developer are Copyright (C) 2011 # the Initial Developer. All Rights Reserved. # # Contributor(s): # K Lars Lohn, lars@mozilla.com # Peter Bengtsson, peterbe@mozilla.com # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK *****
#------------------------------------------------------------------------------ """return an instance of Option's value as a string.
The option instance doesn't actually have to be from the Option class. All it requires is that the passed option instance has a ``value`` attribute. """ else: s = an_option.value s = "'''%s'''" % s
#------------------------------------------------------------------------------ """return a modified dict where all the keys that are anything but str get converted to str. E.g.
>>> result = str_dict_keys({u'name': u'Peter', u'age': 99, 1: 2}) >>> # can't compare whole dicts in doctests >>> result['name'] u'Peter' >>> result['age'] 99 >>> result[1] 2
The reason for this is that in Python <= 2.6.4 doing ``MyClass(**{u'name': u'Peter'})`` would raise a TypeError
Note that only unicode types are converted to str types. The reason for that is you might have a class that looks like this::
class Option(object): def __init__(self, foo=None, bar=None, **kwargs): ...
And it's being used like this::
Option(**{u'foo':1, u'bar':2, 3:4})
Then you don't want to change that {3:4} part which becomes part of `**kwargs` inside the __init__ method. Using integers as parameter keys is a silly example but the point is that due to the python 2.6.4 bug only unicode keys are converted to str. """ else:
#------------------------------------------------------------------------------ """ a conversion function for to select stdout, stderr or open a file for writing"""
#------------------------------------------------------------------------------ """a conversion function for time deltas""" hours=hours, minutes=minutes, seconds=seconds)
#------------------------------------------------------------------------------ """ a conversion function for boolean """
#------------------------------------------------------------------------------
""" a conversion that will import a module and class name """ # first try as a complete module # it must be a class from a module # since it has only one part, it must be a class from __main__ parts = ('__main__', input_str)
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------ float: float, str: str, unicode: unicode, bool: boolean_converter, datetime.datetime: dtu.datetime_from_ISO_string, datetime.date: dtu.date_from_ISO_string, datetime.timedelta: timedelta_converter, type: class_converter, types.FunctionType: class_converter, compiled_regexp_type: regex_converter, }
#------------------------------------------------------------------------------ return a_thing.__name__
#------------------------------------------------------------------------------ float: str, str: str, unicode: unicode, bool: lambda x: 'True' if x else 'False', datetime.datetime: dtu.datetime_to_ISO_string, datetime.date: dtu.date_to_ISO_string, datetime.timedelta: dtu.timedelta_to_str, type: py_obj_to_str, types.FunctionType: py_obj_to_str, compiled_regexp_type: lambda x: x.pattern, }
#------------------------------------------------------------------------------ #converters_requiring_quotes = [eval, eval_to_regex_converter] |