#2 ✓resolved
dbr/Ben

Move renamed files to specific folder

Reported by dbr/Ben | May 30th, 2009 @ 08:02 AM

Integrate autoPathTv.py's functionality, perhaps via a --move flag?

$ tvnamer --move scrubs.s01e01.avi # move to default/configured location
$ tvnamer --move="/media/blah/%(showname)s/season %(seasno)02d/" scrubs.s01e01.avi

Comments and changes to this ticket

  • dbr/Ben

    dbr/Ben May 30th, 2009 @ 08:03 AM

    • Milestone cleared.
  • dbr/Ben

    dbr/Ben August 24th, 2009 @ 04:06 AM

    • Milestone cleared.

    [project:id#36049 bulk edit command]

  • dbr/Ben

    dbr/Ben October 2nd, 2009 @ 10:02 PM

    • State changed from “new” to “open”
  • Smenus

    Smenus January 6th, 2010 @ 09:25 PM

    Could we also have some config options for this?

    Something like filepath_with_season (./%(seriesname)s/%(seasonno)d/) and filepath_without_season (./%(seriesname)s/)?

    Also, one more request; an always-move flag? I don't have much space on my source machine, so I want to move everything to a networked machine, which is mounted via SMB. If not, I suppose I can just use rsync, which would also check (I think) after copying before it deletes the source.

  • Loz

    Loz January 7th, 2010 @ 03:41 AM

    Plus one for a Move feature with difineable paths

  • Wob

    Wob January 7th, 2010 @ 09:35 PM

    Hi,

    I just found this great script. Works a treat, I noticed in the utils.py there are some options for copying\moving files. Is there a way to enable this feature or is it still in progress?

    I am hoping to have a monitored folder run this script when a new file arrives, I then want it to copy the file to;
    (Path)/(showname)/(season) #/(newly filtered file)

    I want to leave the original file in it's place untouched, Just have it copied in it's new home with it's new name.

    Thanks for all the hard work.
    Beau

  • dbr/Ben

    dbr/Ben January 10th, 2010 @ 08:03 AM

    This is still a planned feature. The moveFile function is just a bit of code I copied from another script when writing the renamer class, with this feature in mind

    It will certainly be configurable.

    As for an always-move flag, I'm slightly hesitant to do this, as I'm paranoida'ishly worried it'll cause data-loss, since it wouldn't have rsync's data-verification.. but it wouldn't be difficult to add (along with a simple file-size comparison), so I shall try to add this also

  • Wob

    Wob January 10th, 2010 @ 10:50 AM

    Thanks for the update, I am more interested in copying the file than moving it.

    I would like to leave the original file untouched so that it can finish seeding. I'll just go through my goal to see if you think this script will get to that point.

    My current setup involves all new files coming into a a single folder.

    They are then copied over to a new location /Show Name/Season #/

    I am using incron to monitor the folder and run an old script that uses the folder names to find the show title and season # and then rename the file from info from TV.com using the format S##E## - Episode Title.

    So I end up with /Show Name/Season #/S##E## - Episode Title.avi

    This works find, but it still requires me to manual copy the files from the incoming folder into the destination folders. I also have the odd problem with TV.com data being different than TVDB.com and as I am using XBMC as the frontend I would prefer to rename using TVDB.

    So my hope is to get a script (which I can call when a new file is droped into my incoming folder) to copy the file to it's new home with it's new name, leaving the original untouched. I can then go through and delete them when they have seeded enough. As the folder will still contain old files until they seed, and I would like to process the whole folder each time (to ensure that any files that may not have been processed due to tvbd being down on the last call (this is happening a bit of late) I would like it to skip files if the destination file already exists.

    Thanks for listening :)
    Beau

  • dbr/Ben

    dbr/Ben January 10th, 2010 @ 11:33 AM

    Hm, I think such functionality would be hard to incorporate without it becoming extremely complicated.

    I like the UNIX philosophy of tools doing one thing, and doing it well. Currently tvnamer just renames files, in place. It's not much more complexity to move the file to a specific path, using a configured location (it's a single extra command line flag, and one config entry)

    Perhaps a better solution to your problem (than additional copy-then-rename options) would be:

    • When a new file appears in the incoming folder, copy it to a temporary folder
    • Once copied, run tvnamer in batch mode, which renames it
    • (For now) write a simple script to parse the show name/season number, and move it into the appropriate location (since the filenames are consistent, a regex of (.+?) - [(\d\d)x(\d\d)] - .* should do it.. any files not renamed couldn't be renamed, either because thetvdb is down, or the series wasn't found)
    • When the moving-file feature is implemented, the above becomes part of the renaming
  • Wob

    Wob January 10th, 2010 @ 11:51 AM

    Thanks for the input, sounds like a good idea, easy enough to implement a temporary location.

    My only issue is that my current naming convention doesn't include the Season name in the episode title, that is why I would like to include the move or copy within the script. I guess I could have the script that is moving it to it's new location strip the season name of the file during the move.

    My scripting abilities are limited but I might see what I can do.

    Thanks again for the help, and the handy script.

  • dbr/Ben
  • dbr/Ben

    dbr/Ben February 25th, 2010 @ 05:40 AM

    I've started implementing this functionality..

    See test_movingfiles.py for info on how to use it. Basically:

    tvnamer --move --movedestination="/media/tv/%(seriesname)s/season %(seasonnumber)d/" some.file.s01e01.avi
    

    Which is equivalent to a config containing:

    {
        "move_files_enable": true,
        "move_files_destination": "/media/tv/%(seriesname)s/season %(seasonnumber)d/"
    }
    

    config_defaults.py has a description for each option.

    I wouldn't recommend using this feature on actual media files just yet, as there is very likely to be bugs (which could possibly lead to lost files). Try it with dummy files (touch some.file.s01e01.avi) and backed up media, and report bugs!

    Things to note:

    • I've not tested copying media to another partition yet (should work, however)
    • I've not heavily tested moving to absolute paths (again, this should work, I've just not setup automated tests for this yet)
    • It renames the file, then moves it, most because this is simplest way to implement the feature. I guess people might want to just copy the file to a new location, which should be doable, but is more work.
    • I may add always_copy and/or always_move options

    As the warning says when the feature is enabled: "The move_files feature is still under development. Be very careful with it. It has not been heavily tested, and is not recommended for general use yet."

    With the benefit of hindsight, I should have made these changes in a branch.. Regular tvnamer functionality should be unaltered, but if not, the last known stable revision ID hash should be 947cff043a67e37f8e5e32813b54a80cb0dcf041

  • Loz

    Loz February 25th, 2010 @ 06:13 AM

    Hi

    Firstly, thanks very much for implementing this feature, you have listened to the feedback provided and developed based on that. Thanks again for that.

    I thought I'd provide some testing feedback

    My config contains the following

    "move_files_enabled": true,
    "move_files_destination": "/media/media2/Videos/TV/%(seriesname)s/Season-%(seasonnumber)d/"
    

    But attempting to rename a file brings the following error:

    loz@gravity:/media/media2/Unsorted-Downloads$ tvnamer Secret_Diary_of_a_Call_Girl.S03E06.avi
    Loading config: /home/loz/.tvnamer.json
    Traceback (most recent call last):
      File "/usr/local/bin/tvnamer", line 8, in <module>
        load_entry_point('tvnamer==2.0', 'console_scripts', 'tvnamer')()
      File "build/bdist.linux-x86_64/egg/tvnamer/main.py", line 310, in main
      File "build/bdist.linux-x86_64/egg/tvnamer/cliarg_parser.py", line 35, in getCommandlineParser
    TypeError: set_defaults() keywords must be strings
    

    Perhaps once again I'm using it wrong but either way, it's not a particularly insightful error.

  • dbr/Ben

    dbr/Ben February 25th, 2010 @ 06:34 AM

    That's an odd error.. Seem that your config is being loaded as a dictionary like {123: "example"} instead of something like {"config_item": "example"}

    Can you post your complete config file? It might be a simple typo (missing a , etc)

    Also maybe run the following command:

    python -c "import simplejson; print simplejson.load(open('/home/loz/.tvnamer.json'))"
    

    ..and copy the output here. That will parse your config file and print out the Python dictionary it produces. If you indent the text with four spaces, it will preserve the formatting, you can also use <pre></pre> HTML tags I think

  • Loz

    Loz February 25th, 2010 @ 06:54 AM

    Hiya

    Pastbin for Config file here:
    http://slexy.org/view/s2QpMK1wl6

    Pastebin for supplied command:
    http://slexy.org/view/s21KPCAym3

    loz@gravity:/media/media2/Unsorted-Downloads$ python -c "import simplejson; print >simplejson.load(open('/home/loz/.tvnamer.json'))" {u'verbose': True, u'always_rename': False, u'filename_without_episode_no_season': >u'%(seriesname)s.E%(episode)s%(ext)s', u'search_all_languages': True, u'episode_separator': u'S', >u'multiep_join_name_with': u', ', u'recursive': True, u'windows_safe_filenames': False, u'valid_extensions': [], >u'filename_without_episode': u'%(seriesname)s.S%(seasonno)02dE%(episode)s%(ext)s', u'episode_single': u'%02d', >u'normalize_unicode_filenames': False, u'select_first': True, u'filename_with_episode_no_season': ?>u'%(seriesname)s.E%(episode)s.%(episodename)s%(ext)s', u'language': u'en', u'skip_file_on_error': True, u'batch': ?>False, u'output_filename_replacements': [{u'is_regex': False, u'match': u' ', u'replacement': u''}, {u'is_regex': >True, u'match': u'\.Episode[0-9]+', u'replacement': u''}], u'filename_with_episode': >u'%(seriesname)s.S%(seasonno)02dE%(episode)s.%(episodename)s%(ext)s', u'move_files_enabled': True, >u'move_files_destination': u'/media/media2/Videos/TV/%(seriesname)s/Season-%(seasonnumber)d/', >u'input_filename_replacements': [], u'replace_invalid_characters_with': u'_'} loz@gravity:/media/media2/Unsorted-Downloads$

  • dbr/Ben

    dbr/Ben February 25th, 2010 @ 07:09 AM

    Opps, there was a typo in my comment, the option is "move_file_enable": true (not enabled ending in a d..)

    Not sure what is causing the TypeError: set_defaults() keywords must be strings error - I put your config at ~/.tvnamer.json and it loaded fine:

    $ file ~/.tvnamer.json
    /Users/dbr/.tvnamer.json: ASCII text
    
    $ cat ~/.tvnamer.json 
    {
        "always_rename": false, 
        "batch": false, 
        "episode_separator": "S", 
        "episode_single": "%02d", 
        "filename_with_episode": "%(seriesname)s.S%(seasonno)02dE%(episode)s.%(episodename)s%(ext)s", 
        "filename_with_episode_no_season": "%(seriesname)s.E%(episode)s.%(episodename)s%(ext)s", 
        "filename_without_episode": "%(seriesname)s.S%(seasonno)02dE%(episode)s%(ext)s", 
        "filename_without_episode_no_season": "%(seriesname)s.E%(episode)s%(ext)s", 
        "input_filename_replacements": [], 
        "language": "en", 
        "multiep_join_name_with": ", ", 
        "normalize_unicode_filenames": false, 
        "output_filename_replacements": [
                    {"is_regex": false, "match": " ", "replacement": "_"}, 
                    {"is_regex": true, "match": "\\.Episode_[0-9]+", "replacement": ""}], 
        "recursive": true, 
        "replace_invalid_characters_with": "_", 
        "search_all_languages": true, 
        "select_first": true, 
        "skip_file_on_error": true, 
        "valid_extensions": [], 
        "verbose": true, 
        "windows_safe_filenames": false,
        "move_files_enable": true,
        "move_files_destination": "/media/media2/Videos/TV/%(seriesname)s/Season-%(seasonnumber)d/"
    }
    
    $ tvnamer Secret_Diary_of_a_Call_Girl.S03E06.avi 
    Loading config: /Users/dbr/.tvnamer.json
    ####################
    # Starting tvnamer
    # Found 1 episode
    ####################
    # Processing file: Secret_Diary_of_a_Call_Girl.S03E06.avi
    # Detected series: Secret Diary of a Call Girl (season: 3, episode: 6)
    ####################
    Old filename: Secret_Diary_of_a_Call_Girl.S03E06.avi
    Before custom output replacements: Secret Diary of a Call Girl.S03E06.Episode 6.avi
    New filename: Secret_Diary_of_a_Call_Girl.S03E06.avi
    New path: /media/media2/Videos/TV/Secret Diary of a Call Girl/Season-3/
    Rename?
    ([y]/n/a/q) y
    Renaming
    File /Users/dbr/code/tvnamer/Secret_Diary_of_a_Call_Girl.S03E06.avi already exists, not forcefully renaming /Users/dbr/code/tvnamer/Secret_Diary_of_a_Call_Girl.S03E06.avi
    Move file?
    ([y]/n/q)
    
  • Loz

    Loz February 25th, 2010 @ 07:26 AM

    Ahh, I see, so suddenly that works allot better

    loz@gravity:/media/media2/Unsorted-Downloads$ tvnamer Secret_Diary_of_a_Call_Girl.S03E06.avi
    Loading config: /home/loz/.tvnamer.json
    /usr/local/lib/python2.6/dist-packages/tvnamer-2.0-py2.6.egg/tvnamer/main.py:231: UserWarning: The move_files feature >is still under development. Be very careful with it.
    It has not been heavily tested, and is not recommended for general use yet.
    ####################
    # Starting tvnamer
    # Found 1 episode
    ####################
    # Processing file: Secret_Diary_of_a_Call_Girl.S03E06.avi
    # Detected series: Secret Diary of a Call Girl (season: 3, episode: 6)
    ####################
    Old filename: Secret_Diary_of_a_Call_Girl.S03E06.avi
    Before custom output replacements: Secret Diary of a Call Girl.S03E06.Episode 6.avi
    New filename: Secret_Diary_of_a_Call_Girl.S03E06.avi
    New path: /media/media2/Videos/TV/Secret Diary of a Call Girl/Season-3/
    Rename?
    ([y]/n/a/q)
    

    Only problem is I then need to be able to do replacements on the path to get rid of the spaces, I should have thought of that.

  • Wob

    Wob February 26th, 2010 @ 11:16 AM

    Just a quick question, I have this working fine when I manually run it, using the command;

    tvnamer -b -c /home/beau/.tvnamer_move.json /RAID/incoming/TV/Processing/*.avi

    It will process any AVI files from that folder and place them nicely, the new lines in my config file are;

    "move_files_enable": true,
    "move_files_destination": "/RAID/TV/%(seriesname)s/Season %(seasonnumber)d/"
    

    My problem lies with when I have the process called from incron, incron will see a new file appear in a folder and run a set command, I can see the command being called in the syslog. The command looks like the command above, manually run it's fine, but from incron nothing happens. I was calling tvnamer from incron prior to playing around with the move option and it works fine. I have logs a ticket to have some log option added so I can try and work out what is happening.

    Any ideas?

    Thanks,
    Beau

  • Loz

    Loz February 28th, 2010 @ 06:24 AM

    Hi

    Testing of this seems to work very well indeed.

    However, I did add the following change to suit my needs, it

    Replace the following section in main.py (around line 157)

        if Config['move_files_enable']:

        newPath = getDestinationFolder(episode)
        p(&quot;New path: %s&quot; % newPath)</code>
    
    
    
    
    with
        if Config['move_files_enable']:

        newPath = getDestinationFolder(episode)
        if len(Config['output_filename_replacements']):
            newPath = applyCustomOutputReplacements(newPath)
        p(&quot;New path: %s&quot; % newPath)</code>
    
    
    
    

    This should probably be done with a config option, I'll have a look into that. I'm just struggling a bit with a language that makes white space important.

  • Wob

    Wob March 1st, 2010 @ 07:01 PM

    Hi,

    Just noticed something else with the move function, with my CSI Epsisode, the season is returned from tvdb as "CSI: Crime Scene Investigation" and this is the name that is used to name the folder, despite the fact it contains a non windows safe character. I think if the windows_safe_filename option is on then it should be run against the folder names in the move function.

    I guess this is sort of related to the replacement function that Loz is playing with.

    Thanks,
    Beau

  • FoolsRun

    FoolsRun March 2nd, 2010 @ 08:08 AM

    Hi,
    I'm using the move feature to move files from one drive to another and I've noticed that files aren't removed from their original location.

    Moving files on the same physical drive seem to move properly, but moving between drives acts more like a copy, leaving the original file in place.

    I'm not sure if I'm explaining this well or what further information would be useful so if there's something else I can tell you about this problem please let me know.

  • dbr/Ben

    dbr/Ben March 2nd, 2010 @ 10:11 PM

    I'm just struggling a bit with a language that makes white space important.

    Python doesn't care about whitespace, just indentation!

    I'm using the move feature to move files from one drive to another and I've noticed that files aren't removed from their original location.

    This is to be expected. The sensible default behaviour for moving files about is.. if source and destination is on same partition, move the file (via os.rename). If source and dest are on separate partitions, copy the file.

    I plan to add a always_move option which will trash (or rm on linux) the original file after copying, but I want to get the feature working correctly first

    I think if the windows_safe_filename option is on then it should be run against the folder names in the move function

    newPath = applyCustomOutputReplacements(newPath)
    

    Ah. This is a problem.. The custom replacements are only run on the constructed filename, not the seriesname data passed to the custom path..

    Just applying the custom_replacements to the path is very error prone (replacing [^a-zA-Z] suddenly destroys the path directory settings, creating files like ./users_me_media_tv_seriesnames_Seriesname-[s01x01].avi)

    Two possible options:

    • Apply the custom replacements to the output filename, and separately apply the same replacements to the seriesname path element. Simple to do, but might be a bit confusing (as the replacement might apply to the filename, but not the path element)
    • Apply the custom replacements separately to the series and, episode name, before the new filename is generated

    Applying the replacement to the series and episode name is the most obvious, predictable way (exact same replacement happens to the path element, and the filename), but removes the ability to do replacements that span the entire filename.. Can't think of when this would be a problem

    I could add separate replacements options for both the filename and series-name/episode-name data, but I think this is excessive, as there's very few cases where you'd want to alter the series name in /media/tv/Scrubs/ differently from the series name in Scrubs - [02x01] - Blah.avi

    In summary, I think the best option is, in pseudo code..

    episode_name = makeFilenameSafe(applyCustomReplacements(episode_name))
    series_name = makeFilenameSafe(applyCustomReplacements(series_name))
    
    makeNewFilename(episode_name, series_name)
    makePath(episode_name, series_name)
    

    Thoughts?

  • Loz

    Loz March 2nd, 2010 @ 11:57 PM

    Hi

    Your last post is a little bit of a head twister, but I think what your suggesting is applying the replacements to only the series name and episode name data and never to the path. As such it would be impossible to match a pattern that is formed by a combination of the supplied path and the episode data.

    For example my config contains the following:

    move_files_destination": "/media/media2/Videos/TV/%(seriesname)s/Season-%(seasonnumber)d/
    output_filename_replacements: [
                {"is_regex": false, "match": " ", "replacement": "_"},
                {"is_regex": false, "match": "'", "replacement": ""},
                {"is_regex": false, "match": "Season-0", "replacement": "Specials"},
                {"is_regex": true, "match": "\\.Episode_[0-9]+", "replacement": ""}]
    

    This will replace "Season-0" with "Specials", however if we were not applying replacements to the entire path it would be impossible to do this.

    However I can understand how applying the makeFilenameSafe functionality would cause problems if applied to the whole path.

    Could we not do something like

    episode_name = makeFilenameSafe(episode_name)
    series_name = makeFilenameSafe(series_name)
    
    newFilename = applyCustomReplacements(makeNewFilename(episode_name, series_name))
    newPath = applyCustomReplacements(makePath(episode_name, series_name))
    

    I realise you'd have to be careful with what you put in custom replacements so you dont match too broadly and cause some horrible behavour, but i cant think of an example when its not possible to match more accuratly

  • Loz

    Loz March 3rd, 2010 @ 12:00 AM

    Apologies that I struggle quite so much with markdown on this site and the inability to edit comments

  • dbr/Ben

    dbr/Ben March 7th, 2010 @ 02:42 PM

    You should be able to edit your comments, the edit button should appear at the top-right of the comment, when you hover over it. There's also the new preview button next to the editor, or you could use something like the WMD Editor demo to get a live preview, then copy-and-paste into the comment box. Basically you just need to indent code with four spaces, and make sure there's a blank line before and after.

    Anyway, regarding the paths - you're right, my idea was just to run the replacements on the series name and episode names, but I never thought of doing things like Season 0 -> Specials

    I may just add a separate move_path_replacements option, so it's easy to, say, remove spaces without worrying about breaking the path, but still possible to alter the complete path

  • dbr/Ben

    dbr/Ben April 2nd, 2010 @ 12:22 AM

    Eventually got a chance to look at this.. seriesname is now made filename safe. I've added a separate custom replacement for the full path, move_files_fullpath_replacements

    Not sure if the ordering is correct, but it seems to be working sensibly..

  • Wob

    Wob April 6th, 2010 @ 11:18 AM

    Hi,

    Did some testing with the new version and it's not working for me.

    Safe filename doesn't seem to be effecting the path, here is the output without any changes to the config;

    ####################
    # Starting tvnamer
    # Found 1 episode
    ####################
    # Processing file: CSI.S10E16.HDTV.XviD-LOL.avi
    # With custom replacements: CSI.Crime.Scene.Investigation.S10E16.HDTV.XviD-LOL.a
    # Detected series: CSI Crime Scene Investigation (season: 10, episode: 16)
    ####################
    Old filename: CSI.S10E16.HDTV.XviD-LOL.avi
    New filename: S10E16 - The Panty Sniffer.avi
    New path: /RAID/TV/CSI: Crime Scene Investigation/Season 10/CSI.S10E16.HDTV.XviD
    

    Two things to note, the ":" is still being used in the path, and the filename in the new path is the old name. The result is that the file is renamed but not moved.

    I used the new replacement option to remove the ":" and shorten the name, config looks like this;

        "move_files_fullpath_replacements": [
             {
                "is_regex": true,
                "match": "CSI: Crime Scene Investigation",
                "replacement": "CSI"
            }
        ],
    

    end result is;

    ####################
    # Starting tvnamer
    # Found 1 episode
    ####################
    # Processing file: CSI.S10E16.HDTV.XviD-LOL.avi
    # With custom replacements: CSI.Crime.Scene.Investigation.S10E16.HDTV.XviD-LOL.avi
    # Detected series: CSI Crime Scene Investigation (season: 10, episode: 16)
    ####################
    Old filename: CSI.S10E16.HDTV.XviD-LOL.avi
    New filename: S10E16 - The Panty Sniffer.avi
    Before custom full path replacements: /RAID/TV/CSI: Crime Scene Investigation/Season 10/CSI.S10E16.HDTV.XviD-LOL.avi
    New path: /RAID/TV/CSI/Season 10/CSI.S10E16.HDTV.XviD-LOL.avi
    

    So now the path is OK, although I think the ":" should be replaced automatically with safe file names enabled. Notice the filename is still and issue, same result, the file is renamed but not moved.

    Thanks,
    Beau

  • Wob

    Wob April 6th, 2010 @ 11:20 AM

    Sorry, that looks terrible, I would fix it but I don't appear to have an edit button showing up.

  • Wob

    Wob April 14th, 2010 @ 11:31 AM

    Is anyone else experiencing the same problem with Move option after the changes? I haven't been able to work around it.

  • chainsawbike

    chainsawbike April 19th, 2010 @ 10:51 PM

    • Tag changed from feature, tvnamer to tvnamer

    wob, i have this issue aswell, it works of you set

    "always_rename": true,

    or if you select a when at the y/n/a/q prompt it will work for the next one and every one following

    so something is out of order...

  • chainsawbike

    chainsawbike April 19th, 2010 @ 10:55 PM

    • Tag changed from tvnamer to feature tvnamer

    oops... dunno how i did that...

  • dbr/Ben

    dbr/Ben April 24th, 2010 @ 11:34 PM

    Ah, there's something wrong with the order of the move-files function, started looking at this, hopefully have it fixed tomorrow

  • dbr/Ben

    dbr/Ben April 25th, 2010 @ 01:45 AM

    • Tag changed from feature tvnamer to feature

    Pushed some changes - let me know if the works any better.. The regular renaming/replacements are performed, then the fullpath stuff is done.

    Not hugely happy with how it's structured, but it seems to be working

  • Ramon Felciano

    Ramon Felciano September 21st, 2010 @ 01:28 PM

    If there is a folder of mixed shows, some of which have season numbers and others don't, can you trigger different patterns based on whether the destination path includes a season-number-based element or not?

    For example:

    If there isn't a season:

    ".\Test\%(seriesname)s"
    

    If there is a season:

    ".\Test\%(seriesname)s\Season %(seasonnumber)2d"
    

    I know there are distinctions like this for matching the filename, but I can't tell whether that logic can get pushed down to the file copying as well.

  • Patroclus

    Patroclus December 15th, 2010 @ 09:07 AM

    Reiterating the request for a "always_move = True" parameter, or something along those lines.

    I use tvnamer to move my Usenet downloads over to a homeserver, so OS X defaults to copying them over (instead of just moving) leaving me a mess up redundant files in my download folder.

    Or am I doing it wrong?

  • dbr/Ben
  • dbr/Ben

    dbr/Ben November 15th, 2011 @ 12:18 AM

    • State changed from “open” to “resolved”

    can you trigger different patterns based on whether the destination path includes a season-number-based element or not?

    Added move_files_destination_no_season along with move_files_destination_date

    Reiterating the request for a "always_move = True" parameter, or something along those lines.

    Added in latest git version!

  • dbr/Ben

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Shared Ticket Bins

People watching this ticket

Tags

Referenced by

Pages