Add get_bundle method to activity.py
When a programmer need open one activity from other [1] usually need display in the user interface information about the activity to open, like the name or the icon. This method allow get this information, previously only available on jarabe. [1] http://wiki.sugarlabs.org/go/Features/Start_activity_from_another_activity
This commit is contained in:
		
							parent
							
								
									797130baed
								
							
						
					
					
						commit
						04d8f596bc
					
				@ -83,6 +83,7 @@ from sugar3.graphics.alert import Alert
 | 
				
			|||||||
from sugar3.graphics.icon import Icon
 | 
					from sugar3.graphics.icon import Icon
 | 
				
			||||||
from sugar3.datastore import datastore
 | 
					from sugar3.datastore import datastore
 | 
				
			||||||
from sugar3.bundle.activitybundle import get_bundle_instance
 | 
					from sugar3.bundle.activitybundle import get_bundle_instance
 | 
				
			||||||
 | 
					from sugar3.bundle.helpers import bundle_from_dir
 | 
				
			||||||
from gi.repository import SugarExt
 | 
					from gi.repository import SugarExt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_ = lambda msg: gettext.dgettext('sugar-toolkit-gtk3', msg)
 | 
					_ = lambda msg: gettext.dgettext('sugar-toolkit-gtk3', msg)
 | 
				
			||||||
@ -1166,3 +1167,14 @@ def launch_bundle(bundle_id='', object_id=''):
 | 
				
			|||||||
    obj = bus.get_object(J_DBUS_SERVICE, J_DBUS_PATH)
 | 
					    obj = bus.get_object(J_DBUS_SERVICE, J_DBUS_PATH)
 | 
				
			||||||
    bundle_launcher = dbus.Interface(obj, J_DBUS_INTERFACE)
 | 
					    bundle_launcher = dbus.Interface(obj, J_DBUS_INTERFACE)
 | 
				
			||||||
    return bundle_launcher.LaunchBundle(bundle_id, object_id)
 | 
					    return bundle_launcher.LaunchBundle(bundle_id, object_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_bundle(bundle_id='', object_id=''):
 | 
				
			||||||
 | 
					    bus = dbus.SessionBus()
 | 
				
			||||||
 | 
					    obj = bus.get_object(J_DBUS_SERVICE, J_DBUS_PATH)
 | 
				
			||||||
 | 
					    journal = dbus.Interface(obj, J_DBUS_INTERFACE)
 | 
				
			||||||
 | 
					    bundle_path = journal.GetBundlePath(bundle_id, object_id)
 | 
				
			||||||
 | 
					    if bundle_path:
 | 
				
			||||||
 | 
					        return bundle_from_dir(bundle_path)
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        return None
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user