Main Page
Namespaces
Classes
Files
File List
src
rqt_py_common
ini_helper.py
Go to the documentation of this file.
1
# Software License Agreement (BSD License)
2
#
3
# Copyright (c) 2012, Willow Garage, Inc.
4
# All rights reserved.
5
#
6
# Redistribution and use in source and binary forms, with or without
7
# modification, are permitted provided that the following conditions
8
# are met:
9
#
10
# * Redistributions of source code must retain the above copyright
11
# notice, this list of conditions and the following disclaimer.
12
# * Redistributions in binary form must reproduce the above
13
# copyright notice, this list of conditions and the following
14
# disclaimer in the documentation and/or other materials provided
15
# with the distribution.
16
# * Neither the name of Willow Garage, Inc. nor the names of its
17
# contributors may be used to endorse or promote products derived
18
# from this software without specific prior written permission.
19
#
20
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
# POSSIBILITY OF SUCH DAMAGE.
32
33
34
def
pack
(data):
35
"""
36
Packs 'data' into a form that can be easily and readably written to an ini file
37
:param data: A list of strings or a list of items with a 'text' method to be flattened into a string ''list''
38
:return: A string suitable for output to ini files ''str''
39
"""
40
if
len(data) == 0:
41
return
''
42
43
def
_get_str(item):
44
try
:
45
return
item.text()
46
except
:
47
return
item
48
49
data = [_get_str(value)
for
value
in
data]
50
if
len(data) == 1:
51
return
data[0]
52
return
data
53
54
55
def
unpack
(data):
56
"""
57
Unpacks the values read from an ini file
58
:param data: An entry taken from an ini file ''list or string''
59
:return: A list of strings ''list''
60
"""
61
if
data
is
None
or
data ==
''
:
62
data = []
63
elif
is_string
(data):
64
data = [data]
65
return
data
66
67
68
def
is_string
(s):
69
"""Check if the argument is a string which works for both Python 2 and 3."""
70
try
:
71
return
isinstance(s, basestring)
72
except
NameError:
73
return
isinstance(s, str)
rqt_py_common.ini_helper.unpack
def unpack(data)
Definition:
ini_helper.py:55
rqt_py_common.ini_helper.is_string
def is_string(s)
Definition:
ini_helper.py:68
rqt_py_common.ini_helper.pack
def pack(data)
Definition:
ini_helper.py:34
rqt_py_common
Author(s): Dorian Scholz, Isaac Saito, Dirk Thomas
autogenerated on Mon Mar 22 2021 02:13:26