[vdr] [PLUGIN] recsearch - a simple search for recordings

Lars Hanisch dvb at flensrocker.de
Mon Jan 20 20:37:27 CET 2014


Am 19.01.2014 16:09, schrieb Carsten Koch:
> On 01/19/14 13:53, Stephan Loescher wrote:
>>
>>
>> Would it be possible (as a new feature) to filter/search/sort for recordings by recording-lifetime and/or if it is SD
>> or HD?
> 
> I had the same problem (long time ago).
> As a simple solution, I wrote a small python script
> that creates folders with "virtual" recordings
> (symbolic links to the real recordings).
> The tool creates /video/Surround, /video/HD
> and /video/Surround+HD. Inside each of them
> there is the same subfolder structure as under
> /video, except that they contain only the corresponding
> subset.
> 
> Here is the source:
> 
> import os
> import shutil
> import sys
> 
> video_dir = "/video"
> 
> 
> def linkto(root, name):
> 
>    components = []
>    for root_component in root.split('/')[2:]:
>       components.append(root_component)
>       if root_component.startswith('%'):
>          break
>    source = os.path.join(video_dir, '/'.join(components))
>    target = os.path.join(video_dir, name, '/'.join(components))
>    target_parent = os.path.join(video_dir, name, '/'.join(components[:-1]))
>    if not os.path.exists(target_parent):
>       os.makedirs(target_parent)
>    os.symlink(source, target)
>                                                                                                                                                                                                                                            
>                                                                                                                                                                                                                                            
> for subdir in ("Surround", "HD", "Surround+HD"):
>    path = os.path.join(video_dir, subdir)
>    if os.path.exists(path):
>       shutil.rmtree(path)
>    os.mkdir(path)
>                                                                                                                                                                                                                                            
> surround_dirs = []
> hd_dirs = []
> surround_hd_dirs = []
> for root, dummy_dirs, files in os.walk(video_dir, followlinks=True):
>    if '%' in root and ("info" in files or "info.vdr" in files):
>       surround = False
>       hd = False
>       for line in open(os.path.join(root, "info" if "info" in files else "info.vdr")):
>          if line.startswith("X "):
>             if " 5.1" in line:
>                surround = True

>             elif "high definition Video" in line:
>                hd = True

 Ah, the components of a recording.
 Have to look into it, maybe I can detect H.264/MPEG2 encodings.

 I'll add them to my TODO list.

Regards,
Lars.

>       if surround:
>          surround_dirs.append(root)
>       if hd:
>          hd_dirs.append(root)
>       if surround and hd:
>          surround_hd_dirs.append(root)
> 
> for root in surround_dirs:
>    linkto(root, "Surround")
> for root in hd_dirs:
>    linkto(root, "HD")
> for root in surround_hd_dirs:
>    linkto(root, "Surround+HD")
> 
> 
> 
> Cheers, Carsten.
> 
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> 




More information about the vdr mailing list