1
0
mirror of https://github.com/mitb-archive/filebot synced 2024-08-13 17:03:45 -04:00
Commit Graph

4021 Commits

Author SHA1 Message Date
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
Reinhard Pointner
f8e3c3460d Refactor and extend new ExitCode logic 2019-02-21 21:10:24 +07:00
Reinhard Pointner
111e4661d9 NO_OPERATION = 10; 2019-02-21 20:48:24 +07:00
Reinhard Pointner
adf3007372 Add default string representation for args object 2019-02-21 20:48:16 +07:00
Reinhard Pointner
164e6bc28e Add more fine-grained exit codes 2019-02-21 16:52:22 +07:00
Reinhard Pointner
5402374d32 Use Exit Code 4 when aborting a script via die() 2019-02-21 16:16:52 +07:00
Reinhard Pointner
7dd7908435 Enable workflow service menu 2019-02-21 02:13:54 +07:00
Reinhard Pointner
538378a9b0 Remove Facebook / Twitter links 2019-02-21 02:13:38 +07:00
Reinhard Pointner
5b87038f29 Workflows 2019-02-21 00:51:07 +07:00
Reinhard Pointner
01807285ed Refactor argument passing for mac app 2019-02-20 21:23:49 +07:00
Reinhard Pointner
0892aed310 Remove JDK 6 compatibility code 2019-02-20 19:48:21 +07:00
Reinhard Pointner
5cce75c0b9 Use any lazy Object::toString as message 2019-02-20 19:47:40 +07:00
Reinhard Pointner
2dea2091d4 DUPLICATE:
1. try to clone
2. try to hardlink
3. copy if necessary
2019-02-20 19:35:56 +07:00
Reinhard Pointner
96bd0c0d79 Enable SHA-3 support (Java 11 only) 2019-02-20 02:21:55 +07:00
Reinhard Pointner
b01e0f3dc8 Remove ED2K support 2019-02-20 02:21:08 +07:00
Reinhard Pointner
3f3643ad71 Refactor bencode / torrent parser 2019-02-20 02:09:51 +07:00
Reinhard Pointner
a63556e3f4 flush all memory caches to disk (before starting any long running file system operations that might be cancelled by the user) 2019-02-19 01:13:53 +07:00
Reinhard Pointner
267bf133f6 flush all memory caches to disk (before starting any long running file system operations that might be cancelled by the user) 2019-02-18 18:13:19 +07:00
Reinhard Pointner
6229709825 Add flushAll() method for testing 2019-02-18 15:53:49 +07:00
Reinhard Pointner
acd1f0fa64 Refactor File DnD (and assume that "java.io.IOException: Owner failed to convert data" is normal during the DnD process and can be ignored) 2019-02-17 19:12:27 +07:00
Reinhard Pointner
9fb947bbfd Refactor File DnD (and assume that "java.io.IOException: Owner failed to convert data" is normal during the DnD process and can be ignored) 2019-02-17 19:11:30 +07:00
Reinhard Pointner
a4c3ac9faa Refactor File DnD (and assume that "java.io.IOException: Owner failed to convert data" is normal during the DnD process and can be ignored) 2019-02-17 19:09:38 +07:00
Reinhard Pointner
d3d78cb09c Refactor File DnD (and assume that "java.io.IOException: Owner failed to convert data" is normal during the DnD process and can be ignored) 2019-02-17 19:07:32 +07:00
Reinhard Pointner
5cec6f5162 Make sure "WARNING: Owner failed to convert data" doesn't fill up the error.log with useless messages that seem to happen all the time, don't matter, and are just confusing for new users. 2019-02-17 18:39:21 +07:00
Reinhard Pointner
c9c4e84ee4 Best effort to avoid cache corruption if process is killed or crashes 2019-02-17 18:30:16 +07:00
Reinhard Pointner
5777a700bc Improved default logging (for GUI users) 2019-02-17 18:22:08 +07:00
Reinhard Pointner
d3f1bdde15 Update log levels 2019-02-17 18:14:40 +07:00
Reinhard Pointner
5f5ee11004 Disable default copy & paste support in panel selection list 2019-02-16 21:48:50 +07:00
Reinhard Pointner
6bbea7d075 Formatting 2019-02-15 14:08:37 +07:00
Reinhard Pointner
a620f3f206 Fix unused import 2019-02-14 17:37:52 +07:00
Reinhard Pointner
cce9ba8c2b Make sure cache is not stale 2019-02-14 17:37:01 +07:00
Reinhard Pointner
afe75b430a Use separate cache to make sure we don't loose the cache on abort. 2019-02-14 17:10:52 +07:00
Reinhard Pointner
6aa65ce3d6 Unify long-term caches 2019-02-12 00:03:16 +07:00
Reinhard Pointner
580f2bd8f4 Make sure not to expose public locks 2019-02-11 14:34:02 +07:00
Reinhard Pointner
f0e3b5fa46 Make sure to preserve intended order 2019-02-11 14:16:14 +07:00
Reinhard Pointner
6092dae7bd Set headers in fixed order 2019-02-11 14:13:44 +07:00
Reinhard Pointner
ae989ee990 Refactor, Streamify 2019-02-11 14:12:04 +07:00
Reinhard Pointner
4e1f7104d0 Change button order 2019-02-09 20:39:21 +07:00
Reinhard Pointner
b38f9a3ddb Use Caffeine for in-memory caching 2019-02-07 13:27:04 +07:00
Reinhard Pointner
1a6994c491 Improved debug logging 2019-02-05 15:31:44 +07:00
Reinhard Pointner
431966cbbd Cache null values properly 2019-02-05 15:10:36 +07:00
Reinhard Pointner
d0c77c65fc Refactor EpisodeMetrics / SubtitleMetrics to make sure nothing is static so that GC can do it's job (i.e. fix memory leaks) 2019-02-05 14:45:57 +07:00
Reinhard Pointner
cf2c7785cc Don't cache parser results forever 2019-02-05 13:28:19 +07:00
Reinhard Pointner
8deb784419 Fix regression issue: com.google.common.cache.CacheLoader$InvalidCacheLoadException: CacheLoader returned null for key 2019-02-05 12:57:04 +07:00
Reinhard Pointner
241931f28b Don't cache video properties forever 2019-02-05 12:56:37 +07:00
Reinhard Pointner
42d678527b Don't cache video properties forever 2019-02-05 12:44:12 +07:00
Reinhard Pointner
fb31146c17 No need to initialize for 64 years of local index 2019-02-05 12:42:55 +07:00
Reinhard Pointner
25d92211eb Fix regression issue: com.google.common.cache.CacheLoader$InvalidCacheLoadException: CacheLoader returned null for key 2019-02-05 12:29:27 +07:00
Reinhard Pointner
aa0ba70848 Use Guava Cache for in-memory caches 2019-02-03 01:56:01 +07:00
Reinhard Pointner
342ced903d Improved support for read / writing CRC32 checksum to / from xattr (and enable by default) 2019-02-03 01:44:17 +07:00
Reinhard Pointner
501bb8f709 Use Guava Cache for in-memory caches 2019-02-03 01:37:17 +07:00
Reinhard Pointner
9ef4669f6f Expire cached items after 5 minutes 2019-02-02 23:04:39 +07:00
Reinhard Pointner
9fda2cff15 Fix docs 2019-02-02 22:25:11 +07:00
Reinhard Pointner
50a5d9779f Simplify 2019-02-02 22:23:24 +07:00
Reinhard Pointner
2c53176439 Fix backwards compatibility 2019-02-01 16:42:07 +07:00
Reinhard Pointner
edd1618849 Fix regex look-ahead / look-behind issues (esp. to fix 01v2 numeric matching issues) 2019-01-31 20:46:02 +07:00
Reinhard Pointner
9e0366bd64 Fix regex look-ahead / look-behind issues 2019-01-31 20:44:23 +07:00
Reinhard Pointner
c34e4d676b Fix various AutoDetection issues 2019-01-31 19:17:42 +07:00
Reinhard Pointner
bb09c102cc Declutter detailed log output 2019-01-31 18:32:56 +07:00
Reinhard Pointner
fb5c332bc5 Declutter detailed log output 2019-01-31 18:27:47 +07:00
Reinhard Pointner
50f7eb8439 Fix various AutoDetection issues 2019-01-31 18:03:46 +07:00
Reinhard Pointner
473f6a4992 Fix various AutoDetection issues 2019-01-31 18:00:19 +07:00
Reinhard Pointner
9a228e6927 Refactor string similarity code 2019-01-30 23:30:59 +07:00
Reinhard Pointner
dfa4f78448 Fix various AutoDetection issues 2019-01-30 23:05:23 +07:00
Reinhard Pointner
41fbc3516c Improved logging for AutoDetection 2019-01-30 00:25:15 +07:00
Reinhard Pointner
0531204e88 Fix various AutoDetection issues 2019-01-30 00:03:59 +07:00
Reinhard Pointner
fdce2c8c72 Optimize TMDB local index search 2019-01-29 19:04:06 +07:00
Reinhard Pointner
e3ee25879b Preserve group order according to original file order 2019-01-29 04:07:43 +07:00
Reinhard Pointner
af498ecd47 Fix NPE caused by series name being null 2019-01-29 02:27:51 +07:00
Reinhard Pointner
22a9f01760 Add File.getMediaCharacteristics() extension method 2019-01-29 00:20:39 +07:00
Reinhard Pointner
2b1585bca9 amc-universal script extensions 2019-01-28 23:56:12 +07:00
Reinhard Pointner
ce2bfbb177 Improved output logging if --conflict override is used in combination with --action test 2019-01-28 21:31:10 +07:00
Reinhard Pointner
51072a2c40 Refactor MediaCharacteristics so we can switch between implementations easily 2019-01-28 21:08:24 +07:00
Reinhard Pointner
e4abc0afb4 Add --action AbsoluteAirdate to man page 2019-01-27 12:07:36 +07:00
Reinhard Pointner
71e0033cfc Add --db TheMovieDB::TV to man page 2019-01-27 11:41:33 +07:00
Reinhard Pointner
8aee1e9e85 Improved support for File DnD on Linux if File URIs are not escaped correctly (i.e. contain literal [ or ] in the File URI which is not allowed as per URI spec).
See https://www.filebot.net/forums/viewtopic.php?f=11&t=9651
2019-01-23 15:36:53 +07:00
Reinhard Pointner
4f26f4ec3d Support for adding timestamps to logging output via -Dnet.filebot.logging.time=true 2019-01-16 18:51:11 +07:00
Reinhard Pointner
11c899fddd Use more platform-independent code for our video quality comparator (e.g. based on libmediainfo or ffprobe depending on configuration) to make sure --conflict auto works as expected on platforms where libmediainfo doesn't work 2019-01-15 23:37:26 +07:00
Reinhard Pointner
86391a7f78 Force and Restore source last modified timestamp only if it was (possibly) changed by writing xattr metadata 2019-01-08 22:57:56 +07:00
Reinhard Pointner
d194ebee73 If MOVE is used, then don't Preserve Last Modified because source / destination file is the same, so time stamp can't be transferred from now non-existing source file 2019-01-08 11:03:18 +07:00
Reinhard Pointner
d15a250644 If MOVE is used, then don't Preserve Last Modified because source / destination file is the same, so time stamp can't be transferred from now non-existing source file 2019-01-05 13:54:48 +07:00
Reinhard Pointner
103dd239c2 access episode list and find minimum airdate if necessary 2019-01-01 14:05:47 +07:00
Reinhard Pointner
dc1b8a41a0 Set .xattr folder hidden on Windows 2018-12-31 13:09:45 +07:00
Reinhard Pointner
4a090ff576 Set .xattr folder hidden on Windows 2018-12-31 13:03:07 +07:00
Reinhard Pointner
be7f86bf98 Make it clear that inferredMediaFile is used here 2018-12-31 12:07:33 +07:00
Reinhard Pointner
bba9ca4e8a Fix import 2018-12-30 14:42:58 +07:00
Reinhard Pointner
5ce426daed Fix import 2018-12-30 14:40:22 +07:00
Reinhard Pointner
61b551a37b Refactor and modularize xattr read/write access 2018-12-27 19:00:42 +07:00
Reinhard Pointner
5cdf6e4311 Refactor and modularize xattr read/write access 2018-12-27 18:51:24 +07:00
Reinhard Pointner
3daac8a72e Experiment with extattr commands for limited xattr support on *BSD 2018-12-27 04:36:27 +07:00
Reinhard Pointner
c93a85c82f Experiment with extattr commands for limited xattr support on *BSD 2018-12-27 03:36:15 +07:00
Reinhard Pointner
b8cb731d8b Reorder Type filters 2018-12-22 17:35:17 +07:00
Reinhard Pointner
62e276a9cf Add File.isClutter() extension method. 2018-12-20 18:38:44 +07:00
Reinhard Pointner
dd95a40d11 Add "Move to Trash" action to Filter Tools and add additional type filters that might come in handy when batch deleting clutter files 2018-12-20 18:22:53 +07:00
Reinhard Pointner
4b3ac80a88 MAS does not support or allow command-line applications and may run executables with strange arguments for no apparent reason (e.g. filebot.launcher -psn_0_774333) so we ignore arguments completely in this case 2018-12-17 16:43:02 +07:00
Reinhard Pointner
7213220c86 Make sure to preserve Last Modified date after renamed and xattr-tagging files (and use last modified date for abuse sanity checks as well to reduce false positives) 2018-12-15 13:46:27 +07:00
Reinhard Pointner
05700c63c6 // try to place embedded media title first 2018-12-06 15:35:05 +07:00
Reinhard Pointner
49b22e4137 Extended MediaCharacteristics common interface 2018-12-06 14:58:53 +07:00
Reinhard Pointner
2093882034 Extended MediaCharacteristics common interface 2018-12-06 14:56:26 +07:00
Reinhard Pointner
b2438ec6a1 Use embedded media title for filename-based bindings such as {group} {source} etc via libmediainfo 2018-12-05 22:41:55 +07:00
Reinhard Pointner
172c4954df Refactor license key import handling 2018-12-05 19:24:18 +07:00
Reinhard Pointner
9496ce6f10 Add {ci} collection index binding 2018-12-03 20:00:27 +07:00
Reinhard Pointner
6acd4b62ec Add {ci} collection index binding 2018-12-03 19:07:29 +07:00
Reinhard Pointner
a7c736d40b Fix dateutil methods in case groovy extension methods dont work 2018-12-03 03:23:37 +07:00
Reinhard Pointner
1710681ff6 Fix dateutil methods in case groovy extension methods dont work 2018-12-03 03:19:54 +07:00
Reinhard Pointner
789ee97212 Revert "Remove groovy dateutil hack"
dateutil extension still doesn't just work automatically for some unknown reason, so we need to keep forcing it
2018-12-03 03:06:49 +07:00
Reinhard Pointner
75fd182529 Remove groovy dateutil hack 2018-12-03 02:44:38 +07:00
Reinhard Pointner
e0dfd33af1 Remove junrar hack 2018-12-03 02:44:24 +07:00
Reinhard Pointner
f6efdbced8 Keyboard navigation doesn't work right unless there's a null token to end the line.
https://www.filebot.net/forums/viewtopic.php?f=6&t=9511&p=40230#p40230
2018-12-02 01:48:10 +07:00
Reinhard Pointner
eb8c5d850b Fix UI message 2018-12-02 00:03:51 +07:00
Reinhard Pointner
6dab4f8036 Make sure things work and compile with JDK8 2018-12-01 23:58:37 +07:00
Reinhard Pointner
fa491ce4c8 Make sure things work and compile with JDK8 2018-12-01 23:47:27 +07:00
Reinhard Pointner
cf3bc3802b Keyboard navigation doesn't work right unless there's a null token to end the line.
https://www.filebot.net/forums/viewtopic.php?f=6&t=9511&p=40230#p40230
2018-12-01 23:29:14 +07:00
Reinhard Pointner
7c7a2a54bf Support license activation via clipboard 2018-12-01 14:41:05 +07:00
Reinhard Pointner
e3877dcffb Refactor license parser 2018-12-01 14:00:50 +07:00
Reinhard Pointner
671703adb2 REVERT to avoid side effects and undocumented features 2018-12-01 04:20:03 +07:00
Reinhard Pointner
32abb2263c Support license activation via clipboard 2018-12-01 04:13:01 +07:00
Reinhard Pointner
35484ac730 If FileBot is called with --license with an interactive console, then force console license activation (to avoid issues when the GUI starts up but X is screwed up on some Linux systems, thus crashing on startup, failing to activate the license) 2018-11-29 01:55:03 +07:00
Reinhard Pointner
2dcb3ca2fc Fix license activation issues on headless machines 2018-11-29 01:50:56 +07:00
Reinhard Pointner
7b683f345a Fix APPX build 2018-11-24 03:01:59 +07:00
Reinhard Pointner
71f2262ddf Add keyboard shortcut F1 to FormatDialog to toggle the help / examples panel ON and OFF (to allow more space for large custom formats) 2018-11-23 15:51:00 +07:00
Reinhard Pointner
7ea854dcd1 Revert to -Dnet.filebot.Archive.7z=/path/to/7z to fix backwards compatibility issues 2018-11-19 22:26:19 +07:00
Reinhard Pointner
f5afeb6112 Strip JFX 2018-11-18 21:28:14 +07:00
Reinhard Pointner
6e8359913b Support Kodi Naming Standard (i.e. same as Plex, but with SxE and non-range based multi-episode formatting) via {kodi} binding 2018-11-18 00:50:34 +07:00
Reinhard Pointner
9eb07913b5 Sanity check subtitle file size before doing any kind of language detection, as to avoid java.lang.OutOfMemoryError issues when dealing with oddly large files.
* https://www.filebot.net/forums/viewtopic.php?f=4&t=5867&p=40063#p40061
2018-11-17 23:27:37 +07:00
Reinhard Pointner
b27844a41d Fix NPE in SubtitleMappingOptionRenderer 2018-11-07 21:10:41 +07:00
Reinhard Pointner
66b1141355 Port to OpenJDK 11 2018-11-06 15:50:20 +07:00
Reinhard Pointner
67e10db23d Fix NPE that crashes Swing EDT in Subtitles Panel (when search results includes odd languages) 2018-11-06 02:07:40 +07:00
Reinhard Pointner
b7fc1ecd81 print warning message if archive appears empty 2018-10-20 17:30:07 +07:00
Reinhard Pointner
b48da1a48c Make sure to avoid java.awt.HeadlessException if Desktop.moveToTrash() is called on headless Linux devices (possible issue breaking -revert on some Linux devices) 2018-09-20 20:39:53 +07:00
Reinhard Pointner
507e1c5df9 If FileBot is called with --license with an interactive console, then force console license activation (to avoid issues when the GUI starts up but X is screwed up on some Linux systems, thus crashing on startup, failing to activate the license) 2018-09-20 18:55:37 +07:00
Reinhard Pointner
360486848f Correctly deal with broken symlinks when using --conflict override
https://www.filebot.net/forums/viewtopic.php?f=6&t=6174
2018-09-02 11:07:08 +07:00
Reinhard Pointner
06eb06830d Notify the user if background computation is still in progress 2018-09-01 12:13:49 +07:00
Reinhard Pointner
9d15ac34b4 Make sure to not lock on Swing / AWT Window object
@see https://www.filebot.net/forums/viewtopic.php?f=11&t=5259&p=29747#p35519
2018-08-30 17:15:16 +07:00
Reinhard Pointner
b9572f4501 Make sure to not lock on Swing / AWT Window object
@see https://www.filebot.net/forums/viewtopic.php?f=11&t=5259&p=29747#p35519
2018-08-28 19:25:18 +07:00
Reinhard Pointner
aa8125e7e4 Improved support for rare SxE patterns (i.e. S1-01) 2018-08-25 12:50:06 +07:00
Reinhard Pointner
75347ae67f Enable new format expression token maker and syntax highlighting 2018-08-21 13:11:43 +07:00
Reinhard Pointner
aeb630d76a Enable new format expression token maker and syntax highlighting 2018-08-19 13:41:50 +07:00
Reinhard Pointner
a76f8a5753 XXX: org.apache.groovy.datetime.extensions.DateTimeExtensions is not registered for some reason in production (maybe a bug specific to Groovy 2.5.0) 2018-08-19 13:39:25 +07:00
Reinhard Pointner
720a535979 XXX: org.apache.groovy.datetime.extensions.DateTimeExtensions is not registered for some reason in production (maybe a bug specific to Groovy 2.5.0) 2018-08-19 12:37:32 +07:00