#10427 NORM 10.1.3: mimetypes.xml defined by activities not	installed when installing activities
    Zarro Boogs per Child 
    bugtracker at laptop.org
       
    Thu Nov  4 07:20:05 EDT 2010
    
    
  
#10427: mimetypes.xml defined by activities not installed when installing
activities
--------------------+-------------------------------------------------------
 Reporter:  erikos  |                 Owner:  erikos                           
     Type:  defect  |                Status:  new                              
 Priority:  normal  |             Milestone:  10.1.3                           
Component:  sugar   |               Version:  Development build as of this date
 Keywords:          |           Next_action:  code                             
 Verified:  0       |   Deployment_affected:                                   
Blockedby:          |              Blocking:                                   
--------------------+-------------------------------------------------------
 Phenomena:
 * Create a game in Memorize. In the Journal the game has no associated
 icon, even so the activity bundle does contain one and define it in
 mimetypes.xml.
 * Try to copy a Scratch project from the Journal to an external device.
 The Journal chokes on it, since no mimetype is recognized.
 {{{
  Traceback (most recent call last):
   File "/usr/lib/python2.6/site-
 packages/jarabe/journal/volumestoolbar.py", line 164, in
 _drag_data_received_cb
     model.copy(metadata, self.mount_point)
   File "/usr/lib/python2.6/site-packages/jarabe/journal/model.py", line
 476, in copy
     return write(metadata, file_path, transfer_ownership=False)
   File "/usr/lib/python2.6/site-packages/jarabe/journal/model.py", line
 502, in write
     file_name = _get_file_name(metadata['title'], metadata['mime_type'])
   File "/usr/lib/python2.6/site-packages/jarabe/journal/model.py", line
 515, in _get_file_name
     extension = '.' + mime.get_primary_extension(mime_type)
 }}}
 The issue is the following: As described in
 http://bugs.sugarlabs.org/ticket/2262 Sugar does not install a mimetype
 when 'setyp.py install' is run. This command is used when having an
 activity packaged in an rpm. In the case of the olpc images we do just
 unzip the content of the .xo to the Activities folder in HOME without
 taking the mimetype into account. There is code in activitybundle.py to
 put the mimetype definition in the appropriate place.
 {{{
 xdg_data_home = os.getenv('XDG_DATA_HOME',
                                   os.path.expanduser('~/.local/share'))
         mime_path = os.path.join(install_path, 'activity',
 'mimetypes.xml')
         if os.path.isfile(mime_path):
             mime_dir = os.path.join(xdg_data_home, 'mime')
             mime_pkg_dir = os.path.join(mime_dir, 'packages')
             if not os.path.isdir(mime_pkg_dir):
                 os.makedirs(mime_pkg_dir)
             installed_mime_path = os.path.join(mime_pkg_dir,
                                                '%s.xml' % self._bundle_id)
             self._symlink(mime_path, installed_mime_path)
             os.spawnlp(os.P_WAIT, 'update-mime-database',
                        'update-mime-database', mime_dir)
 }}}
 This works, but only if you install the activity directly from the
 Journal.
-- 
Ticket URL: <http://dev.laptop.org/ticket/10427>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
    
    
More information about the Bugs
mailing list