Commit Graph

187 Commits

Author SHA1 Message Date
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