[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: fixing little issues on my QML/Python program
From: Viranch Mehta <viranch.mehta () gmail ! com>
Date: 2012-06-26 9:28:46
Message-ID: CADk4OpYEGYogWkntWkbvDFR2kUFb-TSJiFp4cFCP2=5R3EWe4Q () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
On Tue, Jun 26, 2012 at 8:31 AM, Eric Mesa <ericsbinaryworld@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@kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>
[Attachment #5 (text/html)]
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>
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic