1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Folders using PyTivo push function

Discussion in 'TiVo Home Media Features & TiVoToGo' started by rmerikle, Oct 16, 2009.

  1. rmerikle

    rmerikle New Member

    27
    0
    Aug 4, 2004
    OK, sorry if this has been covered, but I have searched and have found bits and pieces, but I am just not clear and I can't seem to achieve what I am trying to do. I really think there are probably others out there that are just as confused as myself on Folders and PyTivo so thought this thread would others as well as me.

    Here is my situation:
    I just upgraded my Tivo with a larger hard drive. I have the PyTivo push working correctly. What I would like is to push a bunch of movies to my Tivo and have them all sit in a folder called "Movies." Is this possible and if so how do I do it? I have tried a multitude of things and can't seem to get it to work so very explicit directions such as step 1, step 2, step 3 would be most appreciated.

    Thanks in advance
     
  2. jbernardis

    jbernardis New Member

    1,072
    0
    Oct 21, 2003
    Princeton NJ
    My understanding is that you need to have a metadata file for each of your videos, and the seriesID in each of the metadata files needs to be the same. Further, the seriesID you choose has to be from a series that is currently in the tivo guide data.

    Search through this forum for metadata, and you'll find a lot of information and tools.

    I am just starting to experiment with this myself, so I am interested to hear what the experts have to say.
     
  3. spocko

    spocko Member

    448
    2
    Feb 4, 2009
    I think that's true only for Pull transfers, not Push.

    Some relevant info in this recent thread:
    http://www.tivocommunity.com/tivo-vb/showthread.php?t=434361

    I agree with the OP that this is the subject of a lot of confusion, so it would be good if someone in the know could explain the ins and outs of pyTivo folder grouping in one place.
     
  4. rmerikle

    rmerikle New Member

    27
    0
    Aug 4, 2004
    Yes I saw the above post but I have trouble getting an answer to my questions. My understanding is using the pull function of PyTivo you must have the meta info and it must be a recent show, but I have read numerous posts where this does not seem to hold true for pushing. I am am hoping someone out there can give some clear guidance on what we are able to do with the push function. Ideally telling me how to house a bunch of stuff under one folder.
     
  5. NormB

    NormB New Member

    8
    0
    Sep 9, 2005
    I do this with movies all the time. I have several folders on my Tivo. DVDs, Horror, Downloads, etc.

    You need PyTivo running as well as a program called MetaGenerator.

    First get 2 small avi or other video files that pytivo can transfer. The smaller the better, because you will delete

    them off the tivo anyway, so you want them to transfer fast. (as an example I will call them video1.avi and

    video2.avi)

    create 2 meta files (text files) with the following lines (Replace "Folder Name" with whatever name you want your folders called):


    title : Folder Name
    SeriesTitle: Folder Name
    episodeNumber : 1
    isEpisode :true
    seriesId : SH999901

    Name one of these meta files video1.avi.txt, name the other one video2.avi.txt Put these files in the same

    directory as video1.avi and video2.avi

    now, fire up PyTivo, and push them to your Tivo. (they must be pushed and not pulled) They should transfer and be placed in a folder with whatever name you entered in place of "Folder Name" The files will ALSO be named "Folder Name"

    Now, run MetaGenerator. Create meta files for the real video that you want to transfer over. I save the meta files

    in a subdirectory of where my video files are located. If you do this the subdirectory MUST be named ".meta".

    Otherwise you can put them in the same directory as your video files. Now you will need to go into each meta file

    and do the following

    Change the line isEpisode from false to true

    Add the lines:

    episodeNumber : 1
    SeriesId : SH999901

    Save the meta file and fire up Pytivo. Push over at least 2 files. They should now be in the same folder as the 2 previous files, named correctly. You can now delete the original 2 files from the folder.

    If you want to create a second unique folder, you can edit the original meta files with a new folder name and a new unique SeriesId (such as SH999902) and repeat the process.

    The seriesId number is what the Tivo uses to determine what folder the video should go into, so change the SeriesId line in the meta file and you can select which folder where it is saved.

    Also, be aware that if the folder comes up with an actual program name, that means the tivo has the same seriesId in its guide as what you selected, so you can delete the files, make up a new one. SH999901 to SH999915 have all been clear for me.

    Hope this makes sense.
     
  6. robin50

    robin50 Member

    35
    0
    Feb 14, 2007
    This concise information looks invaluable. Thanks for taking the time to present this Norm!
     
  7. rmerikle

    rmerikle New Member

    27
    0
    Aug 4, 2004
    Yes Norm Thank you a million :up::up::up::up:
     
  8. Spenner

    Spenner Member

    88
    2
    Mar 28, 2006
    Awesome! Thanks for the step-by-step. I've been wanting to do this to group all my Kids Movies.

    One note - when you're "testing" with your first files, be sure to use the real Folder Name that you want, because the Tivo will associate that folder name with the seriesId even after you delete any test files.

    I tested with a dummy folder name to make sure that I could push and the folder was created. Then I deleted the videos from my Tivo, and pushed some real files with my desired folder name, but they showed on the Tivo under the old/test folder name. I then changed the seriesId to SH999902, re-pushed, and the programs were under the new folder name.
     
  9. dane_walther

    dane_walther Guest

    13
    0
    Jan 5, 2007
    Greets everyone..

    Just wanted to also post a link to a pyTivo forum thread that might also be useful in this discussion:

    pyTivo Discussion Forum:
    - metadata questions: .meta folders/default.txt/push grouping

    Now for my latest question that I hope some of you can help answer! :)

    When I push to the forced folder that I have created for kid movies, the Tivo keeps some of the metadata (description, title, etc) but not others (rating, movieYear, etc) ... additionally, unlike the root folder of the NPL that is sorted alphabetically, the items in the subfolder are sorted by the date recorded-- which in this case is the date that I pushed the file(s) to the Tivo.

    Are there any tricks, tips, or something simple I'm overlooking to have the kid movies I push to a subfolder sort alphabetically?

    I have considered trying to find out how to force a recorded-on-date and forcing my own "sort" by that timestamp, but if there was some easy way to get it to sort alphabetically, that'd be GREAT.....

    thanks in advance,
    ..dane
     
  10. wmcbrine

    wmcbrine Ziphead

    10,404
    43
    Aug 2, 2003
    Right. Push uses a completely different system for metadata, and we don't know all the relevant keywords yet. (Some items might not even be available.) It's much harder to discover the push tags -- for pull, you can just look at the XML from the TiVo; for push, you have to intercept network traffic, and TiVo Desktop uses very few of the tags, so for (e.g.) star ratings, you'd have to capture messages from Amazon VOD or something. (Do they even show up with star ratings? It's been a while since I DLed one.)

    This is true for any folder on the TiVo (not just those created by pyTivo). It won't change the sort order. The only way to sort the contents alphabetically is to turn off grouping.
     
  11. dane_walther

    dane_walther Guest

    13
    0
    Jan 5, 2007
    Thanks for the reply, wm...

    I take it from your post that there is currently also no way of setting the 'recorded-on' date using push?

    As an aside, it's interesting to me that even after pushing a forced grouping mechanism, you can't then go use pull to get content over to the Tivo using the episodeId that was previously pushed.... that would solve a bunch of problems. :)

    From the promptness (and conciseness) of your reply, I assume a lot of work has already been done on attempting at subfolder sorting .... :(

    thanks,
    ..dane
     
  12. wmcbrine

    wmcbrine Ziphead

    10,404
    43
    Aug 2, 2003
    There used to be, for pull... that's something I need to fix. :eek: There wasn't, for push; but as I look at it now, it could be done quite easily. So, I'll do that.

    No, no work. There's nothing to do there; not for the TiVo-side folders. Take a look at a folder created by a Season Pass, or a Wishlist -- it's the same way. Notice that the line at the bottom of the screen that describes sort order disappears when you go into a folder.

    Now, if you were talking about folders within pyTivo shares, you can force those to alpha sort, via the "force_alpha = True" setting. In fact that was pyTivo's original behavior. But what the TiVo requests is the same as what it does internally -- it always uses date sort for folders, and doesn't offer the option to change it.
     
  13. Spenner

    Spenner Member

    88
    2
    Mar 28, 2006
    Does pytivo use the metadata file [filename].tivo.txt for .Tivo files? I'm using Push to recategorize movies recorded on my Tivo into a folder. The metadata for the seriesID folder works for non-Tivo files pushed, but when pushing a .Tivo file pytivo seems to use the original embedded metadata, not the metadata from the .txt file, even for the Description. Is that your understanding of the internals?

    To get around that and have the .tivo files be foldered on push, I now use tivodecode to first convert the .tivo files to .mpeg, then have pytivo push the mpeg (with the metadata file) and then it correctly oes into the series folder.
     
  14. wmcbrine

    wmcbrine Ziphead

    10,404
    43
    Aug 2, 2003
    For .TiVo files, the internal metadata takes precedence over the .txt files. I did this for pushes because it's what happens anyway on pulls (where tivodecode is not used), so this way it's consistent for a given file. On a pull, the .TiVo header overrides everything; it's the TiVo box itself that does that. (The only way around it would be to pass the file through tivodecode during pulls as well as pushes.)

    Otherwise the .txt file takes precedence (over MP4 internal tags, EyeTV tags, and .properties files).
     
  15. dane_walther

    dane_walther Guest

    13
    0
    Jan 5, 2007
    If forcing the recorded-on date worked, then manual sorting could be done. Even within a single year, there are plenty of timestamps available! :) I assume it sorts down to the yyyy:mm:dd:hh:mm:ss recorded, but even if only yyyy:mm:dd, there are still lots of timestamps available for forcing a sort order. :)

    pyTivo shares sort alphabetically, I've noticed that yes. But I am pushing to TIvo so that I don't have to maintain the files on a central server (the computer doesn't stay on all the time, etc). I have a MUCH larger HDD on my Tivo than my computer anyway. :rolleyes: And I only have an 802.11b wireless router, so I can't "watch while streaming" anyway. Takes a good few hours to push a file, even without transcoding. :p

    I still have the original 3-19 distribution of pyTivo. I have read something breifly about something called a GIT snapshot-- I assume if you patch the recorded-on date with Pushing, then I'll need to learn how to do that. I also assume it's a whole lot more work to create a new distribution than a GIT snapshot... No worries though-- I seem to recall seeing a thread over on the pyTivo forum where someone detailed the steps on how to do a GIT snapshot update. Keep us posted on the recorded-on date via Push and I'll test it out when it's patched and report back here (or pyTivo forum, or both)..

    THanks SOOOO much!
    ..dane
     
  16. dane_walther

    dane_walther Guest

    13
    0
    Jan 5, 2007
    I ran a few tests.. used an existing seriesId (Futurama!) since I knew using Pull (3.19 RC1 distribution) worked with passing the "time" metadata parameter, and I needed a folder to work with..

    I created about a dozen copies of a 2-second video file and created unique metadata .txt files for each of them, and set their dates among 1977, 1980, 2010, 2020, and 2112 (yes, Rush fan also). In my Tivo I browsed to the folder these items were stored, and began queuing them up for "pull"ing in a random order, and went back to the NPL/Futurama folder to watch the progress.

    Sure enough, everything came through sorted properly by the dates I set.

    wmcbrine-- I don't know python, but I've dabbled in various languages over the past 20 years.. I'd like to maybe develop a simple string-processing equation that develops a "date" value for the string. I'd like to then request a new paramter be added to the pyTivo configuration settings to "assign alphabetizing recorded-on date when recorded-on date not specified and when a seriesId is specified" or something of the sort that will automatically generate the proper recorded-on datecode based on the title string, but only for those items that are grouped (e.g. a seriesId value is assigned). I'm not sure if this would be better suited as a plugin or a new feature, but taking the time to add the feature in the long run would benefit a whole lot of people and save me a bunch of time having to put individual calculated datecodes in the dozens of movies I want to push to customized forced folders.. I can email you to take the discussion off-line if you'd like.

    your thoughts?
    ..dane
     
  17. audiodane

    audiodane New Member

    127
    0
    Oct 28, 2009
    (yes, I changed my username)

    Thought I would chime in here with an email I just sent to wmcbrine:

    I am attaching those .GIF and .XLS files here as well. Anyone is welcome to use them... Note these will do NO good until the push feature's "time" tag is working. It would work just fine for "pull" transfers if you're using one of the pytivo versions with working "time" tag for pull. (3.19-RC1 passes "time" with pull, but wmcbrine indicated that it is broken in the current GIT snapshot.) And of course it's quite manual at the moment.. but you can replace one of the "test strings" in the spreadsheet and the calculated time value will spit out on the right column..

    Note also that A-names have a "more future" date than Z-names, since Tivo sorts folder items in decreasing time (newest episode at top).

    Let's keep this ball rolling! :)

    cheers,
    ..dane

    ps.- I will also mention that I've not actually tested this; I don't know if Tivo supports year 0001 and year 9999 for instance. I'm at work and threw this together real quick-like, and don't have my Tivo here to test with.. I'm just HOPEFUL it will work. :)
     

    Attached Files:

  18. audiodane

    audiodane New Member

    127
    0
    Oct 28, 2009
    Update..

    1970 (unix epoch) is the "earliest" date Tivo supports. Otherwise it just seems to set the datetime as the current datetime.

    Currently trying to find the top end. It correctly places a 2250 date at the top of the list, but doesn't for the year 2375. trying to narrow it down.. Looks like we'll have a LOT less alphabetizing options.. :(

    ..dane
     
  19. audiodane

    audiodane New Member

    127
    0
    Oct 28, 2009
    2300 isn't supported either. All the kids just got home, so I'm done for a while (until after they're in bed)..

    ..dane
     
  20. audiodane

    audiodane New Member

    127
    0
    Oct 28, 2009
    Looks like it will support up until 1-May-2216 but not 1-June-2216.

    That gives us a range of 1-Jan-1970 to 1-May-2216, or 246 years, 4 months, or roughly 7,768,368,000 unique seconds (datetime-values), to work with. Using the spreadsheet I attached earlier (which needs to be updated for reduced date support), that allows generic sorting out through the first four characters. Not as nice as 7 character sorting, but certainly better than none!

    I am curious is anyone is interested in this tool being made into an online javascropt tool, or wmcbrine, if you're interested in incorporating this into pytivo. I would at least like for the 'time' feature to be implemented for pushing though so I can use this at least myself for generic sorting of pushed material.

    thanks,
    ..dane

    EDIT: whoops-- misread the number of commas.. we can go out to SIX characters with 7.5 billion seconds.. yay! better than four!
     

Share This Page