Hi Adam et al, I installed the latest nautilus-python from git master but I could not find any update_file_info_async() method in it. Perhaps you are referring to update_file_info_full() ? What does the *full* signify in these calls ?
And one more question I had was, assuming I get my data and cache it using the update_file_info_*() method, how do I make it accessible to to get_file_items() method when the user actually right-clicks ? This maybe a pretty stupid question but please bear with me, nevertheless. regards, Seemanta On Wed, Apr 28, 2010 at 7:55 PM, Adam Plumb <adampl...@gmail.com> wrote: > On Wed, Apr 28, 2010 at 10:11 AM, Seemanta Dutta <seema...@gmail.com> > wrote: > > Actually I did not use update_file_info. I used get_file_list() because I > > derived my class from MenuProvider. Isn't the way I am supposed to do it? > Is > > there a better way to do what I have done? Can you please take a look at > my > > code and let me know if that is the case? My script is hosted at: > > http://seemanta.net/code/Nautilus_plugin/add-to-rhythmbox_V02.py > > > > In any case, I shall get the latest stuff from git and let you know how > it > > goes. > > > > regards, > > Seemanta > > You have done it correctly. Looking at your code, I don't see much > you can do to improvie things with just sub-classing MenuProvider. > > One thing you can do is subclass nautilus.InfoProvider and use the > update_file_info (or in the case of git master, > update_file_info_async) to collect file information asynchronously > when the directory is loaded, and then when the user right-clicks on > the file and get_file_items() is called, the information is already > there. That may add more complexity than you want to deal with though > (for maybe not much benefit). > > Adam > > > > > On Wed, Apr 28, 2010 at 7:31 PM, Adam Plumb <adampl...@gmail.com> wrote: > >> > >> On Wed, Apr 28, 2010 at 9:18 AM, Seemanta Dutta <seema...@gmail.com> > >> wrote: > >> > Hi Nautilus hackers/users, > >> > > >> > First of all hats off to all Nautilus hackers. This is such a fine > piece > >> > of > >> > software. I have been using Linux for more than 10 years now and more > >> > particularly Gnome where I find Nautilus extremely well integrated. > You > >> > guys > >> > have done a damn fine job of creating/maintaining Nautilus ! > >> > > >> > I recently wrote a small python plugin to enqueue files or folders > >> > recursively into the rhythmbox play queue. Please find it here: > >> > http://seemanta.net/myblog/?p=634. I am not sure if this is the right > >> > place > >> > to post this. If there is a dedicated mailing list for python > extensions > >> > for > >> > Nautilus, please let me know. > >> > > >> > I am however, facing one issue in my script and need your inputs > >> > regarding > >> > it. Whenever a big folder with several levels of sub-folders and files > >> > is > >> > selected, there is a high latency in Nautilus during which it seems to > >> > become unresponsive. This is because my plugin is creating a list of > >> > files > >> > that need to be enqueued and this is done recursively. Is there a way > to > >> > overcome this? I agree, that for huge folders, if I right click the > >> > delay > >> > might be acceptable. But I think if I simply select a folder, the > python > >> > plugin should not get invoked. > >> > > >> > Any ideas how to make my script run only in case of a right-click and > >> > not on > >> > normal left click selects ? > >> > > >> > regards, > >> > Seemanta > >> > > >> > > >> > >> I'm the maintainer for the nautilus-python bindings, and I've been > >> doing some work recently to allow for asynchronous IO work in the > >> update_file_info method, which I assume is what you are using for your > >> IO. It is still somewhat experimental, but I would appreciate it if > >> you could clone git master at > >> http://git.gnome.org/browse/nautilus-python and test your extension > >> using the new code. If you do that, let me know whether it alleviates > >> the problems you're seeing with your extension. FYI, you should read > >> the new documentation in examples/documentation.py to see how to use > >> the new features. > >> > >> Adam > >> -- > >> nautilus-list mailing list > >> nautilus-list@gnome.org > >> http://mail.gnome.org/mailman/listinfo/nautilus-list > > > > >
-- nautilus-list mailing list nautilus-list@gnome.org http://mail.gnome.org/mailman/listinfo/nautilus-list