Hack 89. Inspecting MFS Objects

   

Hack 89 Inspecting MFS Objects

figs/moderate.gif figs/hack89.gif

Embedded in the tyDirs are the tyDbs . This is where the real data is actually hiding out .

While poking through the MFS [Hack #88] you are inevitably going to run into objects. The objects, or tyDb s as they are called, are the database objects holding the real information that the filesystem directories ( tyDir s) are just organizing into a simple hierarchy.

You can peek at an object using the TiVo shell's dumpobj command. dumpobj does exactly as its name suggests: reach into the MFS database for a specified filesystem ID (FSID), extract appropriate metadata, and dump it to the screen in human-readable form.

Let's take a look at a rundown of the first television show in my /Recording/NowShowingByTitle directory. From the TiVo shell (type tivosh at the Bash prompt if you're not already in tivosh ), run it on one of your FSIDs, like so:

 %  dumpobj 1717520  Recording 1717520/10 {   ActualShowing  = 1717520/16   BitRate        = 0   Bookmark       = 1717520/19   DeletionDate   = 24855   ExpirationDate = 12213   ExpirationTime = 9000   IndexPath      = /Recording/Active/1:12211:08998:1717520 /Recording/ NoReRecord/12919640:2:99999:01717520 /Recording/TmsId/SH5785730000:87788: 91001:1717520 /Recording/NowShowingByClassic/2:87788:91001:1717520 / Recording/NowShowingByExpiration/2:12213:09000:1717520 {/Recording/ NowShowingByTitle/1:2003 MTV MOVIE AWARDS:87788:91001:1717520} /Recording/ DiskUsed/10/1717520:2842624   IndexUsed      = 1717520/11 1717520/12   NSecondsWatched = 3539   NVisit         = 1   Part           = 1717520/13 1717520/15 1717520/17 1717520/18 1717520/20  1717520/21   RecordQuality  = 75   RecordingBehavior = 1717520/12   Score          = 0   SelectionType  = 3   Showing        = 1717520/11   StartDate      = 12211   StartTime      = 8998   State          = 4   StopDate       = 12211   StopTime       = 16200   StreamFileSize = 2842624   UsedBy         = 1   Version        = 56 } 

Out comes all the attributes associated with this television show. Notice the title fragment "MTV MOVIE AWARDS" ( /Recording/NowShowingByTitle/1:2003 MTV MOVIE AWARDS ), the number of seconds I've already watched ( NSecondsWatched = 3539 ), and other assorted details.

It's also worth mentioning that our friend TiVoWeb will do the same thing. Use the web-based MFS browser to click your way to one of the tyDb objects, and you should see something like Figure 7-2.

Figure 7-2. Looking at the same tyDB object through TiVoWeb
figs/tivo_0702.gif

That said, if all data about the show is in the MFS database, where's the full title of the show? The guest stars? Television channel from which it was recorded? If you look closely at the object dump, you may well see what appear to be FSIDs; in fact, that's what they are.

