Development Team/Almanac/sugar.datastore.datastore: Difference between revisions

m Robot: Automated text replacement (-{{Sugar Almanac TOC}} +{{Almanac TOC}})
 
(10 intermediate revisions by 6 users not shown)
Line 32: Line 32:


=== How do I provide a query to the datastore.find() method so that I can find datastore objects with a particular property? ===
=== How do I provide a query to the datastore.find() method so that I can find datastore objects with a particular property? ===
'''IMPORTANT''' Do not rely on datastore.find() method in all cases, its behaviour could be changed in future releases;<br>there is only on thing for sure: to treat jobjects that were created within activity use:<br>datastore.find({'activity_id': <activity-id-of(and only of)-current-activity>, ...})
The datastore package includes a find() helper function that allows you to find things in the datastore. Belows is a very simple example use of find where I simply search for journal entries that have a title of 'file1.txt'. I think print out the title and file path for each retreived entry.  
The datastore package includes a find() helper function that allows you to find things in the datastore. Belows is a very simple example use of find where I simply search for journal entries that have a title of 'file1.txt'. I think print out the title and file path for each retreived entry.  


Line 41: Line 44:
         print "Number of Objects: " + str(num_objects)
         print "Number of Objects: " + str(num_objects)


         for i in xrange (0, num_objects, 1):
         for i in xrange (num_objects):
             print "File Path: " + ds_objects[i].get_file_path()
             print "File Path: " + ds_objects[i].get_file_path()
             print "Title: " + ds_objects[i].metadata['title']
             print "Title: " + ds_objects[i].metadata['title']
Line 74: Line 77:


         #loop through and delete each datastore object found.  
         #loop through and delete each datastore object found.  
         for i in xrange (0, num_objects, 1):
         for i in xrange (num_objects):
             print 'DELETING ' + ds_objects[i].metadata['title'] + '...'
             print 'DELETING ' + ds_objects[i].metadata['title'] + '...'
             ds_objects[i].destroy()
             ds_objects[i].destroy()
Line 95: Line 98:


         #loop through list of values and print them out.  
         #loop through list of values and print them out.  
         for i in xrange(0, len(unique_val_array), 1):
         for x in unique_val_array:
             print str(unique_val_array[i])
             print x
</pre>
</pre>


Line 119: Line 122:
         print '------------------------MOUNTS--------------------------------'
         print '------------------------MOUNTS--------------------------------'
         ds_mounts = datastore.mounts()
         ds_mounts = datastore.mounts()
         for i in xrange(0, len(ds_mounts), 1):
         for x in ds_mounts:
             print '---------MOUNT---------'
             print '---------MOUNT---------'
             print 'title: '+ ds_mounts[i]['title']
             print 'title: '+ x['title']
             print 'uri: '+ ds_mounts[i]['uri']
             print 'uri: '+ x['uri']
             print 'id: ' + ds_mounts[i]['id']
             print 'id: ' + x['id']
          
          
</pre>
</pre>