Commit Graph

4145 Commits

Author SHA1 Message Date
Reinhard Pointner ececb1e645 Throttle AniDB to 1 request per 5 seconds, to strictly ensure "You should not request more than one page every two seconds."
https://wiki.anidb.net/w/HTTP_API_Definition#Anti_Leech_Protection
2019-05-22 18:19:05 +07:00
Reinhard Pointner e2992e9c09 Decorate 1 / ALL toggle button 2019-05-21 22:31:46 +07:00
Reinhard Pointner 6b198bdd4b TheTVDB numbering seems to be preferred over AniDB numbering these days:
https://www.filebot.net/forums/viewtopic.php?f=4&t=10740
2019-05-21 12:01:48 +07:00
Reinhard Pointner a22c519092 Fix Dark Mode layout issues 2019-05-21 02:49:17 +07:00
Reinhard Pointner 37f16de881 Dark Mode requires a little bit of extra min height 2019-05-21 01:29:11 +07:00
Reinhard Pointner 02d0497eae Use cp --reflink=auto for --action clone 2019-05-20 15:22:26 +07:00
Reinhard Pointner f391250830 REFLINK / CLONE may created empty files if REFLINK is not supported. This is bad.
REVERT: --action duplicate back the original behaviour of hardlink if possible, copy otherwise
2019-05-20 15:20:22 +07:00
Reinhard Pointner cb551d547e Fix --action duplicate behaviour for when --action clone is available and working 2019-05-20 15:11:27 +07:00
Reinhard Pointner a9285d53fd [!] Stream.count() may short-circuit and not traverse any elements at all.
@apiNote
An implementation may choose to not execute the stream pipeline (either sequentially or in parallel) if it is capable of computing the count directly from the stream source. In such cases no source elements will be traversed and no intermediate operations will be evaluated. Behavioral parameters with side-effects, which are strongly discouraged except for harmless cases such as debugging, may be affected. For example, consider the following stream:

List<String> l = Arrays.asList("A", "B", "C", "D");
long count = l.stream().peek(System.out::println).count();

