fixing little issues on my QML/Python program

Viranch Mehta viranch.mehta at gmail.com
Tue Jun 26 09:16:46 UTC 2012


On Tue, Jun 26, 2012 at 8:31 AM, Eric Mesa <ericsbinaryworld at gmail.com>wrote:

> Thanks to everyone who's helped me over the last year or so with my
> program.  I have one more thing to fix on my engine and then it will be
> "perfect".  The recent help I got helped me finally perfect the GUI.  So my
> data engine's running a function over and over with different arguments to
> populate the sources.  Here's what it looks like:
>

Please always use pastebin.com or paste.kde.org to show your codes instead
of putting them in emails.

Viranch


>
> from PyQt4.QtCore import *
> from PyKDE4.kdecore import *
> from PyKDE4 import plasmascript
> #for flickr
> import views
>
>
> class PyFlickrEngine(plasmascript.DataEngine):
>   def __init__(self,parent,args=None):
>     plasmascript.DataEngine.__init__(self,parent)
>
>   def init(self):
>     self.setMinimumPollingInterval(333)
>     #for flickr
>     views.initialize()
>
>   #adding this back in 24 jan to see if it helps
>   def sources(self):
>     sources = ["25", "50", "75", "100", "200", "300", "400", "500", "600",
> "700", "800", "900", "1000", "1250", "1500", "1750", "2000","3000", "4000",
> "5000", "10000"]
>     return sources
>
>   def sourceRequestEvent(self, name):
>     #print "source request event" #debugging
>     return self.updateSourceEvent(name)
>
>   def updateSourceEvent(self,group):
>     print "updateSourceEvent"
>     #grouplist = []
>     if group == "25":
>       grouplist = views.analyzeviews(views.views25, views.views50)
>       self.setData("25", "Group 25", grouplist)
>     elif group == "50":
>       grouplist = views.analyzeviews(views.views50, views.views75)
>       self.setData("50","Group 50", grouplist)
>     elif group == "75":
>       grouplist = views.analyzeviews(views.views75,views.views100)
>       self.setData("75","Group 75", grouplist)
>     elif group == "100":
>       print "i'm @ 100" #debug
>       grouplist = views.analyzeviews(views.views100,views.views200)
>       self.setData("100","Group 100", grouplist)
>     elif group == "200":
>       print "i'm @ 200" #debug
>       grouplist = views.analyzeviews(views.views200, views.views300)
>       self.setData("200","Group 200", grouplist)
> *... (cut a snippet out - I think you get the point)*
>     elif group == "10000":
>       print "i'm @ 10000" #debug
>       grouplist = views.analyzeviews(views.views10000, views.views10000)
>       self.setData("10000","Group 10000", grouplist)
>     return True
>
> def CreateDataEngine(parent):
>   return PyFlickrEngine(parent)
>
> So that function it's calling, views.analyzeviews(arg, arg) is calling a
> web API and sometimes that API fails.  The cool thing about data engines vs
> when I used to do this on the commandline is that if it fails at 25, it
> doesn't crash the whole program.  It just moves on to 50.  So I can end up
> in the end where when I click on 25 it tells me that there's nothing in the
> source and then I click on 50 and I can use the data from that source.  So,
> right now if I want the data from 25, the only way I know how to do that is
> by re-running the program and hoping the API doesn't fail that time
> around.  Is there a way for me to tell the data engine to update group 25
> again from within the QML gui?
>
> Thanks!
> --
> Eric Mesa
> http://about.me/ericmesa
> http://www.ericsbinaryworld.com
>
>
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120626/bdbd458c/attachment.html>


More information about the Plasma-devel mailing list