Commit Graph

277 Commits

Author SHA1 Message Date
Reinhard Pointner 11facfa8ab * parse imdb movie index from osdb 2011-12-25 09:07:55 +00:00
Reinhard Pointner 0aeea04062 * use web-persistent ehcache for remembering language filters 2011-12-24 11:08:31 +00:00
Reinhard Pointner 8210a7dbc4 * fixfix 2011-12-21 08:46:19 +00:00
Reinhard Pointner 6dfbfd2d35 * added .nfo creation as scripting example 2011-12-21 08:31:57 +00:00
Reinhard Pointner ad0714c67b * added support for retrieving series info 2011-12-21 05:54:30 +00:00
Reinhard Pointner 1a43b7c5fd * added fetch banner script
* refactored thetvdb banner api
2011-12-20 13:00:38 +00:00
Reinhard Pointner 70adfa0b0f * api support for thetvdb banners 2011-12-20 02:37:36 +00:00
Reinhard Pointner 8571962e61 + added support for fully automatic SubtitleDescriptor/File subtitle matching to CLI, i.e. match files against subtitle listings 2011-11-24 17:27:39 +00:00
Reinhard Pointner c45b6dfbd0 * move all matching/metrics code into the same package 2011-11-23 10:52:46 +00:00
Reinhard Pointner 6171dac38f * improved new funnel/balance episode matching logic 2011-11-22 18:26:50 +00:00
Reinhard Pointner 4b5f512fcf * improved matching using a 2-level narrowing episode identifier metric sequence 2011-11-22 16:08:36 +00:00
Reinhard Pointner b08ec77642 * sanity check for SxE values 2011-11-22 14:44:54 +00:00
Reinhard Pointner 30993a5cb6 * clean release info before submitting queries 2011-11-14 11:43:22 +00:00
Reinhard Pointner 4506272fe6 * specifically ignore movies when parsing SxE/Airdate 2011-11-14 02:02:14 +00:00
Reinhard Pointner cfee1cbb51 * refactor caching
* added caching to tvrage
2011-11-13 18:22:50 +00:00
Reinhard Pointner caef14cfa4 * docs 2011-11-13 06:33:54 +00:00
Reinhard Pointner b228f44ea0 * only allow movies, no osts, specials, episodes, etc 2011-11-11 03:35:50 +00:00
Reinhard Pointner b4532f1832 * improved name cleanup a little bit 2011-11-08 18:26:54 +00:00
Reinhard Pointner 5184e4d98d * extract local search into it's own class
* AniDB: search by any language
* SJ: use german series name if language is set to GERMAN
2011-11-04 05:23:23 +00:00
Reinhard Pointner 9c805d5b2a * added support for SeriesStartDate in SerienJunkies 2011-11-02 08:25:22 +00:00
Reinhard Pointner cd8b8aa620 * fix tvrage seriesstartdate support 2011-10-01 04:18:24 +00:00
Reinhard Pointner ced6f4e9af + added support for SeriesStartDate 2011-10-01 04:08:46 +00:00
Reinhard Pointner bafb33d676 * simplify classname 2011-09-22 12:55:04 +00:00
Reinhard Pointner d80e5683d5 * move net.sourceforge.filebot.rename.ui.panel to net.sourceforge.filebot.rename.ui 2011-09-22 05:03:46 +00:00
Reinhard Pointner af60f6b6f1 ++ Command Line Interface ++ ヾ(@⌒ー⌒@)ノ 2011-09-09 14:50:01 +00:00
Reinhard Pointner e1261eadbc * update test cases 2011-08-26 09:26:05 +00:00
Reinhard Pointner ffaba6ee8f * disable "absolute episode number" support for TVRage because it is likely to interfere with badly formatted SxE files names (e.g. "S3 Episode 10" will absolute episode 10, not Season 3) 2011-08-26 09:01:46 +00:00
Reinhard Pointner 379f0a9cc1 * support manual input of movie/series title (as fallback if auto-detection fails or if forced via SHIFT-clicking the data source)
* fixed movie mode issues (osdb title/year parsing problem, nfo file imdbid parser problem)
2011-08-22 03:43:22 +00:00
Reinhard Pointner 6074680401 + dropped support for TV.com scraper (broken due to site changes) 2011-08-11 10:52:17 +00:00
Reinhard Pointner f85224a8ff * added preferred language support for movie mode (via TheMovieDB data source only) 2011-08-10 05:05:11 +00:00
Reinhard Pointner 949b1ce864 + added initial support for episode formatting language preferences
(preferred language will be ignored if data-source doesn't support multiple languages)
2011-08-08 17:37:45 +00:00
Reinhard Pointner 38bbaaf5d8 + updated Serienjunkies support (support episode airdate and website links) 2011-08-07 07:22:07 +00:00
Reinhard Pointner d499bb01d6 * added initial support for serienjunkies as episode list provider 2011-08-05 04:38:11 +00:00
Reinhard Pointner e163824bd0 * fix typo 2011-08-05 04:32:28 +00:00
Reinhard Pointner a2493bc969 * update test cases 2011-01-07 11:02:11 +00:00
Reinhard Pointner a5bc17e724 * use anidb http api 2011-01-07 03:51:08 +00:00
Reinhard Pointner b81be6a2a0 * allow 4-digit season number (e.g. 2009, 2010, ...) 2010-11-26 14:13:40 +00:00
Reinhard Pointner 051c34c98d * thetvdb: prefer DVD episode ordering 2010-11-15 10:06:24 +00:00
Reinhard Pointner 038dcb38e8 * refactored anidb client a bit (added internal support for multi-language episode titles) 2010-11-11 14:23:59 +00:00
Reinhard Pointner 270a0409ca * drop SubtitleSource related code as they now restrict access to their api 2010-11-11 12:17:31 +00:00
Reinhard Pointner 13a1b3fa6a * add support for absolute episode numbers alongside SxE
-> add absolute episode number support to TVRage and TheTVDB
-> check against absolute episode number when matching files and episodes
-> add naming scheme binding for absolute episode number
2010-11-09 08:04:12 +00:00
Reinhard Pointner 78d2a3c44a * make test case independent from Episode class (which changed quite often lately) 2010-11-09 07:33:16 +00:00
Reinhard Pointner d092b6f609 * updated to Media.getInfo method in TheMovieDB api client 2010-11-01 10:23:56 +00:00
Reinhard Pointner 07b675eb93 * support for matching date based tv shows (that don't have SxE) 2010-10-24 16:33:38 +00:00
Reinhard Pointner 51018d7ae7 * fix test cases 2010-10-24 13:26:30 +00:00
Reinhard Pointner f53887c7ea * improved support for airdate
* refactor SxE from String to Integer types
2010-10-24 12:10:30 +00:00
Reinhard Pointner 5db098e95a * added support for airdate in episode naming scheme (new binding "air")
* parse airdate in all episode list providers (TVRage, AniDB, TV.com, IMDb, TheTVDB)
2010-10-23 12:47:43 +00:00
Reinhard Pointner d3bdcf597e * fixed/updated Subscene scraper
* fixed/updated Sublight webservice
* updated test cases related to various web resources
2010-10-21 14:47:47 +00:00
Reinhard Pointner 193c53273b * update unit-test 2010-02-04 14:30:39 +00:00
Reinhard Pointner d1b111765e * improved handling of multi-part movies
* added OpenSubtitles as movie name source
2010-01-26 19:08:09 +00:00
Reinhard Pointner 5feaffb7c6 * adapt to site changes 2009-12-04 00:24:35 +00:00
Reinhard Pointner 5519c1440d * added fallback for movie identification by scanning .nfo files for an imdb id 2009-11-22 01:27:05 +00:00
Reinhard Pointner 5c7f90540a * some refactoring & polishing
* update nekohtml to 1.9.13
* update jna to 3.2.3
* update ehcache to 1.7.0
* update mediainfo native libs to 0.7.24
* remove 32-bit mediainfo.dynlib for Mac because Java 6 is only available in 64-bit anyway
2009-11-02 23:25:04 +00:00
Reinhard Pointner 0a2d323ac4 * use animetitles.dat.gz instead of scraping the anidb search interface
* use disk-persistent cache for all anidb data (expire after 30 days)
2009-10-28 15:09:47 +00:00
Reinhard Pointner 39dd413eec * improved subtitle api and video hash support 2009-10-20 21:16:34 +00:00
Reinhard Pointner 36ad3d826d * minor updates 2009-10-13 00:28:59 +00:00
Reinhard Pointner b04f89b7fd + use Groovy instead of JavaScript in ExpressionFormat 2009-09-22 21:23:39 +00:00
Reinhard Pointner 9be7101759 * fixed encoding problem, added unit test 2009-09-22 20:56:43 +00:00
Reinhard Pointner 64eb0ab911 * more restrictive 1x01 SxE pattern (episode part must be 2-digits)
* don't load args4j if we don't need to (little bit faster startup)
* fixed dnd of episode list (was disabled)
2009-08-27 23:30:21 +00:00
Reinhard Pointner 3dd8bb5c66 * adapt to site changes 2009-08-17 14:19:07 +00:00
Reinhard Pointner d98df7d7f1 * improved series name matching
* include "tv mini-series" when searching for any series on imdb
2009-08-12 19:35:24 +00:00
Reinhard Pointner 3ff3a85289 + auto-lookup verification file
+ allow absolute paths in verification files
* lots of refactoring
2009-08-10 11:46:24 +00:00
Reinhard Pointner 3956b61127 * added selection dialog for format sample in episode format dialog
* make MediaInfo thread-safe
* refactor class Settings and lots of related code changes
2009-07-29 20:31:08 +00:00
Reinhard Pointner 203eedb24e * encapsulate similarity metrics used in RenamePanel properly
* removed some unused code
* some unit tests
2009-07-26 16:54:24 +00:00
Reinhard Pointner 57df9b1fbc * adapt tv.com scraper to site changes 2009-07-25 13:36:29 +00:00
Reinhard Pointner a500aacf80 * improved matching of episodes with episode number > 99
* refactoring
2009-07-23 14:25:43 +00:00
Reinhard Pointner 78b77034b1 * remember recent formats in EpisodeFormatDialog
* display script exceptions if formatted name is empty
* better handling of empty search results in some page scrapes
* some test cases
* refactoring
2009-07-18 22:06:32 +00:00
Reinhard Pointner 48cac46fef * added OpenSubtitles xmlrpc methods: TryUploadSubtitles, UploadSubtitles, DetectLanguage, CheckSubHash, CheckMovieHash 2009-07-13 13:02:04 +00:00
Reinhard Pointner cdf2487f2c * use xml anime page to get episode information 2009-07-13 12:40:27 +00:00
Reinhard Pointner c9bc001a9c * fixed some unit tests 2009-07-03 13:07:43 +00:00
Reinhard Pointner 3ded6a5628 + added subtitle package and parsers for some formats
* added SubRip (.srt) support
* added MicroDVD (.sub) support
* added SubViewer (.sub) support
* added SubStationAlpha (.ssa, .ass) support
2009-06-27 16:02:31 +00:00
Reinhard Pointner 5a2d1459f2 * always use main title in anidb scraper again, because the official English title doesn't meet most peoples expectations in many cases 2009-06-27 12:03:48 +00:00
Reinhard Pointner 98ddfafe43 * subtitle file view in download component
* added ByteBufferTransferable and use it as superclass of TextFileTransferable
* added ListView
* lots of refactoring
2009-06-19 22:35:39 +00:00
Reinhard Pointner 18456f6864 + subtitle list displays found subtitles and download phase
+ download and extract selected subtitle packages (not displayed yet though)
* SubtitleDescriptor provides download function (Callable)
* updated sublight webservice
* lazy-initialize SubtitlesAPI2Soap (Sublight) because loading all the jax-ws classes will can take more than 1s (while blocking EDT)
* better sublight subtitle display names
* added archive files to media.types
* added icons for subtitle list
* refactoring
2009-06-13 09:53:48 +00:00
Reinhard Pointner c49b68c836 * added support for downloading subtitles from Sublight
* added ZipArchive and RarArchive
2009-06-02 15:14:12 +00:00
Reinhard Pointner 7bb739f800 + Sublight support (build, client, hash, test, lib) 2009-06-02 11:32:30 +00:00
Reinhard Pointner 6593bfdbda * trim result after formatting in EpisodeExpressionFormatter
* refactoring / cleanup
2009-06-02 10:27:28 +00:00
Reinhard Pointner a547c7e7e9 * use String (language name) instead of Locale in all SubtitleProviders
* get languages (name, code) from xml file
* implemented LanguageComboBox (model, renderer, persistence)
* rename language icons
* removed various prototype classes that will never be used
2009-05-31 15:19:56 +00:00
Reinhard Pointner 508c9a7d93 * fixed leading "recap" in episodes titles of recap episodes 2009-05-25 20:30:32 +00:00
Reinhard Pointner ec4254e687 * use "matching title" in anidb search results
* use official english anime title
* much faster episode information extraction (less xpath)
2009-05-25 20:13:30 +00:00
Reinhard Pointner 3162b3e7bc * adapt AnidbClient search query string to hide synonyms
* fixed bug that allowed the user to select a season-specific episodelist (e.g. Season 1) from anidb which is not supported
* continue matching process even if we can't fetch episode-lists for one or more auto-detected names
2009-05-24 13:25:49 +00:00
Reinhard Pointner 0dc12ec505 * cleanup: group static imports 2009-05-17 17:22:44 +00:00
Reinhard Pointner 419255bf34 * update to junit 3.6
* update some test cases
2009-05-16 20:18:17 +00:00
Reinhard Pointner 8729d227a1 + EpisodeFormat: don't use inferred file for crc32 binding
* fixed "All Episodes" link in TVDotComClient
2009-05-06 17:06:10 +00:00
Reinhard Pointner 1ed4d2b495 + EpressionFormat: format Double objects with integer values as integers
+ Matching: allow partial match with season number OR episode number
+ AutoFetchEpisodeListMatcher: abort if one or more shows cannot be found

* support specials in TVRage, TVDotCom and TheTVDB Client
* account for IMDB search-to-info-page redirect
2009-05-03 15:21:04 +00:00
Reinhard Pointner ca032f3b56 + Script expressions in ExpressionFormat will now be evaluated in a secure sandbox
+ "preserve Extension" can be enabled/disabled in RenameModel

* fixed rename list SelectionModel performance issue 
* create package for ui-independant Hash* stuff
2009-05-02 23:34:04 +00:00
Reinhard Pointner d5a5b93b3b * introduction of a single unified Rename- and MatchModel
* arbitrary formating using Object (e.g. episode information) and File (e.g. codec information) data
* background formatting (e.g. crc32) and visual indicators in cellrenderer
2009-04-26 13:34:22 +00:00
Reinhard Pointner 54bf7c2ca3 * refactoring of ExpressionFormat and related classes 2009-04-25 07:59:08 +00:00
Reinhard Pointner 09a1e0b731 * updated tv.com page scraper (will now target episode guide page, instead of episode list page)
* add season-links to IMDbClient
* don't resolve & TVRageClient episode title
2009-04-25 07:57:14 +00:00
Reinhard Pointner 335cd401e1 * adjusted to changes in TV.com's html (episode list page) 2009-04-04 20:19:03 +00:00
Reinhard Pointner 7e6f485882 * improved episode format and format creation dialog
* differentiate between format errors and format warnings
2009-04-04 19:36:12 +00:00
Reinhard Pointner df143e0305 * added episode list support for IMDb 2009-03-17 21:59:19 +00:00
Reinhard Pointner 9ed970de05 * refactoring ...
* changed cmd line args (single panel frame)
* simplified multi panel frame
* changed window icon
* create panels via PanelBuilder
2009-03-14 00:30:24 +00:00
Reinhard Pointner 10a7fd5b4c * added "Edit Format" action to "Fetch Episode List" action popup in rename panel
* add support for episode array transferable to episode list panel and rename panel
* renamed ScriptFormat to ExpressionFormat
* misc. changes
2009-03-12 20:08:42 +00:00
Reinhard Pointner 2de1b8a1b0 * added ScriptFormat and format configuration dialog
* added names view (did miss it last commit)
2009-03-08 19:55:05 +00:00
Reinhard Pointner deb15a6e15 * install Format/Validate view between namesList and model.names()
* refactored Preferences wrapper and unit tests
2009-03-08 18:41:11 +00:00
Reinhard Pointner 2c5375914b * fix ambiguous (for sun javac at least) call of assertEquals 2009-02-28 18:24:23 +00:00
Reinhard Pointner d2f5c8e572 * simplify SubsceneSubtitleClient
* use less xpath to speed things up a little bit
2009-02-21 12:48:52 +00:00
Reinhard Pointner e643466653 * little bit of refactoring
* fixed unit-test
2009-02-17 18:11:33 +00:00
Reinhard Pointner 87e8d830ce * full support for multiple checksum types (SFV, MD5, SHA-1)
notes:
* updated to MigLayout 3.6.3
* better exception handling in *TransferablePolicy
* added checksum toggle button and artwork
* poperly cancel computation tasks on reset
* better "Total Progress" visibility behaviour
* improved checksum table model classes, better update/repaint behaviour
2009-02-15 12:20:43 +00:00
Reinhard Pointner 684a7512bc * support for SubtitleSource (www.subtitlesource.org)
refactoring:
* renamed XPathUtil
* use ConcurrentMap in LanguageResolver
2009-02-06 17:57:18 +00:00
Reinhard Pointner 7b61757fd7 * improved auto episode list matching 2009-02-03 20:36:57 +00:00
Reinhard Pointner f7fdc5b5db * improved SeriesNameMatcher
* slightly modified season episode regex
* added ehcache to fatjar build
2009-02-02 20:50:04 +00:00
Reinhard Pointner ac9473ff07 * automatic episode list download and matching in RenamePanel
* added SeriesNameMatcher
* added SeasonEpisodeMatcher
* access Preferences via new Settings class
* adapt TVDotComClient to site changes (episodes  no longer ordered in reverse)
* added ActionPopup (inspired by the eclipse quickfix popup)

refactoring:
* renamed *Util classes to *Utilities
* renamed HyperlinkLabel to LinkButton as it extends JButton now
* refactored FileBotUtilities and FileUtilities
2009-01-25 00:08:57 +00:00
Reinhard Pointner c5c12513fa * encapsulate the two rename Eventlists into RenameModel
* improved NameSimilarityMetric
* mostly refactoring
2009-01-17 11:03:09 +00:00
Reinhard Pointner c217d06eeb * ground up rewrite of the maching algorithm (I lovingly call it n:m multi-pass matching)
* added SeasonEpisodeSimilarityMetric which detects similarity based on known patterns
* moved everything similarity/maching related to net.sourceforge.filebot.similarity

Refactoring:
* refactoring of all the matching-related stuff in rename panel
* remove name2file and file2name maching selection because new maching algorithm works 2-ways from the start and doesn't need that hack
* added console handler to ui logger that will log ui warnings and ui errors to console too
* some refactoring on all SimilarityMetrics
* use Interrupts in analyze tools to abort operation
* refactoring of the rename process, if something goes wrong, we will now revert all already renamed files to their original filenames
* static LINE_SEPARATOR pattern in FileTransferablePolicy
* new maching icon, removed old ones
2009-01-11 21:23:03 +00:00
Reinhard Pointner 54b27e69b7 Changes:
* added TheTVDB support
* added ehcache to libs (now used in TheTVDBClient and TVRageClient)
* Season spinner will remember unlocked value

Refactoring:
* renamed HtmlUtil to WebRequest
* added getDocument() convenience methods to WebRequest
* added lots of static imports (XPathUtil, WebRequest, FileBotUtil, ...)
* TheTVDBClient and TVRageClient will throw SeasonOutOfBoundsException if for illegal season numbers
* XPathUtil will wrap NodeList with NodeListDecorator instead of creating a new ArrayList
* added DOM convenience methods to XPathUtil for performance reasons
* formatting of episode number in EpisodeListClient, EpisodeListRequestProcesser will take care of this
* added initial size to some StringBuilders
2009-01-04 18:28:28 +00:00
Reinhard Pointner 0bed877344 * heavy refactoring of AbstractSearchPanel, EpisodeListPanel and SubtitlePanel and related stuff
* added parameter to method in SubtitleClient interface
* fixed "stutter" issue in ProgressIndicator
* removed loading overlay progress indicator from tabs
* removed animated gifs
2009-01-01 22:27:53 +00:00
Reinhard Pointner 4c85cdce4a * moved Main and AllTests into from default to net.sourceforge.filebot package
* removed version identifier from lib jars
2008-12-31 20:11:27 +00:00
Reinhard Pointner e5ee870b73 * added unit test for TreeIterator and FilterIterator 2008-12-27 11:37:23 +00:00
Reinhard Pointner 7d7913bc1e * improved OpenSubtitlesHasherTest
* removed JUnit 3 test suit stubs
2008-12-21 17:47:35 +00:00
Reinhard Pointner bff6737b09 * added unit test for OpenSubtitlesHasher (forgot to actually add it ;) 2008-11-28 17:54:06 +00:00
Reinhard Pointner 987840580d * added unit test for OpenSubtitlesHasher 2008-11-28 17:53:12 +00:00
Reinhard Pointner 74b6a8c1a9 * improved DownloadTask and ByteBufferOutputStream
* added unit test for ByteBufferOutputStream
2008-11-22 15:30:33 +00:00
Reinhard Pointner 1208b6c924 * added unit test
* updated root folder ignore pattern
2008-10-07 16:55:17 +00:00
Reinhard Pointner 0c674849d8 * refactored and simplified transfer api
* use more GlazedLists stuff (EventList, AutoCompleteSupport) and remove obsolete classes (SimpleListModel, TextCompletion)
* don't use SearchResultCache in EpisodeListClient (was only done for better ui interactions)
* removed caching from ResourceManager
* some improvements based on FindBugs warnings
* use args4j for improved argument parsing
* updated ant build script
* more general MessageBus/Handler (use Object as message type instead of string)
* ChecksumComputationService is not a singleton anymore
* TemporaryFolder is always recreated if it is deleted by the user, or another instance shutting down
* Notifications flicker less when one window is removed and the others are layouted
* lots of other refactoring
2008-07-30 22:37:01 +00:00
Reinhard Pointner a341922a30 * don't select invalid nodes (tag links)
* test case for that
2008-07-12 20:47:37 +00:00
Reinhard Pointner 25e5bde57b some comments 2008-07-08 18:26:18 +00:00
Reinhard Pointner c525aa9ea0 * better search->redirect->results handling (subscene, anidb)
* refactoring ...
2008-07-07 23:38:17 +00:00
Reinhard Pointner 9eb74e8038 * heavily improved Subscene support (up to 35x faster) 2008-07-06 18:31:04 +00:00
Reinhard Pointner cd09a67c5e * heavily improved TV.com Client (better results, 2x - 4x faster)
* improved EpisodeListClient API
* unittests
2008-07-06 03:17:23 +00:00
Reinhard Pointner 1cab55e38c * removed test for removed class 2008-07-05 11:37:54 +00:00
Reinhard Pointner ea6a839aa8 * switched back to using List as return value for EpisodeList- and SubtitleClients (lazy XPath evaluation not needed anymore, because we are fast enough anyway) 2008-07-05 11:37:03 +00:00
Reinhard Pointner d1775cf1b4 * added number-pattern similarity metric
* improved name-matching, normalizing of names
* unit-test for new similarity metrics
* improved PreferencesList
* added EventList->List synchronizer
* included GlazedLists in build
2008-06-29 17:38:57 +00:00
Reinhard Pointner 2b4218ffce * TVRageClient uses the xml feeds now
* some testcases
2008-06-21 23:31:19 +00:00
Reinhard Pointner adb4d68055 * Lazy XPath evaluation for EpisodeList/Subtitle Clients
* AbstractSearchPanel (used in SubtitlePanel only so far)
* started using GlazedLists
* replaced searchtextfield with customized combobox (will be used for completion in the future)
* renamed FileFormat to FileUtil and move to tuned
* removed ESC shortcut
2008-06-21 19:24:18 +00:00
Reinhard Pointner 405f04b9dd * added JUnit
* added some unit tests
2008-06-09 18:41:06 +00:00