The number of elements covered by the stream source, a List, is known and the intermediate operation, peek, does not inject into or remove elements from the stream (as may be the case for flatMap or filter operations). Thus the count is the size of the List and there is no need to execute the pipeline and, as a side-effect, print out the list elements.
2019-05-20 13:13:12 +07:00
Reinhard Pointner 6fb43e79b7 Add File.getDisplaySize() extension method 2019-05-20 00:28:21 +07:00
Reinhard Pointner 175b4df976 Stick to 1nd pass with Manami 2019-05-19 20:28:03 +07:00
Reinhard Pointner c9478ffeba Allow `*.groovy` files as argument value for `--format`, `--filter` and `--file-filter` CLI options (e.g. `--format /path/to/MyFormat.groovy`) 2019-05-19 18:54:58 +07:00
Reinhard Pointner e3ff4525c0 Allow `*.groovy` files as argument value for `--format`, `--filter` and `--file-filter` CLI options (e.g. `--format /path/to/MyFormat.groovy`) 2019-05-19 18:41:46 +07:00
Reinhard Pointner 98799eb827 2nd pass without Manami 2019-05-19 13:16:35 +07:00
Reinhard Pointner 1ebe2a350c Refactor Manami 2019-05-19 13:16:14 +07:00
Reinhard Pointner 616f361b0b Added -no-history switch 2019-05-19 12:47:17 +07:00
Reinhard Pointner e35e905fa9 Streamify --filter --format -exec pipeline 2019-05-19 04:01:12 +07:00
Reinhard Pointner 9bc0871b92 Streamify --filter --format -exec pipeline 2019-05-19 03:54:01 +07:00
Reinhard Pointner 8b71eda926 Make --format -exec pipeline more stateless 2019-05-19 03:52:33 +07:00
Reinhard Pointner 2838a8f976 Streamify --filter --format -exec pipeline 2019-05-19 03:48:10 +07:00
Reinhard Pointner a11b405931 Streamify --filter --format -exec pipeline 2019-05-19 03:30:53 +07:00
Reinhard Pointner 318e9af191 Implement non-manami artwork support as well just in case 2019-05-18 23:52:36 +07:00
Reinhard Pointner f4ff6b10dd Implement non-manami artwork support as well just in case 2019-05-18 23:51:41 +07:00
Reinhard Pointner d5e21795e4 Require non-place holder URIs 2019-05-18 23:11:12 +07:00
Reinhard Pointner 785072f159 Check dead entries 2019-05-18 22:46:27 +07:00
Reinhard Pointner 6239dbb1c8 Experiment with artwork thumbnail support 2019-05-18 21:07:56 +07:00
Reinhard Pointner ed1a0fa09c Experiment with artwork thumbnail support 2019-05-18 20:48:36 +07:00
Reinhard Pointner 45e491e962 Fix copy & paste programming 2019-05-18 20:27:32 +07:00
Reinhard Pointner d28df06818 Allow custom parallelism for formats 2019-05-18 02:26:57 +07:00
Reinhard Pointner b6251a7aa5 Allow custom parallelism for formats 2019-05-18 02:15:52 +07:00
Reinhard Pointner 468ded44aa Cache MediaInfo objects for up to 20 minutes to make sure we benefit from cached information even when processing files on network drives, especially when --filter is used followed by --format with lots of MediaInfo bindings.
https://www.filebot.net/forums/viewtopic.php?f=6&p=44112#p44111
2019-05-18 01:40:32 +07:00
Reinhard Pointner 79ee700001 Experiment with @2x artwork thumbnail support 2019-05-17 19:03:19 +07:00
Reinhard Pointner fadebfae61 Better upscale icons to @3x or @4x (if necessary) 2019-05-17 18:10:31 +07:00
Reinhard Pointner fab38b54a1 Use the same key type for all cache entries 2019-05-17 00:03:35 +07:00
Reinhard Pointner 674170a250 Experiment with @2x artwork thumbnail support 2019-05-16 23:19:42 +07:00
Reinhard Pointner 6f0e424414 Experiment with @2x artwork thumbnail support 2019-05-16 22:59:13 +07:00
Reinhard Pointner a69f51036c Experiment with @2x artwork thumbnail support 2019-05-16 22:55:45 +07:00
Reinhard Pointner fdec4090d2 Load multi-resolution images only if necessary 2019-05-16 20:45:00 +07:00
Reinhard Pointner a05ab703ff Require Movie / Episode category files to be video files 2019-05-15 21:21:35 +07:00
Reinhard Pointner ded4b33ca6 Add movie / series / episode extension properties to the built-in help 2019-05-15 10:13:12 +07:00
Reinhard Pointner 015314e5f5 Added {cy} collection years binding and {movie.collection} extension method 2019-05-15 10:04:23 +07:00
Reinhard Pointner f3308493f7 Ensure JNA 4.x compatibility (i.e. use JNA package on Linux) 2019-05-14 18:49:58 +07:00
Reinhard Pointner 744f61a291 Prefer direct descendant video files when formatting folder objects
https://www.filebot.net/forums/viewtopic.php?f=8&t=10797
2019-05-12 02:11:41 +07:00
Reinhard Pointner f58cffda34 Dark Mode fine-tuning 2019-05-08 23:26:41 +07:00
Reinhard Pointner 93a41a41f1 Enable dark mode by default if dark mode is set system-wide 2019-05-08 10:32:53 +07:00
Reinhard Pointner 7b6d154392 Use both "Channel(s)_Original" or "Channel(s)" just use the first one that actually has a valid value.
https://www.filebot.net/forums/viewtopic.php?f=5&t=10773&p=43876#p43869
2019-05-07 03:25:55 +07:00
Reinhard Pointner 570e5ecbee Use both "Channel(s)_Original" or "Channel(s)" just use the first one that actually has a valid value.
https://www.filebot.net/forums/viewtopic.php?f=5&t=10773&p=43876#p43869
2019-05-07 03:17:17 +07:00
Reinhard Pointner bc25174fdc Implement XEM API 2019-05-06 19:54:12 +07:00
Reinhard Pointner 4b674db342 Implement XEM API 2019-05-06 17:28:30 +07:00
Reinhard Pointner d0598ea9b9 Don't require minimum file size when using MediaInfo on small files (e.g. image files) 2019-05-06 15:50:20 +07:00
Reinhard Pointner 63aab06d3f shared HTTP Client instance for all thumbnail requests 2019-05-05 15:43:18 +07:00
Reinhard Pointner 8380ed9f3c Improved logging 2019-05-05 12:41:13 +07:00
Reinhard Pointner 3db219f1fb Experiment with artwork thumbnail support 2019-05-05 12:23:31 +07:00
Reinhard Pointner 72f2f68d0e Private lock 2019-05-05 04:59:59 +07:00
Reinhard Pointner 27095c51d0 Add blank thumbnail if poster is not available 2019-05-05 04:47:13 +07:00
Reinhard Pointner ea583295f3 Generate index file 2019-05-05 00:34:49 +07:00
Reinhard Pointner fdc2b6e473 Work around Java 11 HTTP Client TLS 1.3 bugs 2019-05-04 22:55:29 +07:00
Reinhard Pointner bb686b5a27 Experiment with artwork thumbnail support 2019-05-04 19:15:56 +07:00
Reinhard Pointner 04d8e94a3c Add logging to debug parallel requests 2019-05-04 18:34:08 +07:00
Reinhard Pointner 9ee9ed8fbc Add caching 2019-05-04 18:19:33 +07:00
Reinhard Pointner a19aa76369 Add caching 2019-05-04 18:18:50 +07:00
Reinhard Pointner 58ee860cc4 Add caching 2019-05-04 18:12:13 +07:00
Reinhard Pointner 3acc1a947c Experiment with artwork thumbnail support 2019-05-04 17:26:29 +07:00
Reinhard Pointner d72b7f490d Support for 8-digit Movie IDs 2019-05-03 19:39:32 +07:00
Reinhard Pointner add37ae1dc Update default banner mirror 2019-05-02 03:03:15 +07:00
Reinhard Pointner c2090273d9 Improved logging 2019-05-01 17:07:06 +07:00
Reinhard Pointner 672c015696 + Add {history} binding to access the original historic path of {f} (e.g. useful for -exec post-processing calls) 2019-04-30 19:50:58 +07:00
Reinhard Pointner c9876e093e make sure that the popup window displays above the task bar 2019-04-30 19:25:09 +07:00
Reinhard Pointner 38d9af01fe Fix readability 2019-04-30 15:31:03 +07:00
Reinhard Pointner aefda884a7 Fix readability 2019-04-30 15:24:31 +07:00
Reinhard Pointner 36236c1363 Collect more data from TheTVDB search queries (to maybe present better options to the user, including years and banners) 2019-04-28 17:44:46 +07:00
Reinhard Pointner 7d4e34ec47 Collect more data from TheTVDB search queries (to maybe present better options to the user, including years and banners) 2019-04-28 17:32:46 +07:00
Reinhard Pointner 086bd41552 Collect more data from TheTVDB search queries (to maybe present better options to the user, including years and banners) 2019-04-28 12:50:53 +07:00
Reinhard Pointner 3f2a8ee5a6 Support "guarded expressions" when concatting String values.
e.g. {"[" + {n} + " " + {s00e00} + "]"}

https://www.filebot.net/forums/viewtopic.php?f=8&t=10719
2019-04-24 14:44:09 +07:00
Reinhard Pointner 2911ea488a Move DSL utilities 2019-04-24 13:58:41 +07:00
Reinhard Pointner 13cfca422c Group by Movie (rather than MoviePart)
https://www.filebot.net/forums/viewtopic.php?f=5&t=10716
2019-04-23 19:50:58 +07:00
Reinhard Pointner b449bcec3c Keep preferences.backup.xml around for good (not generally necessary, might be really appreciated by the occasional user) 2019-04-23 03:36:14 +07:00
Reinhard Pointner 7fcfe895a7 Allow / in Preferences Keys (e.g. for custom preset names)
https://www.filebot.net/forums/viewtopic.php?f=6&t=10713
2019-04-22 16:58:05 +07:00
Reinhard Pointner 18ad7b4561 Return destination file path (if sensible) so xattr & history integration works out of the box for simple use cases 2019-04-21 01:25:21 +07:00
Reinhard Pointner f9b5e3a2a0 Store prefs backup every 30 days 2019-04-19 15:26:51 +07:00
Reinhard Pointner b3f9e3f45b REVERT @see https://www.filebot.net/forums/viewtopic.php?p=43064#p43064 2019-04-02 01:04:58 +07:00
Reinhard Pointner 9616bbf427 Add BluRay3D to {source} pattern 2019-04-01 14:29:06 +07:00
Reinhard Pointner f36ba9a44a Fix sysinfo output 2019-03-17 16:28:02 +07:00
Reinhard Pointner fd982ab790 Add MediaCharacteristics.getSubtitleLanguage() 2019-03-17 12:39:14 +07:00
Reinhard Pointner 504bb1132d Refactor system exec 2019-03-15 22:44:39 +07:00
Reinhard Pointner ed0aa79f9f Avoid false positives 2019-03-15 15:17:15 +07:00
Reinhard Pointner 078543d1e9 Refactor system exec 2019-03-15 14:33:16 +07:00
Reinhard Pointner 3fa0530da9 Refactor system exec 2019-03-15 14:19:00 +07:00
Reinhard Pointner 45528ef212 Factor in video resolution as well as bitrate 2019-03-15 13:35:14 +07:00
Reinhard Pointner 53f23c8acf Add BitRate to MediaCharacteristics 2019-03-15 13:31:33 +07:00
Reinhard Pointner 3007df1a8f Improved SxE sanity checks 2019-03-15 12:33:46 +07:00
Reinhard Pointner 1aba8ecb9b Strip HD720P patterns 2019-03-15 12:10:22 +07:00
Reinhard Pointner a81d1ae9dc Make sure to create output folder before calling extract() operations 2019-03-12 22:21:05 +07:00
Reinhard Pointner 88388f347f Make sure to create output folder before calling extract() operations 2019-03-12 22:16:25 +07:00
Reinhard Pointner ecac7979f2 Possibly improve error output 2019-03-12 22:00:29 +07:00
Reinhard Pointner ab52370635 Ignore original REPACK tag if new better file comes along later on 2019-03-12 11:39:06 +07:00
Reinhard Pointner d3fad8f3c1 Cleanup 2019-03-12 00:31:05 +07:00
Reinhard Pointner dbfe0cc9ef MetricCascade(SeasonEpisode, AirDate, Title) 2019-03-11 19:47:49 +07:00
Reinhard Pointner 7b971fd34c Store user preferences backup only once every ~3 months 2019-03-11 17:35:14 +07:00
Reinhard Pointner 569575db0d Add {mbps} to default -mediainfo format 2019-03-11 16:53:00 +07:00
Reinhard Pointner 7c20fc1ab9 Add additional logging output so user can see exactly where the license file was stored to (i.e. which users user home) 2019-03-11 01:12:30 +07:00
Reinhard Pointner 1629352881 Add additional logging output so user can see exactly where the license file was stored to (i.e. which users user home) 2019-03-11 01:08:11 +07:00
Reinhard Pointner 621655a532 Improved error logging 2019-03-08 14:53:29 +07:00
Reinhard Pointner e5296ca6f4 Improved error logging 2019-03-08 14:51:21 +07:00
Reinhard Pointner d0c25c6b3e Make sure absolute paths work on Linux / Unix as well 2019-03-08 00:05:02 +07:00
Reinhard Pointner 23df26fad4 Add net.filebot.TheMovieDB.url and net.filebot.TheMovieDB.adult system properties for advanced customization of TheMovieDB API access 2019-03-07 18:07:34 +07:00
Reinhard Pointner 63f5775ada Support for non-default TheTVDBv2 API mirrors (possibly useful in China where *.thetvdb.com is blocked) 2019-03-07 17:26:57 +07:00
Reinhard Pointner 4979de00f7 Backwards compatibility: Make sure String.replaceAll(String) defaults to String.replaceAll(String, "") 2019-03-07 11:09:03 +07:00
Reinhard Pointner 8390e65ee9 Refactor error messages / kaomoji 2019-03-07 10:45:09 +07:00
Reinhard Pointner bcd179c36f Add {fps} (as BigDecimal) convenience binding 2019-03-02 20:47:23 +07:00
Reinhard Pointner 0cec27c7bb Ensure p7zip Version 9.20 compatibility 2019-03-01 16:46:07 +07:00
Reinhard Pointner d856933588 Support for using 7z and unrar tools 2019-03-01 14:41:50 +07:00
Reinhard Pointner 21693b0117 access denied ("java.io.FilePermission" "/mnt/ext/opt/medialibrary/bin/ffprobe" "execute") 2019-03-01 04:34:34 +07:00
Reinhard Pointner 9dd32ecbfa Support for using 7z and unrar tools 2019-03-01 03:23:27 +07:00
Reinhard Pointner e96251f956 Fix various Dark Mode issues 2019-02-28 16:17:22 +07:00
Reinhard Pointner a979dfdca5 Fix various Dark Mode issues 2019-02-28 15:39:07 +07:00
Reinhard Pointner 9dd8044097 Fix various Dark Mode issues 2019-02-28 15:18:37 +07:00
Reinhard Pointner 8aa798318a Split music category tags like "hardrock;Hard Rock" as one would expect 2019-02-28 11:41:59 +07:00
Reinhard Pointner e55993c914 Fix various Dark Mode issues 2019-02-28 01:47:46 +07:00
Reinhard Pointner 8854b6707d Fix various Dark Mode issues 2019-02-28 01:42:26 +07:00
Reinhard Pointner 35f8317fd3 Fix various Dark Mode issues 2019-02-27 23:18:57 +07:00
Reinhard Pointner 7836249b1a Fix various Dark Mode issues 2019-02-27 22:58:09 +07:00
Reinhard Pointner 2cade64f44 Fix various Dark Mode issues 2019-02-27 22:28:03 +07:00
Reinhard Pointner 0f5157da05 Fix MAS build 2019-02-27 10:45:28 +07:00
Reinhard Pointner 02545ba78c Make --def name=value sanity check less strict 2019-02-26 14:34:11 +07:00
Reinhard Pointner 9d08f5f192 az.match('[a-f]': '/volume1', '[g-x]': '/volume2') ?: '/volume3' 2019-02-26 14:02:04 +07:00
Reinhard Pointner 37bce60df2 Fix Java 8 compatibility 2019-02-26 12:55:03 +07:00
Reinhard Pointner e5f3596347 Read user-defined Java System Properties from ~/.filebot/system.properties 2019-02-26 12:21:10 +07:00
Reinhard Pointner 0815aa6532 Refactor PanelBuilder[] 2019-02-26 12:20:26 +07:00
Reinhard Pointner 1cf72f24e7 Use -Dcloud.google.geocode=apikey for custom Google Cloud API key 2019-02-26 12:18:53 +07:00
Reinhard Pointner 88ae911c4f Use the Nimbus Dark Blue as List/ComboBox selection color for Darcula LaF (the default blue is too bright) 2019-02-25 18:47:03 +07:00
Reinhard Pointner 08ba94d2f3 Support for setting the Lanternal TextUI theme via -Dnet.filebot.cli.theme 2019-02-25 10:11:30 +07:00
Reinhard Pointner 2cf7982ed5 Parse -Dnet.filebot.theme case-insensitively 2019-02-25 10:10:55 +07:00
Reinhard Pointner 123d9ce859 Add dark theme for syntax editor 2019-02-24 16:47:43 +07:00
Reinhard Pointner e49fc7879a Use -Dnet.filebot.theme as theme (or default to System otherwise) 2019-02-24 16:46:59 +07:00
Reinhard Pointner 1c24c892a1 Refactor hard-coded colours into ThemeSupport 2019-02-24 16:46:12 +07:00
Reinhard Pointner 5d19b9c2c1 Document only CLI options 2019-02-24 16:44:22 +07:00
Reinhard Pointner 9e23e6dd55 Refactor hard-coded colours into ThemeSupport 2019-02-24 15:16:45 +07:00
Reinhard Pointner 3604b504a4 Refactor hard-coded colours into ThemeSupport 2019-02-24 15:10:34 +07:00
Reinhard Pointner 6bb142bb8e Refactor hard-coded colours into ThemeSupport 2019-02-24 14:37:37 +07:00
Reinhard Pointner a8af9ad372 setDarculaLookAndFeel 2019-02-24 14:36:52 +07:00
Reinhard Pointner 6856275a42 Refactor ExpressionFormatMethods 2019-02-23 17:20:31 +07:00
Reinhard Pointner df33e64eb9 ExitCode 2019-02-23 17:14:47 +07:00
Reinhard Pointner c069d29e67 Support for GEOCODE APIKEY 2019-02-22 23:43:13 +07:00
Reinhard Pointner abf208c625 Support for GEOCODE APIKEY 2019-02-22 22:41:10 +07:00
Reinhard Pointner c91aad1eec Add {id} to the example bindings 2019-02-22 22:29:12 +07:00
Reinhard Pointner 48d7ad91de f, f.name 2019-02-22 20:45:27 +07:00
Reinhard Pointner 6a1bdee826 Fix {mime} example 2019-02-22 20:28:37 +07:00
Reinhard Pointner 17c94baeca Best effort to make {aco} work on different versions of libmediainfo (if possible) 2019-02-22 19:42:09 +07:00
Reinhard Pointner 8c8e1045fb Add String.initialName() for "James Cameron" ➔ "J. Cameron" 2019-02-22 18:57:52 +07:00