~ubuntu-branches/ubuntu/maverick/coherence/maverick

« back to all changes in this revision

Viewing changes to coherence/upnp/core/variable.py

  • Committer: Bazaar Package Importer
  • Author(s): Charlie Smotherman
  • Date: 2010-01-02 10:57:15 UTC
  • mfrom: (1.1.7 upstream) (3.2.8 sid)
  • Revision ID: james.westby@ubuntu.com-20100102105715-sghzl2nw4lr5b1ob
Tags: 0.6.6.2-1
*  New  upstream release, summary of changes:
    - adding all necessary files to MANIFEST.in, to compensate for the
      gone 'auto-include-all-files-under-version-control' setuptools
      feature.
    - rearranging genre and genres attribute in DIDLLite - thx Caleb  
    - fix face_path typo, fixes #275.   

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
    logCategory = 'variable'
26
26
 
27
27
    def __init__(self, upnp_service, name, implementation, instance, send_events,
28
 
                 data_type, values):
 
28
                 data_type, allowed_values):
29
29
        self.service = upnp_service
30
 
        self.instance = instance
 
30
 
31
31
        self.name = name
32
32
        self.implementation = implementation
 
33
        self.instance = instance
 
34
        self.send_events = utils.means_true(send_events)
 
35
        self.never_evented = False
33
36
        self.data_type = data_type
34
 
        self.allowed_values = values
 
37
        self.allowed_values = allowed_values
 
38
        if self.allowed_values == None:
 
39
            self.allowed_values = []
35
40
        self.has_vendor_values = False
 
41
        self.allowed_value_range = None
36
42
        self.dependant_variable = None
 
43
 
37
44
        self.default_value = ''
38
45
        self.old_value = ''
39
46
        self.value = ''
40
47
        self.last_time_touched = None
41
 
        self.allowed_value_range = None
42
 
        self.never_evented = False
43
 
        self.send_events = utils.means_true(send_events)
 
48
 
44
49
        self._callbacks = []
45
50
        if isinstance( self.service, service.ServiceServer):
46
51
            self.moderated = self.service.is_variable_moderated(name)
56
61
        r.append(('Data Type',self.data_type))
57
62
        r.append(('Default Value',self.default_value))
58
63
        r.append(('Current Value',unicode(self.value)))
 
64
        if(self.allowed_values != None and len(self.allowed_values) > 0):
 
65
            r.append(('Allowed Values',','.join(self.allowed_values)))
59
66
        return r
60
67
 
61
68
    def set_default_value(self, value):
173
180
        self.value = new_value
174
181
        self.last_time_touched = time.time()
175
182
 
 
183
        #print "UPDATED %s %r %r %r %r %r" % (self.name,self.service,isinstance( self.service, service.Service),self.instance,self.value,self._callbacks)
 
184
        self.notify()
 
185
 
176
186
        if isinstance( self.service, service.Service):
177
 
            self.notify()
 
187
            #self.notify()
 
188
            pass
178
189
        else:
179
190
            self.updated = True
180
191
            if self.service.last_change != None:
193
204
        #    return
194
205
        louie.send(signal='Coherence.UPnP.StateVariable.%s.changed' % self.name, sender=self.service, variable=self)
195
206
        louie.send(signal='Coherence.UPnP.StateVariable.changed',sender=self.service, variable=self)
 
207
        #print "CALLBACKS %s %r %r" % (self.name,self.instance,self._callbacks)
196
208
        for callback in self._callbacks:
197
 
            callback( self)
 
209
            callback(self)
198
210
 
199
211
    def __repr__(self):
200
212
        return "Variable: %s, %s, %d, %s, %s, %s, %s, %s, %s, %s" % \