[mythtv-users] find orphans.py question
Michael T. Dean
mtdean at thirdcontact.com
Wed Apr 13 19:30:15 UTC 2011
On 04/13/2011 03:06 PM, Raymond Wagner wrote:
> On 4/13/2011 14:41, Warpme wrote:
>> use DBI;
> You should be using the MythTV module, rather than direct database
> access. It will read the necessary config files to find the database,
> and fall back to UPnP detection if the config files do not exist.
>
>> &dir_lookup("SELECT data FROM settings WHERE value='RecordFilePrefix'
>> AND hostname=(?)");
> This hasn't been used since 0.19. Does it still need checking?
>
>> my $q = "SELECT title, subtitle, description, starttime, endtime,
>> chanid, basename FROM recorded WHERE hostname=(?)
> Limiting yourself to a specific hostname can be dangerous. In
> situations with multiple backends using shared storage, one backend
> would see recordings from another as an orphaned file.
>
>> my $sql = sprintf "DELETE FROM oldrecorded WHERE title
>> LIKE \"%s\" AND subtitle LIKE \"%s\" AND description LIKE \"%s\" LIMIT
>> 1", $title, $subtitle, $description;
>> my $sql = sprintf "DELETE FROM recorded WHERE basename
>> LIKE \"%s\" LIMIT 1",$basename;
>> my $sql = sprintf "UPDATE oldrecorded SET duplicate =
>> 0 where title = \"%s\" and starttime = \"%s\" and chanid = \"%s\"",
> You should be using MythProto calls for all of these. There is a
> _whole_ lot more to removing a recording from the database than just
> removing its entry in `recorded`. All of these should be accompanied by
> a call to rerun the scheduler.
>
>> unlink "$this_dir/$this_file";
> Again, you should be using MythProto calls for this. Unlinking a file
> on an ext3 filesystem has some serious implications, and can result in
> the damaging of in-progress recordings. Using the MythProto call to
> delete the file will allow it to follow the slow delete setting.
Or, better, rather than work on bringing the old code from the old,
legacy, unmaintained myth.find_orphans.pl up to speed, just start with
the new, maintained, up-to-date, properly-designed-for-current-MythTV
find_orphans.py and add in your own additions--or create a separate
script to do the extras you want.
Mike
More information about the mythtv-users
mailing list