1 diff -urN LCD4linux_ori/plugin.py LCD4linux/plugin.py
2 --- LCD4linux_ori/plugin.py 2012-08-29 17:06:28.000000000 +0900
3 +++ LCD4linux/plugin.py 2013-05-10 14:31:45.000000000 +0900
5 from urllib import urlencode
6 import xml.etree.cElementTree
8 +from threading import Thread
9 +from fcntl import ioctl
11 +from pngutil import png_util
12 +pngutil = png_util.PNGUtil()
15 DPFrefreshrate="/usr/lib/enigma2/python/Plugins/Extensions/LCD4linux/refreshrate"
16 WetterPath = "/usr/lib/enigma2/python/Plugins/Extensions/LCD4linux/wetter/"
18 BilderIndexStandby = 0
21 +WetterThreadRunning = 0
23 DemonPID = ["","","",""]
26 ScreenSelect = [("0", _("off")), ("1", _("Screen 1")), ("2", _("Screen 2")), ("3", _("Screen 3")), ("12", _("Screen 1+2")), ("13", _("Screen 1+3")), ("23", _("Screen 2+3")), ("123", _("Screen 1+2+3")), ("4", _("Screen 4")), ("14", _("Screen 1+4")), ("24", _("Screen 2+4")), ("34", _("Screen 3+4")), ("124", _("Screen 1+2+4")), ("134", _("Screen 1+3+4")), ("234", _("Screen 2+3+4")), ("1234", _("Screen 1+2+3+4"))]
27 TimeSelect = [("1", _("5s")), ("2", _("10s")), ("3", _("15s")), ("4", _("20s")), ("6", _("30s")), ("12", _("1min")), ("24", _("2min"), ("60", _("5min")))]
28 LCDSelect = [("1", _("LCD 1")), ("2", _("LCD 2")), ("12", _("LCD 1+2"))]
29 -LCDType = [("11", _("Pearl 320x240")), ("12", _("Pearl 240x320")), ("23", _("Samsung SPF-75H 800x480")), ("24", _("Samsung SPF-87H 800x480")), ("25", _("Samsung SPF-87Hold 800x480")), ("26", _("Samsung SPF-83H 800x600")), ("27", _("Samsung SPF-107H 1024x600"))]
30 +LCDType = [("10", _("Vu LCD 400x240"))]
32 config.plugins.LCD4linux = ConfigSubsection()
33 config.plugins.LCD4linux.Enable = ConfigYesNo(default = False)
35 config.plugins.LCD4linux.ScreenTime3 = ConfigSelection(choices = TimeSelect, default="1")
36 config.plugins.LCD4linux.ScreenTime4 = ConfigSelection(choices = TimeSelect, default="1")
37 config.plugins.LCD4linux.BilderTime = ConfigSelection(choices = [("0", _("off"))] + TimeSelect, default="0")
38 -config.plugins.LCD4linux.Helligkeit = ConfigSlider(default = 5, limits = (0, 7))
39 +config.plugins.LCD4linux.Helligkeit = ConfigSlider(default = 4, limits = (0, 25))
40 config.plugins.LCD4linux.LCDoff = ConfigClock(default = ((5 * 60 + 0) * 60) )
41 config.plugins.LCD4linux.LCDon = ConfigClock(default = ((5 * 60 + 0) * 60) )
42 config.plugins.LCD4linux.Refresh = ConfigSlider(default = 3, limits = (1, 15))
43 config.plugins.LCD4linux.Delay = ConfigSlider(default = 200, increment = 50, limits = (50, 2000))
44 config.plugins.LCD4linux.WetterCity = ConfigText(default="Berlin", fixed_size=False)
45 -config.plugins.LCD4linux.LCDType1 = ConfigSelection(choices = LCDType, default="11")
46 +config.plugins.LCD4linux.LCDType1 = ConfigSelection(choices = LCDType, default="10")
47 config.plugins.LCD4linux.LCDType2 = ConfigSelection(choices = [("00", _("off"))] + LCDType, default="00")
48 config.plugins.LCD4linux.LCDRotate1 = ConfigSelection(choices = [("0", _("0")), ("90", _("90")), ("180", _("180"))], default="0")
49 config.plugins.LCD4linux.LCDRotate2 = ConfigSelection(choices = [("0", _("0")), ("90", _("90")), ("180", _("180"))], default="0")
51 config.plugins.LCD4linux.WetterLCD = ConfigSelection(choices = LCDSelect, default="1")
52 config.plugins.LCD4linux.WetterPos = ConfigSlider(default = 50, increment = 2, limits = (0, 600))
53 config.plugins.LCD4linux.WetterType = ConfigSelection(choices = [("1", _("4 Days small")), ("2", _("4 Days big")), ("3", _("Current big")), ("4", _("Current full"))], default="1")
54 -config.plugins.LCD4linux.OSCAM = ConfigSelection(choices = ScreenSelect, default="0")
55 -config.plugins.LCD4linux.OSCAMLCD = ConfigSelection(choices = LCDSelect, default="1")
56 -config.plugins.LCD4linux.OSCAMFile = ConfigText(default="/tmp/.oscam/oscam.lcd", fixed_size=False)
57 -config.plugins.LCD4linux.OSCAMSize = ConfigSlider(default = 10, increment = 1, limits = (9, 20))
58 -config.plugins.LCD4linux.OSCAMPos = ConfigSlider(default = 20, increment = 2, limits = (0, 600))
59 -config.plugins.LCD4linux.OSCAMAlign = ConfigSelection(choices = [("0", _("left")), ("2", _("right"))], default="0")
60 -config.plugins.LCD4linux.OSCAMSplit = ConfigYesNo(default = False)
61 -config.plugins.LCD4linux.OSCAMColor = ConfigSelection(choices = Farbe, default="white")
62 -config.plugins.LCD4linux.OSCAMBackColor = ConfigSelection(choices = [("0", _("off"))] + Farbe, default="black")
63 config.plugins.LCD4linux.WetterCity = ConfigText(default="Berlin", fixed_size=False)
64 config.plugins.LCD4linux.Text = ConfigSelection(choices = ScreenSelect, default="0")
65 config.plugins.LCD4linux.TextLCD = ConfigSelection(choices = LCDSelect, default="1")
67 config.plugins.LCD4linux.MPClockAlign = ConfigSelection(choices = [("0", _("left")), ("1", _("center")), ("2", _("right"))], default="1")
68 config.plugins.LCD4linux.MPClockSplit = ConfigYesNo(default = False)
69 config.plugins.LCD4linux.MPClockColor = ConfigSelection(choices = Farbe, default="white")
70 -config.plugins.LCD4linux.Standby = ConfigSelection(choices = [("0", _("off")), ("1", _("on"))], default="1")
71 +config.plugins.LCD4linux.Standby = ConfigSelection(choices = [("0", _("off")), ("1", _("on"))], default="0")
72 config.plugins.LCD4linux.StandbyScreenMax = ConfigSelection(choices = [("1", _("Screen 1")), ("2", _("Screen 1-2")), ("3", _("Screen 1-3"))], default="1")
73 -config.plugins.LCD4linux.StandbyHelligkeit = ConfigSlider(default = 1, limits = (0, 7))
74 +config.plugins.LCD4linux.StandbyHelligkeit = ConfigSlider(default = 3, limits = (0, 25))
75 config.plugins.LCD4linux.StandbyLCDoff = ConfigClock(default = ((5 * 60 + 0) * 60) )
76 config.plugins.LCD4linux.StandbyLCDon = ConfigClock(default = ((5 * 60 + 0) * 60) )
77 config.plugins.LCD4linux.StandbyClock = ConfigSelection(choices = ScreenSelect, default="1")
79 config.plugins.LCD4linux.StandbyWetterLCD = ConfigSelection(choices = LCDSelect, default="1")
80 config.plugins.LCD4linux.StandbyWetterPos = ConfigSlider(default = 50, increment = 2, limits = (0, 600))
81 config.plugins.LCD4linux.StandbyWetterType = ConfigSelection(choices = [("1", _("4 Days small")), ("2", _("4 Days big")), ("3", _("Current big")), ("4", _("Current full"))], default="1")
82 -config.plugins.LCD4linux.StandbyOSCAM = ConfigSelection(choices = ScreenSelect, default="0")
83 -config.plugins.LCD4linux.StandbyOSCAMLCD = ConfigSelection(choices = LCDSelect, default="1")
84 -config.plugins.LCD4linux.StandbyOSCAMSize = ConfigSlider(default = 10, increment = 1, limits = (9, 20))
85 -config.plugins.LCD4linux.StandbyOSCAMPos = ConfigSlider(default = 20, increment = 2, limits = (0, 600))
86 -config.plugins.LCD4linux.StandbyOSCAMAlign = ConfigSelection(choices = [("0", _("left")), ("2", _("right"))], default="0")
87 -config.plugins.LCD4linux.StandbyOSCAMSplit = ConfigYesNo(default = False)
88 -config.plugins.LCD4linux.StandbyOSCAMColor = ConfigSelection(choices = Farbe, default="white")
89 -config.plugins.LCD4linux.StandbyOSCAMBackColor = ConfigSelection(choices = [("0", _("off"))] + Farbe, default="black")
90 config.plugins.LCD4linux.StandbyText = ConfigSelection(choices = ScreenSelect, default="0")
91 config.plugins.LCD4linux.StandbyTextLCD = ConfigSelection(choices = LCDSelect, default="1")
92 config.plugins.LCD4linux.StandbyTextFile = ConfigText(default="/tmp/lcd4linux.txt", fixed_size=False)
96 def writeHelligkeit(hell):
97 - f = open(PICbright, "w")
98 - f.write(str(hell) + "\r\n")
100 + hell = int(hell) * 10
103 + led_fd = open("/dev/lcd2",'w')
104 + ioctl(led_fd, 0x10, hell)
110 self.list2.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.WetterLCD))
111 self.list2.append(getConfigListEntry(_("- Position"), config.plugins.LCD4linux.WetterPos))
112 self.list2.append(getConfigListEntry(_("- Weather Type"), config.plugins.LCD4linux.WetterType))
113 - self.list2.append(getConfigListEntry(_("Show oscam.lcd"), config.plugins.LCD4linux.OSCAM))
114 - if config.plugins.LCD4linux.OSCAM.value != "0":
115 - self.list2.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.OSCAMLCD))
116 - self.list2.append(getConfigListEntry(_("- File"), config.plugins.LCD4linux.OSCAMFile))
117 - self.list2.append(getConfigListEntry(_("- Font Size"), config.plugins.LCD4linux.OSCAMSize))
118 - self.list2.append(getConfigListEntry(_("- Position"), config.plugins.LCD4linux.OSCAMPos))
119 - self.list2.append(getConfigListEntry(_("- Alignment"), config.plugins.LCD4linux.OSCAMAlign))
120 - self.list2.append(getConfigListEntry(_("- Split Screen"), config.plugins.LCD4linux.OSCAMSplit))
121 - self.list2.append(getConfigListEntry(_("- Color"), config.plugins.LCD4linux.OSCAMColor))
122 - self.list2.append(getConfigListEntry(_("- Background Color"), config.plugins.LCD4linux.OSCAMBackColor))
123 self.list2.append(getConfigListEntry(_("Show Textfile") , config.plugins.LCD4linux.Text))
124 if config.plugins.LCD4linux.Text.value != "0":
125 self.list2.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.TextLCD))
127 self.list4.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.StandbyWetterLCD))
128 self.list4.append(getConfigListEntry(_("- Position"), config.plugins.LCD4linux.StandbyWetterPos))
129 self.list4.append(getConfigListEntry(_("- Weather Type"), config.plugins.LCD4linux.StandbyWetterType))
130 - self.list4.append(getConfigListEntry(_("Standby - Show oscam.lcd"), config.plugins.LCD4linux.StandbyOSCAM))
131 - if config.plugins.LCD4linux.StandbyOSCAM.value != "0":
132 - self.list4.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.StandbyOSCAMLCD))
133 - self.list4.append(getConfigListEntry(_("- Font Size"), config.plugins.LCD4linux.StandbyOSCAMSize))
134 - self.list4.append(getConfigListEntry(_("- Position"), config.plugins.LCD4linux.StandbyOSCAMPos))
135 - self.list4.append(getConfigListEntry(_("- Alignment"), config.plugins.LCD4linux.StandbyOSCAMAlign))
136 - self.list4.append(getConfigListEntry(_("- Split Screen"), config.plugins.LCD4linux.StandbyOSCAMSplit))
137 - self.list4.append(getConfigListEntry(_("- Color"), config.plugins.LCD4linux.StandbyOSCAMColor))
138 - self.list4.append(getConfigListEntry(_("- Background Color"), config.plugins.LCD4linux.StandbyOSCAMBackColor))
139 self.list4.append(getConfigListEntry(_("Standby - Show Textfile"), config.plugins.LCD4linux.StandbyText))
140 if config.plugins.LCD4linux.StandbyText.value != "0":
141 self.list4.append(getConfigListEntry(_("- which LCD"), config.plugins.LCD4linux.StandbyTextLCD))
142 @@ -1014,23 +988,24 @@
143 return str(self["config"].getCurrent()[1].getText())
145 def LCDrestart(self):
146 - global SamsungDevice
147 - global SamsungDevice2
149 - SamsungDevice = None
150 - SamsungDevice2 = None
153 +# global SamsungDevice
154 +# global SamsungDevice2
156 +# SamsungDevice = None
157 +# SamsungDevice2 = None
158 +# getSamsungDevice()
165 - if config.plugins.LCD4linux.Refresh.isChanged():
166 - f = open(DPFrefreshrate, "w")
167 - f.write(str(config.plugins.LCD4linux.Refresh.value * 1000) + "\r\n")
170 +# if config.plugins.LCD4linux.Refresh.isChanged():
171 +# f = open(DPFrefreshrate, "w")
172 +# f.write(str(config.plugins.LCD4linux.Refresh.value * 1000) + "\r\n")
176 self["config"].setList(self.list1)
177 for x in self["config"].list:
178 @@ -1101,6 +1076,7 @@
180 self.StandbyChanged = False
182 + self.WetterCheckMin = ""
185 self.StatusTimer = eTimer()
186 @@ -1131,16 +1107,17 @@
190 + self.pngutilconnect = pngutil.connect()
192 ##### self.onShow.append(self.ServiceChange)
193 # config.misc.standbyCounter.addNotifier(self.restartTimer(self), initial_call = False)
195 self.StatusTimer.startLongTimer(5)
197 - self.SamsungStart()
199 +# self.SamsungStart()
201 def updateStatus(self):
202 print "[LCD4linux] update"
205 # global ScreenActive
207 @@ -1200,20 +1177,25 @@
208 # print BilderTime, OSDon,self.StandbyChanged,Standby.inStandby
209 if strftime("%M")!=self.DataMinute or BilderTime == 1 or self.StandbyChanged != Standby.inStandby or ConfigMode or (ScreenActive != SaveScreenActive) or isVideoPlaying > 2 or OSDon == 3:
210 print "[LCD4linux] Data-Build"
211 - if config.plugins.LCD4linux.LCDType1.value[0] == "1" or config.plugins.LCD4linux.LCDType2.value[0] == "1":
212 - if strftime("%M")!=self.DataMinute:
216 - self.SamsungStart()
217 +# if config.plugins.LCD4linux.LCDType1.value[0] == "1" or config.plugins.LCD4linux.LCDType2.value[0] == "1":
218 +# if strftime("%M")!=self.DataMinute:
221 +# if SamsungCheck():
222 +# self.SamsungStart()
223 self.DataMinute = strftime("%M")
224 self.StandbyChanged = Standby.inStandby
226 if config.plugins.LCD4linux.StandbyWetter.value != "0" or config.plugins.LCD4linux.Wetter.value != "0":
227 - if strftime("%M") == "15" or strftime("%M") == "45" or wwwWetter.find("forecast_information") < 1:
228 - self.downloadWetter()
229 + if strftime("%M") != self.WetterCheckMin:
230 + self.WetterCheckMin = strftime("%M")
231 + if strftime("%M") == "15" or strftime("%M") == "45" or wwwWetter.find("forecast_information") < 1:
232 + self.downloadWetter()
233 if ConfigMode == True:
234 - self.StatusTimer.startLongTimer(2)
235 + if config.plugins.LCD4linux.Bild.value.find(ScreenActive) >= 0:
236 + self.StatusTimer.startLongTimer(5)
238 + self.StatusTimer.startLongTimer(2)
240 self.StatusTimer.startLongTimer(5)
242 @@ -1377,15 +1359,43 @@
246 + def cannotConnect(self, port = 80, url = "74.125.71.94", timeout = 5):
248 + sock = socket.create_connection((url, port), timeout)
249 +# print "Can be connected to [%s:%d]."%(url,port)
250 + except Exception, ErrMsg:
251 + print "Can't be connected to [%s:%d]. (%s)"%(url, port, ErrMsg)
252 + print " >> Cause: ",ErrMsg
255 +# print " >> sock close, sock : ",sock
256 + if sock is not None:
257 + print "socket close : ",sock.close()
260 def downloadWetter(self):
261 + global WetterThreadRunning
262 + if WetterThreadRunning > 0:
263 + print "[LCD4linux] downloadWetter already running"
265 + WetterThreadRunning += 1
266 + t = Thread(target=self.downloadWetterThread)
269 + def downloadWetterThread(self):
270 + if self.cannotConnect(80, "74.125.71.94", 1): # www.google.de
271 + self.downloadWetterThreadEnd()
273 print "[LCD4linux] Wetterdownloadstart"
274 self.feedurl = "http://www.google.com/ig/api?weather=%s&oe=utf-8&hl=%s" % (config.plugins.LCD4linux.WetterCity.value,language.getLanguage()[:2])
275 # self.feedurl = "http://www.google.com/ig/api?weather=%s&oe=utf-8&hl=%s" % (config.plugins.LCD4linux.WetterCity.value,"de")
276 getPage(self.feedurl).addCallback(self.downloadListCallback).addErrback(self.downloadListError)
277 + self.downloadWetterThreadEnd()
279 def downloadListError(self, error=""):
281 # self.session.open(MessageBox, "Error downloading Feed:\n%s" % str(error), type=MessageBox.TYPE_ERROR)
282 + self.downloadWetterThreadEnd()
284 def downloadListCallback(self, page=""):
286 @@ -1394,6 +1404,13 @@
287 wwwWetter=codecs.decode(wwwWetter, 'UTF-8')
288 if os.path.isfile(PICwetter):
289 os.system("rm -f %s" % PICwetter)
290 +# print " >> downloadListCallback updated.."
291 + self.downloadWetterThreadEnd()
292 + self.restartTimer()
294 + def downloadWetterThreadEnd(self):
295 + global WetterThreadRunning
296 + WetterThreadRunning = 0
298 def LCD4linuxPICThread(self,session):
300 @@ -1465,7 +1482,9 @@
301 return event_begin, event_end, duration, event_name
303 def getResolution(t):
306 + MAX_W,MAX_H = 400,240
308 MAX_W,MAX_H = 320,240
310 MAX_W,MAX_H = 240,320
311 @@ -1533,6 +1552,9 @@
313 def putWetter(ConfigPos, ConfigType, draw, im):
315 + global WetterThreadRunning
316 + if WetterThreadRunning:
318 if os.path.isfile(PICwetter) and ConfigType == WetterType:
319 pil_image = Image.open(PICwetter)
320 im.paste(pil_image,(0,ConfigPos))
321 @@ -1977,51 +1999,6 @@
322 lx = getSplit(ConfigSplit,ConfigAlign,MAX_W,w)
323 draw.text((lx, ConfigPos), i, font=font, fill=ConfigColor)
326 - def putOSCAM(ConfigPos, ConfigSize, ConfigColor, ConfigBackColor, ConfigAlign, ConfigSplit, draw, im):
327 - MAX_W,MAX_H = im.size
328 - OSCAMrunning = False
329 - if ConfigSplit == True:
330 - MAX_W = int(MAX_W/2)
331 - POSX = getSplit(ConfigSplit,ConfigAlign,MAX_W,MAX_W)
332 - if os.path.isfile(config.plugins.LCD4linux.OSCAMFile.value):
333 - current_h=ConfigPos
334 - if time()-os.path.getmtime(config.plugins.LCD4linux.OSCAMFile.value) < 30:
335 - OSCAMrunning = True
336 - font = ImageFont.truetype(FONT, ConfigSize, encoding='unic')
337 - p=[160,12.8,3.2,2,1.78,1.6,1.45,1.33]
339 - f = open(config.plugins.LCD4linux.OSCAMFile.value,"r")
340 - for line in f.readlines():
341 - line = line.replace('\xc2\x86', '').replace('\xc2\x87', '').replace('\n','').decode("utf-8", "ignore").encode("utf-8") or ""
342 - line = codecs.decode(line, 'UTF-8')
343 - w,h = draw.textsize(line, font=font)
344 - if ConfigBackColor !="0":
345 - if line.find(" Label ") > 0:
346 - draw.rectangle((POSX, current_h, POSX+MAX_W, current_h+h),fill=ConfigColor)
348 - draw.rectangle((POSX, current_h, POSX+MAX_W, current_h+h),fill=ConfigBackColor)
349 - if line.find("|") >0:
350 - ll = line.split("|")
352 - p=[160,10.67,2.91,1.14,1.03]
354 - p=[160,10.67,2.91,1.78,1.14,1.03]
356 - p=[160,10.67,2.91,1.78,1.6,1.45,1.33,1.14,1.03]
357 - for x in range(len(ll)):
358 - if line.find(" Label ") > 0:
359 - draw.text((POSX+int(MAX_W/p[x]), current_h), ll[x].strip(), font=font, fill=ConfigBackColor)
361 - draw.text((POSX+int(MAX_W/p[x]), current_h), ll[x].strip(), font=font, fill=ConfigColor)
364 - if OSCAMrunning == False:
365 - font = ImageFont.truetype(FONT, ConfigSize+13, encoding='unic')
366 - w,h = draw.textsize(codecs.decode(_("OSCAM not running"), 'UTF-8'), font=font)
367 - draw.rectangle((POSX, ConfigPos, POSX+MAX_W, ConfigPos+h),fill=ConfigBackColor)
368 - draw.text((POSX+(MAX_W-w)/2, ConfigPos), codecs.decode(_("OSCAM not running"), 'UTF-8'), font=font, fill=ConfigColor)
371 def putTitle(ConfigPos, ConfigSize, ConfigLines, ConfigColor, ConfigAlign, ConfigSplit, draw, im):
372 MAX_W,MAX_H = im.size
373 @@ -2157,12 +2134,6 @@
374 putBild(config.plugins.LCD4linux.StandbyBildPos.value, config.plugins.LCD4linux.StandbyBildSize.value, config.plugins.LCD4linux.StandbyBildAlign.value, ShowPicture, im)
375 if config.plugins.LCD4linux.StandbyBildLCD.value.find("2") >= 0 and config.plugins.LCD4linux.LCDType2.value != "00":
376 putBild(config.plugins.LCD4linux.StandbyBildPos.value, config.plugins.LCD4linux.StandbyBildSize.value, config.plugins.LCD4linux.StandbyBildAlign.value, ShowPicture, im2)
378 - if config.plugins.LCD4linux.StandbyOSCAM.value.find(ScreenActive) >= 0:
379 - if config.plugins.LCD4linux.StandbyOSCAMLCD.value.find("1") >= 0:
380 - putOSCAM(config.plugins.LCD4linux.StandbyOSCAMPos.value, config.plugins.LCD4linux.StandbyOSCAMSize.value, config.plugins.LCD4linux.StandbyOSCAMColor.value, config.plugins.LCD4linux.StandbyOSCAMBackColor.value, config.plugins.LCD4linux.StandbyOSCAMAlign.value, config.plugins.LCD4linux.StandbyOSCAMSplit.value, draw, im)
381 - if config.plugins.LCD4linux.StandbyOSCAMLCD.value.find("2") >= 0 and config.plugins.LCD4linux.LCDType2.value != "00":
382 - putOSCAM(config.plugins.LCD4linux.StandbyOSCAMPos.value, config.plugins.LCD4linux.StandbyOSCAMSize.value, config.plugins.LCD4linux.StandbyOSCAMColor.value, config.plugins.LCD4linux.StandbyOSCAMBackColor.value, config.plugins.LCD4linux.StandbyOSCAMAlign.value, config.plugins.LCD4linux.StandbyOSCAMSplit.value, draw2, im2)
384 if config.plugins.LCD4linux.StandbyText.value.find(ScreenActive) >= 0:
385 if config.plugins.LCD4linux.StandbyTextLCD.value.find("1") >= 0:
386 @@ -2324,12 +2295,6 @@
387 putBild(config.plugins.LCD4linux.BildPos.value, config.plugins.LCD4linux.BildSize.value, config.plugins.LCD4linux.BildAlign.value, ShowPicture, im)
388 if config.plugins.LCD4linux.BildLCD.value.find("2") >= 0 and config.plugins.LCD4linux.LCDType2.value != "00":
389 putBild(config.plugins.LCD4linux.BildPos.value, config.plugins.LCD4linux.BildSize.value, config.plugins.LCD4linux.BildAlign.value, ShowPicture, im2)
391 - if config.plugins.LCD4linux.OSCAM.value.find(ScreenActive) >= 0:
392 - if config.plugins.LCD4linux.OSCAMLCD.value.find("1") >= 0:
393 - putOSCAM(config.plugins.LCD4linux.OSCAMPos.value, config.plugins.LCD4linux.OSCAMSize.value, config.plugins.LCD4linux.OSCAMColor.value, config.plugins.LCD4linux.OSCAMBackColor.value, config.plugins.LCD4linux.OSCAMAlign.value, config.plugins.LCD4linux.OSCAMSplit.value, draw, im)
394 - if config.plugins.LCD4linux.OSCAMLCD.value.find("2") >= 0 and config.plugins.LCD4linux.LCDType2.value != "00":
395 - putOSCAM(config.plugins.LCD4linux.OSCAMPos.value, config.plugins.LCD4linux.OSCAMSize.value, config.plugins.LCD4linux.OSCAMColor.value, config.plugins.LCD4linux.OSCAMBackColor.value, config.plugins.LCD4linux.OSCAMAlign.value, config.plugins.LCD4linux.OSCAMSplit.value, draw2, im2)
397 if config.plugins.LCD4linux.Text.value.find(ScreenActive) >= 0:
398 if config.plugins.LCD4linux.TextLCD.value.find("1") >= 0:
399 @@ -2366,43 +2331,13 @@
400 im.save(PICtmp+".png", "PNG")
401 if os.path.isfile(PICtmp+".png"):
402 os.rename(PICtmp+".png",PIC+".png")
404 - if SamsungDevice is not None:
405 - print "[LCD4linux] writing to Samsung Device"
406 - output = StringIO.StringIO()
407 - im.save(output, "JPEG")
408 - pic = output.getvalue()
411 - Photoframe.write_jpg2frame(SamsungDevice, pic)
413 - print "[LCD4linux] Samsung 1 write error"
414 - im.save(PICtmp+".jpg", "JPEG")
415 - if os.path.isfile(PICtmp+".jpg"):
416 - os.rename(PICtmp+".jpg",PIC+".jpg")
417 - if config.plugins.LCD4linux.LCDType2.value != "00":
418 - if config.plugins.LCD4linux.LCDRotate2.value != "0":
419 - im2=im2.rotate(int(config.plugins.LCD4linux.LCDRotate2.value))
420 - if config.plugins.LCD4linux.LCDType2.value[0] == "1":
421 - im2.save(PIC2tmp+".png", "PNG")
422 - if os.path.isfile(PIC2tmp+".png"):
423 - os.rename(PIC2tmp+".png",PIC2+".png")
425 - if SamsungDevice2 is not None:
426 - print "[LCD4linux] writing to Samsung2 Device"
427 - output = StringIO.StringIO()
428 - im2.save(output, "JPEG")
429 - pic = output.getvalue()
432 - Photoframe.write_jpg2frame(SamsungDevice2, pic)
434 - print "[LCD4linux] Samsung 2 write error"
435 - im2.save(PIC2tmp+".jpg", "JPEG")
436 - if os.path.isfile(PIC2tmp+".jpg"):
437 - os.rename(PIC2tmp+".jpg",PIC2+".jpg")
438 + if self.pngutilconnect == 0:
439 + print "[LCD4linux] RunTime:", time() - tt
441 + pngutiltime = time()
442 + pngutil.send(PIC+".png")
443 + print "[LCD4linux] time(write to lcd) : ",time()-pngutiltime
444 print "[LCD4linux] RunTime:", time() - tt
448 def main(session,**kwargs):