View | Details | Raw Unified | Return to bug 33256 | Differences between
and this patch

Collapse All | Expand All

(-)modules/univention/admin/mapping.py (-11 / +17 lines)
 Lines 73-83    Link Here 
73
	if list != 'None':
81
	if list != 'None':
74
		return list
82
		return list
75
83
76
def unmapUNIX_TimeInterval( value ):
84
def _stringToInt(value):
85
	try:
86
		return int(value)
87
	except (ValueError, TypeError):
88
		return 0
89
90
def unmapUNIX_TimeInterval(value):
77
	if type(value) == types.ListType:
91
	if type(value) == types.ListType:
78
		value = int(value[0])
92
		value = _stringToInt(value[0])
79
	else:
93
	else:
80
		value = int(value)
94
		value = _stringToInt(value)
81
	unit = 'seconds'
95
	unit = 'seconds'
82
	if value % 60 == 0:
96
	if value % 60 == 0:
83
		value /= 60
97
		value /= 60
 Lines 88-110    Link Here 
88
			if value % 24 == 0:
102
			if value % 24 == 0:
89
				value /= 24
103
				value /= 24
90
				unit = 'days'
104
				unit = 'days'
91
	return [ unicode( value ), unit ]
105
	return [unicode(value), unit]
92
106
93
def mapUNIX_TimeInterval( value ):
107
def mapUNIX_TimeInterval(value):
94
	unit = 'seconds'
108
	unit = 'seconds'
95
	if isinstance( value, ( tuple, list ) ):
109
	if isinstance(value, (tuple, list)):
96
		if len( value ) > 1:
110
		if len(value) > 1:
97
			unit = value[ 1 ]
111
			unit = value[1]
98
		value = int( value[ 0 ] )
112
		value = _stringToInt(value[0])
99
	else:
113
	else:
100
		value = int( value )
114
		value = _stringToInt(value)
101
	if unit == 'days':
115
	if unit == 'days':
102
		value *= 24 * 60 * 60
116
		value *= 24 * 60 * 60
103
	elif unit == 'hours':
117
	elif unit == 'hours':
104
		value *= 60 * 60
118
		value *= 60 * 60
105
	elif unit == 'minutes':
119
	elif unit == 'minutes':
106
		value *= 60
120
		value *= 60
107
	return unicode( value )
121
	return unicode(value)
108
122
109
def unmapBase64( value ):
123
def unmapBase64( value ):
110
	'''mapBase64 converts binary data (as found in LDAP) to Base64 encoded UDM propertry values'''
124
	'''mapBase64 converts binary data (as found in LDAP) to Base64 encoded UDM propertry values'''

Return to bug 33256