On Tue, Jun 26, 2012 at 8:31 AM, Eric Mesa <span dir="ltr"><<a href="mailto:ericsbinaryworld@gmail.com" target="_blank">ericsbinaryworld@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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:<br>
</blockquote><div><br></div><div>Please always use <a href="http://pastebin.com">pastebin.com</a> or <a href="http://paste.kde.org">paste.kde.org</a> to show your codes instead</div><div>of putting them in emails.</div><div>
<br></div><div>Viranch</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>from PyQt4.QtCore import *<br>from PyKDE4.kdecore import *<br>from PyKDE4 import plasmascript<br>#for flickr<br>import views<br><br><br>class PyFlickrEngine(plasmascript.DataEngine):<br>  def __init__(self,parent,args=None):<br>

    plasmascript.DataEngine.__init__(self,parent)<br>    <br>  def init(self):<br>    self.setMinimumPollingInterval(333)<br>    #for flickr<br>    views.initialize()<br>  <br>  #adding this back in 24 jan to see if it helps<br>

  def sources(self):<br>    sources = ["25", "50", "75", "100", "200", "300", "400", "500", "600", "700", "800", "900", "1000", "1250", "1500", "1750", "2000","3000", "4000", "5000", "10000"]<br>

    return sources<br>    <br>  def sourceRequestEvent(self, name):<br>    #print "source request event" #debugging<br>    return self.updateSourceEvent(name)<br>    <br>  def updateSourceEvent(self,group):<br>
    print "updateSourceEvent"<br>
    #grouplist = []<br>    if group == "25":<br>      grouplist = views.analyzeviews(views.views25, views.views50)<br>      self.setData("25", "Group 25", grouplist)<br>    elif group == "50":<br>

      grouplist = views.analyzeviews(views.views50, views.views75)<br>      self.setData("50","Group 50", grouplist)<br>    elif group == "75":<br>      grouplist = views.analyzeviews(views.views75,views.views100)<br>

      self.setData("75","Group 75", grouplist)<br>    elif group == "100":<br>      print "i'm @ 100" #debug<br>      grouplist = views.analyzeviews(views.views100,views.views200)<br>

      self.setData("100","Group 100", grouplist)<br>    elif group == "200":<br>      print "i'm @ 200" #debug<br>      grouplist = views.analyzeviews(views.views200, views.views300)<br>

      self.setData("200","Group 200", grouplist)<br><b>... (cut a snippet out - I think you get the point)</b><br>    elif group == "10000":<br>      print "i'm @ 10000" #debug<br>

      grouplist = views.analyzeviews(views.views10000, views.views10000)<br>      self.setData("10000","Group 10000", grouplist)<br>    return True<br>    <br>def CreateDataEngine(parent):<br>  return PyFlickrEngine(parent)<br>

<br>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?<br>

<br>Thanks!<br clear="all">--<br>Eric Mesa<div><a href="http://about.me/ericmesa" target="_blank">http://about.me/ericmesa</a><br><a href="http://www.ericsbinaryworld.com" target="_blank">http://www.ericsbinaryworld.com</a></div>

<br>
<br>_______________________________________________<br>
Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br>
<br></blockquote></div><br>