چند وقته که می خواهم چندتا از برنامه هایی هایی که با پیتون روی dvb های خانگی اجرا میشوند را تغییر بدهم
سورس کد را اینجا برایتان میگذارم با پیتون 2.6 نوشته شده
تغییری که میخواهم انجام بدم حذف اتوماتیک فایل tmp ایجاد شده توسط برنامه هنگام خروج از برنامه است
ممنون میشم اگر اصلاحش کنید
این برنامه نقشه ترافیک آنلاین تهران را توی tv نشان میدهد
# Adapted by Kam10 from Ihad.tv enigma2-plugin tutorial 2010 lesson 7 & 8 by Emanuel
################################################## #########################
from Screens.Screen import Screen
from Components.Label import Label
from Components.Pixmap import Pixmap
from Components.AVSwitch import AVSwitch
from Components.ActionMap import ActionMap
from enigma import ePicLoad
from twisted.web.client import downloadPage
from Screens.MessageBox import MessageBox
from Plugins.Plugin import PluginDescriptor
################################################## #########################
class PictureScreen(Screen):
skin="""
<screen name="PictureScreen" position="0,0" size="1280,720" title="Picture Screen" backgroundColor="#002C2C39">
<widget name="myPic" position="0,0" size="1280,720" zPosition="1" alphatest="on" />
</screen>"""
def __init__(self, session, picPath = None):
Screen.__init__(self, session)
print "[PictureScreen] __init__\n"
self.picPath = picPath
self.Scale = AVSwitch().getFramebufferScale()
self.PicLoad = ePicLoad()
self["myPic"] = Pixmap()
self["myActionMap"] = ActionMap(["SetupActions"],
{
"ok": self.cancel,
"cancel": self.cancel
}, -1)
self.PicLoad.PictureData.get().append(self.DecodeP icture)
self.onLayoutFinish.append(self.ShowPicture)
def ShowPicture(self):
if self.picPath is not None:
self.PicLoad.setPara([
self["myPic"].instance.size().width(),
self["myPic"].instance.size().height(),
self.Scale[0],
self.Scale[1],
0,
1,
"#002C2C39"])
self.PicLoad.startDecode(self.picPath)
def DecodePicture(self, PicInfo = ""):
if self.picPath is not None:
ptr = self.PicLoad.getData()
self["myPic"].instance.setPixmap(ptr)
def cancel(self):
print "[PictureScreen] - cancel\n"
self.close(None)
class getPicfromUrl(object):
def __init__(self, session, url=None, path=None):
self.path = path
self.session = session
self.download(url, path)
def download(self, url, path):
downloadPage(url, path).addCallback(self.downloadDone).addErrback(se lf.downloadError)
def downloadError(self, raw):
print "[e2Fetcher.fetchPage]: download Error", raw
self.session.open(MessageBox, text = _("Error downloading: ") + self.path, type = MessageBox.TYPE_ERROR)
def downloadDone(self,raw):
print "[e2Fetcher.fetchPage]: download done", raw
self.session.open(PictureScreen, picPath = self.path)
################################################## #########################
def main(session, **kwargs):
getPicfromUrl(session,"http://www.tehrantraffic.com/trafficmap/ShowImage.asp", "/tmp/tehran.tmp")
################################################## #########################
def Plugins(**kwargs):
return PluginDescriptor(
name="TehranTraffic-online",
description="showing Tehran traffic online-map",
where = PluginDescriptor.WHERE_PLUGINMENU,
icon="./tehran.png",
fnc=main)