This is where the TiVo shell and command line has one leg up on TiVoWeb. You could go through and dumpobj each of the associated FSIDs, but you'll no doubt find even more to comb through. You could also click through on TiVoWeb, but that is just going to get frustrating. There is a short cut: dumpobj takes a closure flag, telling it to dump all the FSIDs it finds along the way, starting with the FSID you provide. It's a long list but a pirate's booty of information:

 %  dumpobj -closure  1717520  Recording 1717520/10 {   ActualShowing  = 1717520/16   BitRate        = 0   Bookmark       = 1717520/19   DeletionDate   = 24855   ExpirationDate = 12213   ExpirationTime = 9000   IndexPath      = /Recording/Active/1:12211:08998:1717520 /Recording/ NoReRecord/129196 40:2:99999:01717520 /Recording/TmsId/SH5785730000:87788:91001:1717520 / Recording/NowSho wingByClassic/2:87788:91001:1717520 /Recording/NowShowingByExpiration/2: 12213:09000:171 7520 {/Recording/NowShowingByTitle/1:2003 MTV MOVIE AWARDS:87788:91001: 1717520} /Record ing/DiskUsed/10/1717520:2842624   IndexUsed      = 1717520/11 1717520/12   NSecondsWatched = 3539   NVisit         = 1   Part           = 1717520/13 1717520/15 1717520/17 1717520/18 1717520/20  1717520/21   RecordQuality  = 75   RecordingBehavior = 1717520/12   Score          = 0   SelectionType  = 3   Showing        = 1717520/11   StartDate      = 12211   StartTime      = 8998   State          = 4   StopDate       = 12211   StopTime       = 16200   StreamFileSize = 2842624   UsedBy         = 1   Version        = 56 } Showing 1717520/16 {   Bits           = 2   Date           = 12211   Duration       = 7200   Program        = 1691635/-1   Station        = 2086/-1   Time           = 9000 } Bookmark 1717520/19 {   TimeMs         = 4171221 } Showing 1717520/11 {   Bits           = 2   Date           = 12211   Duration       = 7200   IndexUsedBy    = 1717520/10   Program        = 1691635/-1   Station        = 2086/-1   Time           = 9000 } RecordingBehavior 1717520/12 {   DiskBehavior   = 5   IndexUsedBy    = 1717520/10   PresentationBehavior = 1   ProgramGuideBehavior = 1   TunerBehavior  = 1 } RecordingPart 1717520/13 {   Begin          = 0   CommercialSkipOffset = 0   End            = 1318759   File           = 1717637 } RecordingPart 1717520/15 {   Begin          = 1319259   CommercialSkipOffset = 0   End            = 2652833   File           = 1717645 } RecordingPart 1717520/17 {   Begin          = 2653334   CommercialSkipOffset = 0   End            = 3984672   File           = 1717665 } RecordingPart 1717520/18 {   Begin          = 3985172   CommercialSkipOffset = 0   End            = 5316511   File           = 1717666 } RecordingPart 1717520/20 {   Begin          = 5317011   CommercialSkipOffset = 0   End            = 6646248   File           = 1717667 } RecordingPart 1717520/21 { Begin          = 6646848   CommercialSkipOffset = 0   End            = 7201392   File           = 1717668 } Program 1691635/11 {   ColorCode      = 4   DescLanguage   = English   Description    = {The Shrine Auditorium in Los Angeles; hosts Justin  Timberlake and Seann William Scott.}   Genre          = 9 100 1000   IndexPath      = /Server/12919640   IsEpisode      = 1   OriginalAirDate = 12208   Series         = 1691634/-1   ServerId       = 12919640   ServerVersion  = 4   ShowType       = 3   SourceType     = 1   Title          = {2003 MTV Movie Awards}   TmsId          = SH5785730000   Version        = 1 } Station 2086/15 {   Affiliation    = Satellite   AffiliationIndex = 39   CallSign       = MTV   City           = {New York}   Country        = {United States}   DmaNum         = 0   IndexPath      = /StationTms/10986:826 /Server/928   LogoIndex      = LogoSpace=Tivo    LogoIndex=0   Name           = {MTV - Music Television}   ServerId       = 928   ServerVersion  = 80   State          = NY   TmsId          = 10986   Version        = 10   ZipCode        = 10036 } Series 1691634/11 {   Episodic       = 0   Genre          = 9 100 1000   IndexPath      = /Server/12919853   ServerId       = 12919853   ServerVersion  = 2 } 

The Program node (FSID 1691635 ) holds the title and full description of the show. The Station node (FSID 2086 ) tells us that the show was recorded off MTV. And that's absolutely everything TiVo knows about the object we asked for. The question is, what do you do with it? See the following hacks for some answers.


   
Top


Tivo Hacks. 100 Industrial-strength Tips Tools 2003
Tivo Hacks. 100 Industrial-strength Tips Tools 2003
ISBN: 1597490318
EAN: N/A
Year: 2004
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net