bazarrbulksync 0.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,199 @@
1
+ Metadata-Version: 2.4
2
+ Name: bazarrbulksync
3
+ Version: 0.0.0
4
+ Summary: An optimized command-line tool for bulk syncing media subtitles in Bazarr
5
+ Home-page: https://github.com/BrianWeiHaoMa/bazarrbulksync
6
+ Author: Brian Wei Hao Ma
7
+ Author-email: brianmaytc@gmail.com
8
+ License: MIT
9
+ Keywords: bazarr,subtitles,subtitle-sync,subtitle-synchronization,media,video,movies,tv,cli,command-line,automation,bulk,sync,media-server,plex,emby,jellyfin,sonarr,radarr,streaming
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Topic :: Utilities
14
+ Classifier: Topic :: Multimedia :: Video
15
+ Classifier: Intended Audience :: System Administrators
16
+ Classifier: Intended Audience :: End Users/Desktop
17
+ Classifier: Intended Audience :: Information Technology
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: PyYAML<7.0.0,>=6.0.0
27
+ Requires-Dist: requests<3.0.0,>=2.32.0
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: classifier
31
+ Dynamic: description
32
+ Dynamic: description-content-type
33
+ Dynamic: home-page
34
+ Dynamic: keywords
35
+ Dynamic: license
36
+ Dynamic: license-file
37
+ Dynamic: requires-dist
38
+ Dynamic: requires-python
39
+ Dynamic: summary
40
+
41
+ # BazarrBulkSync
42
+ An optimized command-line tool for bulk syncing media subtitles in Bazarr.
43
+
44
+ ## Use Cases
45
+ - You want to sync all of your Bazarr media subtitles in one go. BazarrBulkSync allows you to do this with a single command.
46
+ - Your Bazarr collection is MASSIVE and you want to save RAM while syncing. BazarrBulkSync supports chunking to limit the amount of resources used during the sync.
47
+ - You want to bulk sync more than once. BazarrBulkSync supports ignoring recently synced subtitles to avoid redundant syncing, saving a significant amount of time and computational resources.
48
+ - You want to record the syncing process and know which subtitles were synced at what time. BazarrBulkSync supports logging to a file and/or outputting to the screen.
49
+
50
+ ## Installation and Usage
51
+ ### Local Python
52
+ Make sure you have Python installed on your machine. You can install Python from [python.org](https://www.python.org/downloads/).
53
+ BazarrBulkSync has been tested for Python versions 3.10, 3.11, 3.12, and 3.13.
54
+
55
+ In the working directory of your choice, do
56
+ ```
57
+ python -m venv .venv
58
+ source .venv/bin/activate # This is for Linux. On Windows use .venv\Scripts\activate instead
59
+ pip install bazarrbulksync
60
+ ```
61
+
62
+ Each time you run the command-line tool, make sure that the virtual environment is activated (by using `source .venv/bin/activate` or `.venv\Scripts\activate` in the same working directory).
63
+
64
+ You can now run BazarrBulkSync:
65
+ ```
66
+ bazarrbulksync --help
67
+ ```
68
+ You should create a [config file](#config-file-template) in the same working directory as the one where you want to run BazarrBulkSync.
69
+
70
+ ### Docker
71
+ Make sure you have Docker installed on your machine. You can install Docker from [docker.com](https://www.docker.com/).
72
+
73
+ Pull the official BazarrBulkSync image from DockerHub:
74
+ ```
75
+ docker pull wayhowma/bazarrbulksync:latest
76
+ ```
77
+
78
+ After replacing `/my_absolute_path` below with the directory path that you want to mount (this is the place you would like to store BazarrBulkSync's config file and log file), you can run BazarrBulkSync:
79
+ ```
80
+ docker run --rm -v /my_absolute_path:/app wayhowma/bazarrbulksync --help
81
+ ```
82
+ You should create a [config file](#config-file-template) in the mounted directory `/my_absolute_path`.
83
+
84
+ ### Config File Template
85
+ It is recommended to create the config file `bazarrbulksync_cli.yaml` in the same working directory as the one where you want to run BazarrBulkSync. This allows you to easily run BazarrBulkSync each time without need to respecify the parameters. The content of `bazarrbulksync_cli.yaml` should follow the template below.
86
+ ```yaml
87
+ # bazarrbulksync_cli.yaml
88
+
89
+ bazarr:
90
+ base_url: http://192.168.1.251:6767/ # replace this with your bazarr service url
91
+ api_key: asdai21g3isufykasgfs7iodftas9d8f # replace this with your bazarr API key
92
+
93
+ output_messages_to_screen: true # false if you don't want to see messages on the screen
94
+ log_messages_to_file: true # false if you don't want to log messages to a file
95
+ log_messages_file_path: ./bazarrbulksync.log # the file path to store the log messages
96
+
97
+ # These are values for controlling maximum API request payload sizes.
98
+ # If you are running out of ram, reducing these values may help
99
+ # especially if the number of movies/series in your bazarr is large.
100
+ max_movies_per_request: 25
101
+ max_series_per_request: 25
102
+
103
+ # The maximum number of retries for a failed API request.
104
+ max_request_retries: 3
105
+
106
+ # The maximum amount of time to wait (in seconds) for the bazarr server
107
+ # to respond before automatically failing a request.
108
+ request_timeout: 1600
109
+
110
+ # A request failure is when the same request fails max_request_retries times.
111
+ stop_on_request_failure: false # true if you want the program to stop on the first request failure
112
+
113
+ # These are additional optional parameters for the API when syncing subtitles.
114
+ original_format: null # Use original subtitles format from ["True", "False"]
115
+ max_offset_seconds: null # Maximum offset seconds to allow as a string ex. "300"
116
+ no_fix_framerate: null # Don't try to fix framerate from ["True", "False"]
117
+ gss: null # Use Golden-Section Search from ["True", "False"]
118
+ ```
119
+
120
+ ## Examples
121
+ ### Local Python
122
+ Assuming we use [this](#config-file-template) config file, we can run the below command to sync all movies. Note: you need to activate the virtual environment that you set up [earlier](#local-python) before running this command.
123
+ ```
124
+ bazarrbulksync --sync movies
125
+ ```
126
+
127
+ ```
128
+ 2025-09-28 00:15:24,289 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
129
+ 2025-09-28 00:15:24,291 | Syncing movies...
130
+ 2025-09-28 00:15:24,364 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:08:13)
131
+ 2025-09-28 00:15:28,332 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:15:28)
132
+ 2025-09-28 00:15:28,332 | Movies synced so far: 1
133
+ 2025-09-28 00:15:28,354 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:08:32)
134
+ 2025-09-28 00:15:47,170 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:15:47)
135
+ 2025-09-28 00:15:47,171 | Movies synced so far: 2
136
+ 2025-09-28 00:15:47,213 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-28 00:01:43)
137
+ 2025-09-28 00:16:04,363 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:16:04)
138
+ 2025-09-28 00:16:04,364 | Movies synced so far: 3
139
+ 2025-09-28 00:16:04,394 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-28 00:01:55)
140
+ 2025-09-28 00:16:15,712 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:16:15)
141
+ 2025-09-28 00:16:15,712 | Movies synced so far: 4
142
+ 2025-09-28 00:16:15,764 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:02:06)
143
+ 2025-09-28 00:16:26,659 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:16:26)
144
+ 2025-09-28 00:16:26,659 | Movies synced so far: 5
145
+ 2025-09-28 00:16:26,688 | Finished syncing movies. Total movies synced: 5
146
+ ```
147
+
148
+ ### Docker
149
+ Assuming we use [this](#config-file-template) config file, we can run the following command to sync all movies:
150
+ ```
151
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies
152
+ ```
153
+
154
+ ```
155
+ 2025-09-28 04:01:04,012 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
156
+ 2025-09-28 04:01:04,018 | Syncing movies...
157
+ 2025-09-28 04:01:04,060 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-27 23:57:21)
158
+ 2025-09-28 04:01:08,200 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:01:08)
159
+ 2025-09-28 04:01:08,201 | Movies synced so far: 1
160
+ 2025-09-28 04:01:08,212 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 23:57:39)
161
+ 2025-09-28 04:01:27,074 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:01:27)
162
+ 2025-09-28 04:01:27,075 | Movies synced so far: 2
163
+ 2025-09-28 04:01:27,105 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-27 21:11:54)
164
+ 2025-09-28 04:01:43,846 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:01:43)
165
+ 2025-09-28 04:01:43,847 | Movies synced so far: 3
166
+ 2025-09-28 04:01:43,858 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-27 21:12:06)
167
+ 2025-09-28 04:01:55,179 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:01:55)
168
+ 2025-09-28 04:01:55,180 | Movies synced so far: 4
169
+ 2025-09-28 04:01:55,209 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 21:12:16)
170
+ 2025-09-28 04:02:06,189 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:02:06)
171
+ 2025-09-28 04:02:06,189 | Movies synced so far: 5
172
+ 2025-09-28 04:02:06,205 | Finished syncing movies. Total movies synced: 5
173
+ ```
174
+
175
+ Using the same config file as above, we run the sync again but only for movies that were never synced after 2025-09-28 00:01:30 using
176
+ ```
177
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies --latest-to-sync "2025-09-28 00:01:30"
178
+ ```
179
+
180
+ ```
181
+ 2025-09-28 04:08:08,920 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='2025-09-28 00:01:30', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
182
+ 2025-09-28 04:08:08,928 | Syncing movies...
183
+ 2025-09-28 04:08:08,971 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:01:08)
184
+ 2025-09-28 04:08:13,115 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:08:13)
185
+ 2025-09-28 04:08:13,115 | Movies synced so far: 1
186
+ 2025-09-28 04:08:13,125 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:01:27)
187
+ 2025-09-28 04:08:32,166 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:08:32)
188
+ 2025-09-28 04:08:32,167 | Movies synced so far: 2
189
+ 2025-09-28 04:08:32,197 | Skipping /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (last synced at 2025-09-28 00:01:43)
190
+ 2025-09-28 04:08:32,206 | Skipping /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (last synced at 2025-09-28 00:01:55)
191
+ 2025-09-28 04:08:32,234 | Skipping /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (last synced at 2025-09-28 00:02:06)
192
+ 2025-09-28 04:08:32,250 | Finished syncing movies. Total movies synced: 2
193
+ ```
194
+
195
+ ## Contributing
196
+ Contributions are welcome. Please open up an issue if you have ideas for improvements or submit a pull request on GitHub.
197
+
198
+ ## Licensing
199
+ BazarrBulkSync is distributed under the MIT License.
@@ -0,0 +1,25 @@
1
+ LICENSE
2
+ README.md
3
+ setup.py
4
+ BazarrBulkSync.egg-info/PKG-INFO
5
+ BazarrBulkSync.egg-info/SOURCES.txt
6
+ BazarrBulkSync.egg-info/dependency_links.txt
7
+ BazarrBulkSync.egg-info/entry_points.txt
8
+ BazarrBulkSync.egg-info/requires.txt
9
+ BazarrBulkSync.egg-info/top_level.txt
10
+ bazarrbulksync.egg-info/PKG-INFO
11
+ bazarrbulksync.egg-info/SOURCES.txt
12
+ bazarrbulksync.egg-info/dependency_links.txt
13
+ bazarrbulksync.egg-info/entry_points.txt
14
+ bazarrbulksync.egg-info/requires.txt
15
+ bazarrbulksync.egg-info/top_level.txt
16
+ cli/__init__.py
17
+ cli/cli.py
18
+ cli/config.py
19
+ sync/__init__.py
20
+ sync/bazarr.py
21
+ sync/sync.py
22
+ tests/__init__.py
23
+ tests/config.py
24
+ tests/test_bazarr.py
25
+ tests/test_bazarr_api.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ bazarrbulksync = cli.cli:main
@@ -0,0 +1,2 @@
1
+ PyYAML<7.0.0,>=6.0.0
2
+ requests<3.0.0,>=2.32.0
@@ -0,0 +1,3 @@
1
+ cli
2
+ sync
3
+ tests
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Brian Wei Hao Ma
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,199 @@
1
+ Metadata-Version: 2.4
2
+ Name: bazarrbulksync
3
+ Version: 0.0.0
4
+ Summary: An optimized command-line tool for bulk syncing media subtitles in Bazarr
5
+ Home-page: https://github.com/BrianWeiHaoMa/bazarrbulksync
6
+ Author: Brian Wei Hao Ma
7
+ Author-email: brianmaytc@gmail.com
8
+ License: MIT
9
+ Keywords: bazarr,subtitles,subtitle-sync,subtitle-synchronization,media,video,movies,tv,cli,command-line,automation,bulk,sync,media-server,plex,emby,jellyfin,sonarr,radarr,streaming
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Topic :: Utilities
14
+ Classifier: Topic :: Multimedia :: Video
15
+ Classifier: Intended Audience :: System Administrators
16
+ Classifier: Intended Audience :: End Users/Desktop
17
+ Classifier: Intended Audience :: Information Technology
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: PyYAML<7.0.0,>=6.0.0
27
+ Requires-Dist: requests<3.0.0,>=2.32.0
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: classifier
31
+ Dynamic: description
32
+ Dynamic: description-content-type
33
+ Dynamic: home-page
34
+ Dynamic: keywords
35
+ Dynamic: license
36
+ Dynamic: license-file
37
+ Dynamic: requires-dist
38
+ Dynamic: requires-python
39
+ Dynamic: summary
40
+
41
+ # BazarrBulkSync
42
+ An optimized command-line tool for bulk syncing media subtitles in Bazarr.
43
+
44
+ ## Use Cases
45
+ - You want to sync all of your Bazarr media subtitles in one go. BazarrBulkSync allows you to do this with a single command.
46
+ - Your Bazarr collection is MASSIVE and you want to save RAM while syncing. BazarrBulkSync supports chunking to limit the amount of resources used during the sync.
47
+ - You want to bulk sync more than once. BazarrBulkSync supports ignoring recently synced subtitles to avoid redundant syncing, saving a significant amount of time and computational resources.
48
+ - You want to record the syncing process and know which subtitles were synced at what time. BazarrBulkSync supports logging to a file and/or outputting to the screen.
49
+
50
+ ## Installation and Usage
51
+ ### Local Python
52
+ Make sure you have Python installed on your machine. You can install Python from [python.org](https://www.python.org/downloads/).
53
+ BazarrBulkSync has been tested for Python versions 3.10, 3.11, 3.12, and 3.13.
54
+
55
+ In the working directory of your choice, do
56
+ ```
57
+ python -m venv .venv
58
+ source .venv/bin/activate # This is for Linux. On Windows use .venv\Scripts\activate instead
59
+ pip install bazarrbulksync
60
+ ```
61
+
62
+ Each time you run the command-line tool, make sure that the virtual environment is activated (by using `source .venv/bin/activate` or `.venv\Scripts\activate` in the same working directory).
63
+
64
+ You can now run BazarrBulkSync:
65
+ ```
66
+ bazarrbulksync --help
67
+ ```
68
+ You should create a [config file](#config-file-template) in the same working directory as the one where you want to run BazarrBulkSync.
69
+
70
+ ### Docker
71
+ Make sure you have Docker installed on your machine. You can install Docker from [docker.com](https://www.docker.com/).
72
+
73
+ Pull the official BazarrBulkSync image from DockerHub:
74
+ ```
75
+ docker pull wayhowma/bazarrbulksync:latest
76
+ ```
77
+
78
+ After replacing `/my_absolute_path` below with the directory path that you want to mount (this is the place you would like to store BazarrBulkSync's config file and log file), you can run BazarrBulkSync:
79
+ ```
80
+ docker run --rm -v /my_absolute_path:/app wayhowma/bazarrbulksync --help
81
+ ```
82
+ You should create a [config file](#config-file-template) in the mounted directory `/my_absolute_path`.
83
+
84
+ ### Config File Template
85
+ It is recommended to create the config file `bazarrbulksync_cli.yaml` in the same working directory as the one where you want to run BazarrBulkSync. This allows you to easily run BazarrBulkSync each time without need to respecify the parameters. The content of `bazarrbulksync_cli.yaml` should follow the template below.
86
+ ```yaml
87
+ # bazarrbulksync_cli.yaml
88
+
89
+ bazarr:
90
+ base_url: http://192.168.1.251:6767/ # replace this with your bazarr service url
91
+ api_key: asdai21g3isufykasgfs7iodftas9d8f # replace this with your bazarr API key
92
+
93
+ output_messages_to_screen: true # false if you don't want to see messages on the screen
94
+ log_messages_to_file: true # false if you don't want to log messages to a file
95
+ log_messages_file_path: ./bazarrbulksync.log # the file path to store the log messages
96
+
97
+ # These are values for controlling maximum API request payload sizes.
98
+ # If you are running out of ram, reducing these values may help
99
+ # especially if the number of movies/series in your bazarr is large.
100
+ max_movies_per_request: 25
101
+ max_series_per_request: 25
102
+
103
+ # The maximum number of retries for a failed API request.
104
+ max_request_retries: 3
105
+
106
+ # The maximum amount of time to wait (in seconds) for the bazarr server
107
+ # to respond before automatically failing a request.
108
+ request_timeout: 1600
109
+
110
+ # A request failure is when the same request fails max_request_retries times.
111
+ stop_on_request_failure: false # true if you want the program to stop on the first request failure
112
+
113
+ # These are additional optional parameters for the API when syncing subtitles.
114
+ original_format: null # Use original subtitles format from ["True", "False"]
115
+ max_offset_seconds: null # Maximum offset seconds to allow as a string ex. "300"
116
+ no_fix_framerate: null # Don't try to fix framerate from ["True", "False"]
117
+ gss: null # Use Golden-Section Search from ["True", "False"]
118
+ ```
119
+
120
+ ## Examples
121
+ ### Local Python
122
+ Assuming we use [this](#config-file-template) config file, we can run the below command to sync all movies. Note: you need to activate the virtual environment that you set up [earlier](#local-python) before running this command.
123
+ ```
124
+ bazarrbulksync --sync movies
125
+ ```
126
+
127
+ ```
128
+ 2025-09-28 00:15:24,289 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
129
+ 2025-09-28 00:15:24,291 | Syncing movies...
130
+ 2025-09-28 00:15:24,364 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:08:13)
131
+ 2025-09-28 00:15:28,332 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:15:28)
132
+ 2025-09-28 00:15:28,332 | Movies synced so far: 1
133
+ 2025-09-28 00:15:28,354 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:08:32)
134
+ 2025-09-28 00:15:47,170 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:15:47)
135
+ 2025-09-28 00:15:47,171 | Movies synced so far: 2
136
+ 2025-09-28 00:15:47,213 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-28 00:01:43)
137
+ 2025-09-28 00:16:04,363 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:16:04)
138
+ 2025-09-28 00:16:04,364 | Movies synced so far: 3
139
+ 2025-09-28 00:16:04,394 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-28 00:01:55)
140
+ 2025-09-28 00:16:15,712 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:16:15)
141
+ 2025-09-28 00:16:15,712 | Movies synced so far: 4
142
+ 2025-09-28 00:16:15,764 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:02:06)
143
+ 2025-09-28 00:16:26,659 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:16:26)
144
+ 2025-09-28 00:16:26,659 | Movies synced so far: 5
145
+ 2025-09-28 00:16:26,688 | Finished syncing movies. Total movies synced: 5
146
+ ```
147
+
148
+ ### Docker
149
+ Assuming we use [this](#config-file-template) config file, we can run the following command to sync all movies:
150
+ ```
151
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies
152
+ ```
153
+
154
+ ```
155
+ 2025-09-28 04:01:04,012 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
156
+ 2025-09-28 04:01:04,018 | Syncing movies...
157
+ 2025-09-28 04:01:04,060 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-27 23:57:21)
158
+ 2025-09-28 04:01:08,200 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:01:08)
159
+ 2025-09-28 04:01:08,201 | Movies synced so far: 1
160
+ 2025-09-28 04:01:08,212 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 23:57:39)
161
+ 2025-09-28 04:01:27,074 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:01:27)
162
+ 2025-09-28 04:01:27,075 | Movies synced so far: 2
163
+ 2025-09-28 04:01:27,105 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-27 21:11:54)
164
+ 2025-09-28 04:01:43,846 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:01:43)
165
+ 2025-09-28 04:01:43,847 | Movies synced so far: 3
166
+ 2025-09-28 04:01:43,858 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-27 21:12:06)
167
+ 2025-09-28 04:01:55,179 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:01:55)
168
+ 2025-09-28 04:01:55,180 | Movies synced so far: 4
169
+ 2025-09-28 04:01:55,209 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 21:12:16)
170
+ 2025-09-28 04:02:06,189 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:02:06)
171
+ 2025-09-28 04:02:06,189 | Movies synced so far: 5
172
+ 2025-09-28 04:02:06,205 | Finished syncing movies. Total movies synced: 5
173
+ ```
174
+
175
+ Using the same config file as above, we run the sync again but only for movies that were never synced after 2025-09-28 00:01:30 using
176
+ ```
177
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies --latest-to-sync "2025-09-28 00:01:30"
178
+ ```
179
+
180
+ ```
181
+ 2025-09-28 04:08:08,920 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='2025-09-28 00:01:30', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
182
+ 2025-09-28 04:08:08,928 | Syncing movies...
183
+ 2025-09-28 04:08:08,971 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:01:08)
184
+ 2025-09-28 04:08:13,115 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:08:13)
185
+ 2025-09-28 04:08:13,115 | Movies synced so far: 1
186
+ 2025-09-28 04:08:13,125 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:01:27)
187
+ 2025-09-28 04:08:32,166 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:08:32)
188
+ 2025-09-28 04:08:32,167 | Movies synced so far: 2
189
+ 2025-09-28 04:08:32,197 | Skipping /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (last synced at 2025-09-28 00:01:43)
190
+ 2025-09-28 04:08:32,206 | Skipping /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (last synced at 2025-09-28 00:01:55)
191
+ 2025-09-28 04:08:32,234 | Skipping /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (last synced at 2025-09-28 00:02:06)
192
+ 2025-09-28 04:08:32,250 | Finished syncing movies. Total movies synced: 2
193
+ ```
194
+
195
+ ## Contributing
196
+ Contributions are welcome. Please open up an issue if you have ideas for improvements or submit a pull request on GitHub.
197
+
198
+ ## Licensing
199
+ BazarrBulkSync is distributed under the MIT License.
@@ -0,0 +1,159 @@
1
+ # BazarrBulkSync
2
+ An optimized command-line tool for bulk syncing media subtitles in Bazarr.
3
+
4
+ ## Use Cases
5
+ - You want to sync all of your Bazarr media subtitles in one go. BazarrBulkSync allows you to do this with a single command.
6
+ - Your Bazarr collection is MASSIVE and you want to save RAM while syncing. BazarrBulkSync supports chunking to limit the amount of resources used during the sync.
7
+ - You want to bulk sync more than once. BazarrBulkSync supports ignoring recently synced subtitles to avoid redundant syncing, saving a significant amount of time and computational resources.
8
+ - You want to record the syncing process and know which subtitles were synced at what time. BazarrBulkSync supports logging to a file and/or outputting to the screen.
9
+
10
+ ## Installation and Usage
11
+ ### Local Python
12
+ Make sure you have Python installed on your machine. You can install Python from [python.org](https://www.python.org/downloads/).
13
+ BazarrBulkSync has been tested for Python versions 3.10, 3.11, 3.12, and 3.13.
14
+
15
+ In the working directory of your choice, do
16
+ ```
17
+ python -m venv .venv
18
+ source .venv/bin/activate # This is for Linux. On Windows use .venv\Scripts\activate instead
19
+ pip install bazarrbulksync
20
+ ```
21
+
22
+ Each time you run the command-line tool, make sure that the virtual environment is activated (by using `source .venv/bin/activate` or `.venv\Scripts\activate` in the same working directory).
23
+
24
+ You can now run BazarrBulkSync:
25
+ ```
26
+ bazarrbulksync --help
27
+ ```
28
+ You should create a [config file](#config-file-template) in the same working directory as the one where you want to run BazarrBulkSync.
29
+
30
+ ### Docker
31
+ Make sure you have Docker installed on your machine. You can install Docker from [docker.com](https://www.docker.com/).
32
+
33
+ Pull the official BazarrBulkSync image from DockerHub:
34
+ ```
35
+ docker pull wayhowma/bazarrbulksync:latest
36
+ ```
37
+
38
+ After replacing `/my_absolute_path` below with the directory path that you want to mount (this is the place you would like to store BazarrBulkSync's config file and log file), you can run BazarrBulkSync:
39
+ ```
40
+ docker run --rm -v /my_absolute_path:/app wayhowma/bazarrbulksync --help
41
+ ```
42
+ You should create a [config file](#config-file-template) in the mounted directory `/my_absolute_path`.
43
+
44
+ ### Config File Template
45
+ It is recommended to create the config file `bazarrbulksync_cli.yaml` in the same working directory as the one where you want to run BazarrBulkSync. This allows you to easily run BazarrBulkSync each time without need to respecify the parameters. The content of `bazarrbulksync_cli.yaml` should follow the template below.
46
+ ```yaml
47
+ # bazarrbulksync_cli.yaml
48
+
49
+ bazarr:
50
+ base_url: http://192.168.1.251:6767/ # replace this with your bazarr service url
51
+ api_key: asdai21g3isufykasgfs7iodftas9d8f # replace this with your bazarr API key
52
+
53
+ output_messages_to_screen: true # false if you don't want to see messages on the screen
54
+ log_messages_to_file: true # false if you don't want to log messages to a file
55
+ log_messages_file_path: ./bazarrbulksync.log # the file path to store the log messages
56
+
57
+ # These are values for controlling maximum API request payload sizes.
58
+ # If you are running out of ram, reducing these values may help
59
+ # especially if the number of movies/series in your bazarr is large.
60
+ max_movies_per_request: 25
61
+ max_series_per_request: 25
62
+
63
+ # The maximum number of retries for a failed API request.
64
+ max_request_retries: 3
65
+
66
+ # The maximum amount of time to wait (in seconds) for the bazarr server
67
+ # to respond before automatically failing a request.
68
+ request_timeout: 1600
69
+
70
+ # A request failure is when the same request fails max_request_retries times.
71
+ stop_on_request_failure: false # true if you want the program to stop on the first request failure
72
+
73
+ # These are additional optional parameters for the API when syncing subtitles.
74
+ original_format: null # Use original subtitles format from ["True", "False"]
75
+ max_offset_seconds: null # Maximum offset seconds to allow as a string ex. "300"
76
+ no_fix_framerate: null # Don't try to fix framerate from ["True", "False"]
77
+ gss: null # Use Golden-Section Search from ["True", "False"]
78
+ ```
79
+
80
+ ## Examples
81
+ ### Local Python
82
+ Assuming we use [this](#config-file-template) config file, we can run the below command to sync all movies. Note: you need to activate the virtual environment that you set up [earlier](#local-python) before running this command.
83
+ ```
84
+ bazarrbulksync --sync movies
85
+ ```
86
+
87
+ ```
88
+ 2025-09-28 00:15:24,289 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
89
+ 2025-09-28 00:15:24,291 | Syncing movies...
90
+ 2025-09-28 00:15:24,364 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:08:13)
91
+ 2025-09-28 00:15:28,332 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:15:28)
92
+ 2025-09-28 00:15:28,332 | Movies synced so far: 1
93
+ 2025-09-28 00:15:28,354 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:08:32)
94
+ 2025-09-28 00:15:47,170 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:15:47)
95
+ 2025-09-28 00:15:47,171 | Movies synced so far: 2
96
+ 2025-09-28 00:15:47,213 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-28 00:01:43)
97
+ 2025-09-28 00:16:04,363 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:16:04)
98
+ 2025-09-28 00:16:04,364 | Movies synced so far: 3
99
+ 2025-09-28 00:16:04,394 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-28 00:01:55)
100
+ 2025-09-28 00:16:15,712 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:16:15)
101
+ 2025-09-28 00:16:15,712 | Movies synced so far: 4
102
+ 2025-09-28 00:16:15,764 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:02:06)
103
+ 2025-09-28 00:16:26,659 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:16:26)
104
+ 2025-09-28 00:16:26,659 | Movies synced so far: 5
105
+ 2025-09-28 00:16:26,688 | Finished syncing movies. Total movies synced: 5
106
+ ```
107
+
108
+ ### Docker
109
+ Assuming we use [this](#config-file-template) config file, we can run the following command to sync all movies:
110
+ ```
111
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies
112
+ ```
113
+
114
+ ```
115
+ 2025-09-28 04:01:04,012 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='9999-12-31', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
116
+ 2025-09-28 04:01:04,018 | Syncing movies...
117
+ 2025-09-28 04:01:04,060 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-27 23:57:21)
118
+ 2025-09-28 04:01:08,200 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:01:08)
119
+ 2025-09-28 04:01:08,201 | Movies synced so far: 1
120
+ 2025-09-28 04:01:08,212 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 23:57:39)
121
+ 2025-09-28 04:01:27,074 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:01:27)
122
+ 2025-09-28 04:01:27,075 | Movies synced so far: 2
123
+ 2025-09-28 04:01:27,105 | Syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (previous sync 2025-09-27 21:11:54)
124
+ 2025-09-28 04:01:43,846 | Finished syncing /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (newest sync 2025-09-28 00:01:43)
125
+ 2025-09-28 04:01:43,847 | Movies synced so far: 3
126
+ 2025-09-28 04:01:43,858 | Syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (previous sync 2025-09-27 21:12:06)
127
+ 2025-09-28 04:01:55,179 | Finished syncing /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (newest sync 2025-09-28 00:01:55)
128
+ 2025-09-28 04:01:55,180 | Movies synced so far: 4
129
+ 2025-09-28 04:01:55,209 | Syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-27 21:12:16)
130
+ 2025-09-28 04:02:06,189 | Finished syncing /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:02:06)
131
+ 2025-09-28 04:02:06,189 | Movies synced so far: 5
132
+ 2025-09-28 04:02:06,205 | Finished syncing movies. Total movies synced: 5
133
+ ```
134
+
135
+ Using the same config file as above, we run the sync again but only for movies that were never synced after 2025-09-28 00:01:30 using
136
+ ```
137
+ docker run --rm -v /bazarrbulksync:/app wayhowma/bazarrbulksync:latest --sync movies --latest-to-sync "2025-09-28 00:01:30"
138
+ ```
139
+
140
+ ```
141
+ 2025-09-28 04:08:08,920 | Bazarr Bulk Sync CLI Tool Arguments: Namespace(sync='movies', bazarr_base_url='http://192.168.1.251:6767/', bazarr_api_key='asdai21g3isufykasgfs7iodftas9d8f', output_messages_to_screen=True, log_messages_to_file=True, log_messages_file_path='./bazarrbulksync.log', max_movies_per_request=25, max_series_per_request=25, max_request_retries=1, request_timeout=1600, latest_to_sync='2025-09-28 00:01:30', original_format=None, max_offset_seconds=None, no_fix_framerate=None, gss=None, stop_on_request_failure=False)
142
+ 2025-09-28 04:08:08,928 | Syncing movies...
143
+ 2025-09-28 04:08:08,971 | Syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (previous sync 2025-09-28 00:01:08)
144
+ 2025-09-28 04:08:13,115 | Finished syncing /data/media/media/movies/5 Centimeters per Second (2007)/[Arid] 5 Centimeters per Second (BDRip 1920x1080 Hi10 FLAC) [FD8B6FF2].ja.srt (newest sync 2025-09-28 00:08:13)
145
+ 2025-09-28 04:08:13,115 | Movies synced so far: 1
146
+ 2025-09-28 04:08:13,125 | Syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (previous sync 2025-09-28 00:01:27)
147
+ 2025-09-28 04:08:32,166 | Finished syncing /data/media/media/movies/Django Unchained (2012)/Django.Unchained.2012.1080p.BluRay.x264.YIFY.en.srt (newest sync 2025-09-28 00:08:32)
148
+ 2025-09-28 04:08:32,167 | Movies synced so far: 2
149
+ 2025-09-28 04:08:32,197 | Skipping /data/media/media/movies/KPop Demon Hunters (2025)/KPop.Demon.Hunters.2025.1080p.WEBRip.x264.AAC5.1-[YTS.MX].en.srt (last synced at 2025-09-28 00:01:43)
150
+ 2025-09-28 04:08:32,206 | Skipping /data/media/media/movies/Kung Fu Panda 3 (2016)/Kung.Fu.Panda.3.2016.1080p.BluRay.x264-[YTS.AG].en.srt (last synced at 2025-09-28 00:01:55)
151
+ 2025-09-28 04:08:32,234 | Skipping /data/media/media/movies/Penguins of Madagascar (2014)/Penguins.of.Madagascar.2014.1080p.BluRay.x264.YIFY.en.srt (last synced at 2025-09-28 00:02:06)
152
+ 2025-09-28 04:08:32,250 | Finished syncing movies. Total movies synced: 2
153
+ ```
154
+
155
+ ## Contributing
156
+ Contributions are welcome. Please open up an issue if you have ideas for improvements or submit a pull request on GitHub.
157
+
158
+ ## Licensing
159
+ BazarrBulkSync is distributed under the MIT License.
File without changes