Merge remote-tracking branch 'origin/pr/355'
* origin/pr/355: Removed unused vm.icon_path property
This commit is contained in:
		
						commit
						6adf56f4ba
					
				| @ -184,16 +184,12 @@ class TC_00_BackupCompatibility( | |||||||
|         os.mkdir(self.fullpath("appvms/test-work")) |         os.mkdir(self.fullpath("appvms/test-work")) | ||||||
|         self.create_whitelisted_appmenus(self.fullpath( |         self.create_whitelisted_appmenus(self.fullpath( | ||||||
|             "appvms/test-work/whitelisted-appmenus.list")) |             "appvms/test-work/whitelisted-appmenus.list")) | ||||||
|         os.symlink("/usr/share/qubes/icons/green.png", |  | ||||||
|                    self.fullpath("appvms/test-work/icon.png")) |  | ||||||
|         self.create_private_img(self.fullpath("appvms/test-work/private.img")) |         self.create_private_img(self.fullpath("appvms/test-work/private.img")) | ||||||
| 
 | 
 | ||||||
|         # StandaloneVM |         # StandaloneVM | ||||||
|         os.mkdir(self.fullpath("appvms/test-standalonevm")) |         os.mkdir(self.fullpath("appvms/test-standalonevm")) | ||||||
|         self.create_whitelisted_appmenus(self.fullpath( |         self.create_whitelisted_appmenus(self.fullpath( | ||||||
|             "appvms/test-standalonevm/whitelisted-appmenus.list")) |             "appvms/test-standalonevm/whitelisted-appmenus.list")) | ||||||
|         os.symlink("/usr/share/qubes/icons/blue.png", |  | ||||||
|                    self.fullpath("appvms/test-standalonevm/icon.png")) |  | ||||||
|         self.create_private_img(self.fullpath( |         self.create_private_img(self.fullpath( | ||||||
|             "appvms/test-standalonevm/private.img")) |             "appvms/test-standalonevm/private.img")) | ||||||
|         self.create_sparse( |         self.create_sparse( | ||||||
| @ -254,8 +250,6 @@ class TC_00_BackupCompatibility( | |||||||
|             self.create_whitelisted_appmenus(self.fullpath( |             self.create_whitelisted_appmenus(self.fullpath( | ||||||
|                 "vm-templates/test-template-clone/netvm-whitelisted-appmenus" |                 "vm-templates/test-template-clone/netvm-whitelisted-appmenus" | ||||||
|                 ".list")) |                 ".list")) | ||||||
|         os.symlink("/usr/share/qubes/icons/green.png", |  | ||||||
|                    self.fullpath("vm-templates/test-template-clone/icon.png")) |  | ||||||
|         os.mkdir( |         os.mkdir( | ||||||
|             self.fullpath("vm-templates/test-template-clone/apps.templates")) |             self.fullpath("vm-templates/test-template-clone/apps.templates")) | ||||||
|         self.create_appmenus( |         self.create_appmenus( | ||||||
|  | |||||||
| @ -94,9 +94,7 @@ class TC_00_DispVM(qubes.tests.QubesTestCase): | |||||||
|         self.assertEqual(dispvm.auto_cleanup, True) |         self.assertEqual(dispvm.auto_cleanup, True) | ||||||
|         mock_makedirs.assert_called_once_with( |         mock_makedirs.assert_called_once_with( | ||||||
|             '/var/lib/qubes/appvms/' + dispvm.name, mode=0o775, exist_ok=True) |             '/var/lib/qubes/appvms/' + dispvm.name, mode=0o775, exist_ok=True) | ||||||
|         mock_symlink.assert_called_once_with( |         mock_symlink.assert_not_called() | ||||||
|             '/usr/share/icons/hicolor/128x128/devices/appvm-red.png', |  | ||||||
|             '/var/lib/qubes/appvms/{}/icon.png'.format(dispvm.name)) |  | ||||||
| 
 | 
 | ||||||
|     def test_001_from_appvm_reject_not_allowed(self): |     def test_001_from_appvm_reject_not_allowed(self): | ||||||
|         with self.assertRaises(qubes.exc.QubesException): |         with self.assertRaises(qubes.exc.QubesException): | ||||||
|  | |||||||
| @ -213,10 +213,6 @@ class AdminVM(qubes.vm.BaseVM): | |||||||
|         ''' |         ''' | ||||||
|         raise qubes.exc.QubesVMError(self, 'Cannot kill Dom0 fake domain!') |         raise qubes.exc.QubesVMError(self, 'Cannot kill Dom0 fake domain!') | ||||||
| 
 | 
 | ||||||
|     @property |  | ||||||
|     def icon_path(self): |  | ||||||
|         pass |  | ||||||
| 
 |  | ||||||
|     @property |     @property | ||||||
|     def untrusted_qdb(self): |     def untrusted_qdb(self): | ||||||
|         '''QubesDB handle for this domain.''' |         '''QubesDB handle for this domain.''' | ||||||
|  | |||||||
| @ -808,10 +808,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): | |||||||
|             self.dir_path_prefix, |             self.dir_path_prefix, | ||||||
|             self.name) |             self.name) | ||||||
| 
 | 
 | ||||||
|     @property |  | ||||||
|     def icon_path(self): |  | ||||||
|         return os.path.join(self.dir_path, 'icon.png') |  | ||||||
| 
 |  | ||||||
|     @property |     @property | ||||||
|     def conf_file(self): |     def conf_file(self): | ||||||
|         return os.path.join(self.dir_path, 'libvirt.xml') |         return os.path.join(self.dir_path, 'libvirt.xml') | ||||||
| @ -954,17 +950,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): | |||||||
|     @qubes.events.handler('property-set:label') |     @qubes.events.handler('property-set:label') | ||||||
|     def on_property_set_label(self, event, name, newvalue, oldvalue=None): |     def on_property_set_label(self, event, name, newvalue, oldvalue=None): | ||||||
|         # pylint: disable=unused-argument |         # pylint: disable=unused-argument | ||||||
|         if self.icon_path: |  | ||||||
|             try: |  | ||||||
|                 os.remove(self.icon_path) |  | ||||||
|             except OSError: |  | ||||||
|                 pass |  | ||||||
|             if hasattr(os, "symlink"): |  | ||||||
|                 os.symlink(newvalue.icon_path, self.icon_path) |  | ||||||
|                 subprocess.call(['sudo', 'xdg-icon-resource', 'forceupdate']) |  | ||||||
|             else: |  | ||||||
|                 shutil.copy(newvalue.icon_path, self.icon_path) |  | ||||||
| 
 |  | ||||||
|         # icon is calculated based on label |         # icon is calculated based on label | ||||||
|         self.fire_event('property-reset:icon', name='icon') |         self.fire_event('property-reset:icon', name='icon') | ||||||
| 
 | 
 | ||||||
| @ -1690,15 +1675,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): | |||||||
|                                    'creation'.format(self.dir_path)) |                                    'creation'.format(self.dir_path)) | ||||||
|             raise |             raise | ||||||
| 
 | 
 | ||||||
