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 import logging
27
28 logger = logging.getLogger(__name__)
29
31 """
32 Global Gateway configuration
33 - IMG_RDEFNS: a namespace for annotations linked on images holding the default rendering
34 settings object id.
35 - IMG_ROPTSNS: a namespace for annotations linked on images holding default rendering options
36 that don't get saved in the rendering settings.
37 """
39 self.IMG_RDEFNS = None
40 self.IMG_ROPTSNS = None
41
43
46
47 - def __init__(self, data=None, *args, **kwargs):
48 if data is None:
49 data = dict()
50 if len(kwargs) > 0:
51 for key, val in dict(*args, **kwargs).iteritems():
52 self[key] = val
53 if isinstance(data, dict):
54 for key in data:
55 item = data[key]
56 if self._testItem(item):
57 self[key] = str(item)
58 else:
59 logger.debug("None or non- string, unicode or numeric type values are ignored, (%r, %r)" % (key,item))
60 else:
61 raise AttributeError("%s argument (%r:%s) must be a dictionary" % (self.__class__.__name__, data, type(data)))
62
66
74
76 """Return the value for key if key is in the dictionary. Raises a KeyError if key is not in the map."""
77 try:
78 return super(ServiceOptsDict, self).__getitem__(key)
79 except KeyError:
80 raise KeyError("Key %r not found in %r" % (key, self))
81
86
88 """Returns a copy of this object."""
89 return self.__class__(self)
90
94
95 - def get(self, key, default=None):
96 """Return the value for key if key is in the dictionary, else default. If default is not given, it defaults to None, so that this method never raises a KeyError."""
97 try:
98 return self.__getitem__(key)
99 except KeyError:
100 return default
101
102 - def set(self, key, value):
103 """Set key to value as string."""
104 return self.__setitem__(key,value)
105
107 return self.get('omero.group')
108
110 if value is not None:
111 self.set('omero.group',value)
112 else:
113 try:
114 del self['omero.group']
115 except KeyError:
116 logger.debug("Key 'omero.group' not found in %r" % self)
117
119 return self.get('omero.user')
120
122 if value is not None:
123 self.set('omero.user',value)
124 else:
125 try:
126 del self['omero.user']
127 except KeyError:
128 logger.debug("Key 'omero.user' not found in %r" % self)
129
131 return self.get('omero.share')
132
134 if value is not None:
135 self.set('omero.share',value)
136 else:
137 try:
138 del self['omero.share']
139 except KeyError:
140 logger.debug("Key 'omero.share' not found in %r" % self)
141
143 if item is not None and not isinstance(item, bool) and \
144 (isinstance(item, basestring) or \
145 isinstance(item, int) or \
146 isinstance(item, long) or \
147 isinstance(item, float)):
148 return True
149 return False
150