Exemplo n.º 1
0
 def store_value(self, key, w):
     if key == "vfolders":  # And this one is special too
         # Generate dict of { folder_id : bool } where bool is True if
         # folder should be shared with this device
         folders = {}
         for b in self["vfolders"].get_children():
             folders[b.get_tooltip_text()] = b.get_active()
             # Go over all Folders/<folder>/Devices/<device> keys in config
             # and set them as needed
         nid = self.get_value("deviceID")
         for r in self.config["folders"]:
             rid = r["id"]
             found = False
             for n in r["devices"]:
                 if n["deviceID"] == nid:
                     if not rid in folders or not folders[rid]:
                         # Remove this /<device> key (unshare folder with device)
                         r["devices"].remove(n)
                         break
                     found = True
             if (not found) and (rid in folders) and folders[rid]:
                 # Add new /<device> key (share folder with device)
                 r["devices"].append(
                     {"addresses": None, "deviceID": nid, "name": "", "certName": "", "compression": "metadata"}
                 )
     else:
         EditorDialog.store_value(self, key, w)
Exemplo n.º 2
0
 def store_value(self, key, w):
     if key == "vfolders":  # And this one is special too
         # Generate dict of { folder_id : bool } where bool is True if
         # folder should be shared with this device
         folders = {}
         for b in self["vfolders"].get_children():
             folders[b.get_tooltip_text()] = b.get_active()
         # Go over all Folders/<folder>/Devices/<device> keys in config
         # and set them as needed
         nid = self.get_value("deviceID")
         for r in self.config["folders"]:
             rid = r["id"]
             found = False
             for n in r["devices"]:
                 if n["deviceID"] == nid:
                     if not rid in folders or not folders[rid]:
                         # Remove this /<device> key (unshare folder with device)
                         r["devices"].remove(n)
                         break
                     found = True
             if (not found) and (rid in folders) and folders[rid]:
                 # Add new /<device> key (share folder with device)
                 r["devices"].append({
                     "addresses": None,
                     "deviceID": nid,
                     "name": "",
                     "certName": "",
                     "compression": "metadata"
                 })
     else:
         EditorDialog.store_value(self, key, w)
Exemplo n.º 3
0
 def store_value(self, key, w):
     if key == "vdevices":  # Still very special case
         devices = [{
             "deviceID": b.get_tooltip_text(),
         } for b in self["vdevices"].get_children() if b.get_active()]
         self.set_value("devices", devices)
     else:
         EditorDialog.store_value(self, key, w)
Exemplo n.º 4
0
	def store_value(self, key, w):
		if key == "vdevices":	# Still very special case
			devices = [ {
						"deviceID" : b.get_tooltip_text(),
						} for b in self["vdevices"].get_children()
						if b.get_active()
					]
			self.set_value("devices", devices)
		else:
			EditorDialog.store_value(self, key, w)
Exemplo n.º 5
0
	def store_value(self, key, w):
		if key == "vautostart_daemon":
			if   self["rbOnStartWait"].get_active() : self.set_value(key[1:], 0)
			elif self["rbOnStartRun"].get_active() : self.set_value(key[1:], 1)
			else: return self.set_value(key[1:], 2)	# vOnStartAsk
		elif key == "vautokill_daemon":
			if self["rbOnExitTerminate"].get_active() : return self.set_value(key[1:], 1)
			elif self["rbOnExitLeave"].get_active() : return self.set_value(key[1:], 0)
			else: return self.set_value(key[1:], 2)	# vOnExitAsk
		elif key == "vst_autoupdate":
			# Reset updatecheck timer when autoupdate is turned on
			if self["vst_autoupdate"].get_active():
				self.values["last_updatecheck"] = LONG_AGO
			return EditorDialog.store_value(self, key, w)
		else:
			return EditorDialog.store_value(self, key, w)
 def store_value(self, key, w):
     if key == "vautostart_daemon":
         if self["rbOnStartWait"].get_active(): self.set_value(key[1:], 0)
         elif self["rbOnStartRun"].get_active(): self.set_value(key[1:], 1)
         else: return self.set_value(key[1:], 2)  # vOnStartAsk
     elif key == "vautokill_daemon":
         if self["rbOnExitTerminate"].get_active():
             return self.set_value(key[1:], 1)
         elif self["rbOnExitLeave"].get_active():
             return self.set_value(key[1:], 0)
         else:
             return self.set_value(key[1:], 2)  # vOnExitAsk
     elif key == "vst_autoupdate":
         # Reset updatecheck timer when autoupdate is turned on
         if self["vst_autoupdate"].get_active():
             self.values["last_updatecheck"] = LONG_AGO
         return EditorDialog.store_value(self, key, w)
     else:
         return EditorDialog.store_value(self, key, w)
Exemplo n.º 7
0
 def store_value(self, key, w):
     if key == "vaddresses":
         addresses = w.get_text().strip()
         if addresses == "dynamic":
             # Special case
             self.set_value("addresses", "dynamic")
         else:
             addresses = [
                 x.strip() if "://" in x else "tcp://%s" % (x.strip(), )
                 for x in addresses.split(",")
             ]
             self.set_value("addresses", ",".join(addresses))
     elif key == "vfolders":
         # Generate dict of { folder_id : bool } where bool is True if
         # folder should be shared with this device
         folders = {}
         for b in self["vfolders"].get_children():
             folders[b.get_tooltip_text()] = b.get_active()
         # Go over all Folders/<folder>/Devices/<device> keys in config
         # and set them as needed
         nid = self.get_value("deviceID")
         for r in self.config["folders"]:
             rid = r["id"]
             found = False
             for n in r["devices"]:
                 if n["deviceID"] == nid:
                     if not rid in folders or not folders[rid]:
                         # Remove this /<device> key (unshare folder with device)
                         r["devices"].remove(n)
                         break
                     found = True
             if (not found) and (rid in folders) and folders[rid]:
                 # Add new /<device> key (share folder with device)
                 r["devices"].append({
                     "addresses": None,
                     "deviceID": nid,
                     "name": "",
                     "certName": "",
                     "compression": "metadata"
                 })
     else:
         EditorDialog.store_value(self, key, w)
Exemplo n.º 8
0
	def store_value(self, key, w):
		if key == "vaddresses":
			addresses = w.get_text().strip()
			if addresses == "dynamic":
				# Special case
				self.set_value("addresses", "dynamic")
			else:
				addresses = [
					x.strip() if "://" in x else "tcp://%s" % (x.strip(),)
					for x in addresses.split(",") ]
				self.set_value("addresses", ",".join(addresses))
		elif key == "vfolders":
			# Generate dict of { folder_id : bool } where bool is True if
			# folder should be shared with this device
			folders = {}
			for b in self["vfolders"].get_children():
				folders[b.get_tooltip_text()] = b.get_active()
			# Go over all Folders/<folder>/Devices/<device> keys in config
			# and set them as needed
			nid = self.get_value("deviceID")
			for r in self.config["folders"]:
				rid = r["id"]
				found = False
				for n in r["devices"]:
					if n["deviceID"] == nid:
						if not rid in folders or not folders[rid]:
							# Remove this /<device> key (unshare folder with device)
							r["devices"].remove(n)
							break
						found = True
				if (not found) and (rid in folders) and folders[rid]:
					# Add new /<device> key (share folder with device)
					r["devices"].append({
					   "addresses" : None,
					   "deviceID" : nid,
					   "name" : "",
					   "certName" : "",
					   "compression" : "metadata"
						})
		else:
			EditorDialog.store_value(self, key, w)