|         if os.path.exists(self.icon_path): |  | ||||||
|             os.unlink(self.icon_path) |  | ||||||
|         self.log.info('Creating icon symlink: {} -> {}'.format( |  | ||||||
|             self.icon_path, self.label.icon_path)) |  | ||||||
|         if hasattr(os, "symlink"): |  | ||||||
|             os.symlink(self.label.icon_path, self.icon_path) |  | ||||||
|         else: |  | ||||||
|             shutil.copy(self.label.icon_path, self.icon_path) |  | ||||||
| 
 |  | ||||||
|         # fire hooks |         # fire hooks | ||||||
|         yield from self.fire_event_async('domain-create-on-disk') |         yield from self.fire_event_async('domain-create-on-disk') | ||||||
| 
 | 
 | ||||||
| @ -1757,21 +1733,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): | |||||||
|         self.storage.verify() |         self.storage.verify() | ||||||
|         assert self.volumes != {} |         assert self.volumes != {} | ||||||
| 
 | 
 | ||||||
|         if src.icon_path is not None \ |  | ||||||
|                 and os.path.exists(src.icon_path) \ |  | ||||||
|                 and self.icon_path is not None: |  | ||||||
|             if os.path.islink(src.icon_path): |  | ||||||
|                 icon_path = os.readlink(src.icon_path) |  | ||||||
|                 self.log.info( |  | ||||||
|                     'Creating icon symlink {} -> {}'.format( |  | ||||||
|                         self.icon_path, icon_path)) |  | ||||||
|                 os.symlink(icon_path, self.icon_path) |  | ||||||
|             else: |  | ||||||
|                 self.log.info( |  | ||||||
|                     'Copying icon {} -> {}'.format( |  | ||||||
|                         src.icon_path, self.icon_path)) |  | ||||||
|                 shutil.copy(src.icon_path, self.icon_path) |  | ||||||
| 
 |  | ||||||
|         # fire hooks |         # fire hooks | ||||||
|         yield from self.fire_event_async('domain-clone-files', src=src) |         yield from self.fire_event_async('domain-clone-files', src=src) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marek Marczykowski-Górecki
						Marek Marczykowski-Górecki