Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £129! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £179! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[ViX_Misc] Colon symbol in Directory Name

It's because everything shown in the movie list is translated from the file system using a service reference, which of course uses a colon internally as a delimiter but doesn't work terribly hard to cope with names that have colons in. This'll be the another reason for colons being stripped out of the filenames of recordings.

Fun activity: Go and look at what Windows Explorer calls your directory. I get TWUQRQ~L :)
 
Last edited:
This'll be the another reason for colons being stripped out of the filenames of recordings.

What happens if I select such a recording after the colon has been stripped, and do an epg search?
 
Don't worry. It seems to get that correct.

More interesting weirdness. This is a directory name's full service reference:
Code:
2:0:1:0:0:0:0:0:0:0:/media/hdd/TV/Documentaries/:16384%3ajpg 16384%3apng 16384%3agif 16384%3abmp

And here's that directory with the colon in the name
Code:
2:0:1:0:0:0:0:0:0:0:/media/hdd/TV/Trailblazers:16384%3ajpg 16384%3apng 16384%3agif 16384%3abmp

So the core Enigma2 code doesn't work at all well with a colon in the name of things.
 
Fun activity: Go and look at what Windows Explorer calls your directory. I get TWUQRQ~L :)

I see BIGKCW~L for a directory, but for a recording the colon (and dots) have been changed to underscore and the filename looks ok. :confused:
 
Found the culprit. This is run when you enter a directory to view it in the movie list:
Code:
        self.current_ref = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + path)
Unfortunately, it trims off everything in your directory name after the colon, expecting it to be a pretty name for what came before the colon. Magic strings are never a good thing and this kind of nonsense is in quite a few places :)

If you want a quick fix, replace selCurrentRef in MovieSelection.py with this. It works for this specific scenario.
Code:
    def setCurrentRef(self, path):
        self.current_ref = eServiceReference(2, 47, path)
        # Magic: this sets extra things to show
        self.current_ref.setName('16384:jpg 16384:png 16384:gif 16384:bmp')
 
Just remove the friggin' ":" and replace it with a safe value before it gets included in the directory name and the problem goes away:D. I presume the reference to path cause the issue because path uses ":" as a delimiter.
 
Just spotted this in FileList while trawling the code for other mistakes:
Code:
# we should not use the 'eServiceReference(string)' constructor, because it doesn't allow ':' in the directoryname
Well done to the commenter in 2009, but they missed the same mistake added in 2008 further down the same file :D
 
But it probably wasn't allowing the ":" for good reason :)

So, what's the solution? Disallow ":" in the construction of directory names or allow ":" and verify that they are handled in all use case?


EDIT As an aside - no issue with ":" in directory name on my linux mint system. Searches work, command line works.
 
Last edited:
I'd argue that if you can see : in programme names in the list, you should be able to have them in directory names, especially as half the programmes in the evenings seem to start with New: on the main channels. I've got a bugfix for the erroneous code that avoids the complications of disabling : in the virtual keyboard, dealing with remotely renamed directories, directory name suggestions... :)
 
I'd argue that if you can see : in programme names in the list, you should be able to have them in directory names
These are, however, unrelated. One is part of a description sent by a broadcaster while the other is how a user has decided to categorize them.
 

OpenViX Feeds Status

Back
Top