The latest Py3 images are v6.0.
Does that mean we're moving everyone to Python 3 soon?
Yes, character emphasis on and character emphasis off from ETSI EN 300 468.
// replace EIT CR/LF with standard newline:
output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n");
return output;
// replace EIT CR/LF with standard newline:
output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n");
// remove character emphasis control characters:
output = replace_all(replace_all(replace_all(replace_all(output, "\xC2\x86", ""), "\xEE\xC2\x86", ""), "\xC2\x87", ""), "\xEE\xC2\x87", "");
return output;
https://github.com/OpenViX/enigma2/blob/ea04c8fd3743ee345c5e0dd026a080485512c91b/lib/dvb/epgcache.cpp#L1766
https://github.com/OpenViX/enigma2/blob/ea04c8fd3743ee345c5e0dd026a080485512c91b/lib/dvb/epgcache.cpp#L2561
epgcache.cpp appears to process those characters in a couple of places as well...
Code:https://github.com/OpenViX/enigma2/blob/ea04c8fd3743ee345c5e0dd026a080485512c91b/lib/dvb/epgcache.cpp#L1766 https://github.com/OpenViX/enigma2/blob/ea04c8fd3743ee345c5e0dd026a080485512c91b/lib/dvb/epgcache.cpp#L2561
Yes, it just looked like a more likely place to remove them from titles/descriptions or whatever.I think those remove the control characters if they are in the name of the channel.
it's also not clear to me if these methods are properly aware of character boundaries. There are no comments saying what each routine does.
replace_all looks complicated so I guess it probably is aware of character boundaries, I haven't looked closely at what epgcache does yet.
Binary attached (arm) with your mod.I'm thinking that the end of convertDVBUTF8 in estring.cpp would be the place to remove these characters.
could becomeCode:// replace EIT CR/LF with standard newline: output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n"); return output;
It'd mess up existing autotimers where the strings in the timers included the control characters.Code:// replace EIT CR/LF with standard newline: output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n"); // remove character emphasis control characters: output = replace_all(replace_all(replace_all(replace_all(output, "\xC2\x86", ""), "\xEE\xC2\x86", ""), "\xC2\x87", ""), "\xEE\xC2\x87", ""); return output;
Any thoughts anyone?
Binary attached (arm) with your mod.
// replace EIT CR/LF with standard newline:
output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n");
// remove character emphasis control characters:
output = replace_all(replace_all(replace_all(replace_all(output, "\xC2\x86", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x86", ""), "\xC2\x87", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x87", "");
return output;
I think it's working (but see correction below) but the front panel 7 segment display on my Zgemma H7S is freezing on -99- or -00- as soon as the boot sequence completes.
Also I made a stupid mistake copying the codes from the ETSI document. It should be:
Code:// replace EIT CR/LF with standard newline: output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n"); // remove character emphasis control characters: output = replace_all(replace_all(replace_all(replace_all(output, "\xC2\x86", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x86", ""), "\xC2\x87", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x87", ""); return output;
Anything in debug log that would indicate why its frozen?I think it's working (but see correction below) but the front panel 7 segment display on my Zgemma H7S is freezing on -99- or -00- as soon as the boot sequence completes.
Also I made a stupid mistake copying the codes from the ETSI document. It should be:
Code:// replace EIT CR/LF with standard newline: output = replace_all(replace_all(output, "\xC2\x8A", "\n"), "\xEE\x82\x8A", "\n"); // remove character emphasis control characters: output = replace_all(replace_all(replace_all(replace_all(output, "\xC2\x86", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x86", ""), "\xC2\x87", ""), "\xEE[COLOR="#FF0000"]\x82[/COLOR]\x87", ""); return output;
Try again![]()
Does this (enigma2) only apply to the H7, or is it ok to try on any arm box?
should work on any arm box (not hisilicon) ... but backup beforehand
13:33:41.8993 [eServiceReference] May be unencoded URL: BBC ONE Yk&Li
13:33:41.8993 [eServiceReference] find old format eServiceReference string
13:33:41.8994 [eServiceReference] May be unencoded URL: BBC TWO
13:33:41.8994 [eServiceReference] find old format eServiceReference string
13:33:41.8996 [eServiceReference] May be unencoded URL: ITV
13:33:41.8996 [eServiceReference] find old format eServiceReference string
13:33:41.8997 [eServiceReference] May be unencoded URL: Channel 4
13:33:41.8997 [eServiceReference] find old format eServiceReference string
13:33:41.8998 [eServiceReference] May be unencoded URL: Channel 5
13:33:41.8999 [eServiceReference] find old format eServiceReference string
Wasn't seeing these yesterday.....
Code:13:33:41.8993 [eServiceReference] May be unencoded URL: BBC ONE Yk&Li 13:33:41.8993 [eServiceReference] find old format eServiceReference string 13:33:41.8994 [eServiceReference] May be unencoded URL: BBC TWO 13:33:41.8994 [eServiceReference] find old format eServiceReference string 13:33:41.8996 [eServiceReference] May be unencoded URL: ITV 13:33:41.8996 [eServiceReference] find old format eServiceReference string 13:33:41.8997 [eServiceReference] May be unencoded URL: Channel 4 13:33:41.8997 [eServiceReference] find old format eServiceReference string 13:33:41.8998 [eServiceReference] May be unencoded URL: Channel 5 13:33:41.8999 [eServiceReference] find old format eServiceReference string
I don't know.Anything in debug log that would indicate why its frozen?
< 61.4773> 14:52:13.9289 [eDVBResourceManager] start release channel timer
< 61.5450> 14:52:13.9966 [Skin] Processing screen 'Standby', position=(0, 0), size=(1920 x 1080) for module 'Standby'.
< 61.5507> 14:52:14.0022 [Skin] Processing screen 'StandbySummary' from list 'StandbySummary, ScreenSummary, Standby_summary, SimpleSummary', position=(0, 0), size=(1 x 1) for module 'StandbySummary'.
< 61.5522> 14:52:14.0038 [Skin] Error in screen 'StandbySummary', AttributeError: 'CurrentService' object has no attribute 'boolean'!
< 61.5583> 14:52:14.0098 Traceback (most recent call last):
< 61.5586> 14:52:14.0101 File "/usr/lib/enigma2/python/skin.py", line 1310, in readSkin
processScreen(myScreen, context)
< 61.5586> 14:52:14.0102 File "/usr/lib/enigma2/python/skin.py", line 1266, in processScreen
p(w, context)
< 61.5587> 14:52:14.0102 File "/usr/lib/enigma2/python/skin.py", line 1218, in processWidget
c.connect(source)
< 61.5587> 14:52:14.0102 File "/usr/lib/enigma2/python/Components/Element.py", line 61, in connect
self.connectUpstream(upstream)
< 61.5588> 14:52:14.0103 File "/usr/lib/enigma2/python/Components/Element.py", line 58, in connectUpstream
self.changed((self.CHANGED_DEFAULT,))
< 61.5588> 14:52:14.0103 File "/usr/lib/enigma2/python/Components/Converter/ConditionalShowHide.py", line 49, in changed
vis = self.calcVisibility()
< 61.5588> 14:52:14.0104 File "/usr/lib/enigma2/python/Components/Converter/ConditionalShowHide.py", line 42, in calcVisibility
b = self.source.boolean
< 61.5589> 14:52:14.0104 File "/usr/lib/enigma2/python/Components/Element.py", line 16, in wrapper
return f(self)
< 61.5589> 14:52:14.0104 File "/usr/lib/enigma2/python/Components/Converter/ConfigEntryTest.py", line 48, in getBoolean
if self.checkSourceBoolean and not self.source.boolean:
< 61.5590> 14:52:14.0106 AttributeError: 'CurrentService' object has no attribute 'boolean'
< 61.5606> 14:52:14.0122 [eDboxLCD] setLCDBrightness 25
< 61.8499> 14:52:14.3014 [eEPGChannelData] abort non avail schedule reading
< 61.8506> 14:52:14.3021 [eEPGChannelData] abort non avail schedule other reading
< 62.0236> 14:52:14.4751 [eEPGChannelData] nownext finished(1635256334)
< 62.0238> 14:52:14.4753 [eEPGChannelData] stop caching events(1635256334)
< 62.0239> 14:52:14.4754 [eEPGChannelData] next update in 60 min
< 63.4578> 14:52:15.9094 [DVBCAHandler] no more services
< 64.4774> 14:52:16.9289 [eDVBResourceManager] release cached channel (timer timeout)
< 64.4775> 14:52:16.9290 [eDVBLocalTimerHandler] remove channel 0x724698
< 64.4775> 14:52:16.9291 [eEPGTransponderDataReader] remove channel 0x724698
< 64.4781> 14:52:16.9296 [eDVBResourceManager] stop release channel timer
That binary is from my Vu Ultimo 4k build.Does this (enigma2) only apply to the H7, or is it ok to try on any arm box?