mirror of
https://github.com/sabnzbd/sabnzbd.git
synced 2026-01-21 14:01:14 -05:00
Compare commits
426 Commits
4.3.0Alpha
...
4.3.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a42abd1e7 | ||
|
|
41e5dfdf18 | ||
|
|
3ce5679298 | ||
|
|
47e1d40943 | ||
|
|
1687130107 | ||
|
|
8e59146d60 | ||
|
|
4b37d2772f | ||
|
|
ea9d690a90 | ||
|
|
3a2e967a03 | ||
|
|
a2eb0cc2c3 | ||
|
|
8b9341023a | ||
|
|
54314c0198 | ||
|
|
b0e4c4c5bf | ||
|
|
989e215acc | ||
|
|
ba88bb15a9 | ||
|
|
0cac0d942c | ||
|
|
b24a9ee781 | ||
|
|
25ae29235f | ||
|
|
a8d4de2d3d | ||
|
|
ccb3e0522c | ||
|
|
a9f1838b52 | ||
|
|
d744c293fb | ||
|
|
94848979ad | ||
|
|
2732326b3d | ||
|
|
ea8328c199 | ||
|
|
41de13388c | ||
|
|
f1e42707a0 | ||
|
|
1f16f13169 | ||
|
|
ef23d40972 | ||
|
|
c1bdc3abff | ||
|
|
5cbb569b38 | ||
|
|
d4a3f0ea79 | ||
|
|
b07b43496c | ||
|
|
2ba04f1a6a | ||
|
|
b31fe2cf49 | ||
|
|
65d748fc9f | ||
|
|
ab2da15bc9 | ||
|
|
bf8bef3cd0 | ||
|
|
adbe2f3c96 | ||
|
|
dadb8ee71b | ||
|
|
7d30f12532 | ||
|
|
9c41cbd2f3 | ||
|
|
5ce9a0c17d | ||
|
|
7b2d2df299 | ||
|
|
285ff00c12 | ||
|
|
04ca95cc83 | ||
|
|
3b25a07522 | ||
|
|
14aa449c35 | ||
|
|
d88c035c23 | ||
|
|
6d2d90b1e5 | ||
|
|
e2ca39fb36 | ||
|
|
6a37780b8e | ||
|
|
146f33f38e | ||
|
|
c6c26c5de4 | ||
|
|
262cc8dbbd | ||
|
|
5bec8e99a5 | ||
|
|
2e0e6749ca | ||
|
|
c0ef18e8b3 | ||
|
|
52173804f1 | ||
|
|
2d8cf69140 | ||
|
|
e2603d74ca | ||
|
|
9df9238d56 | ||
|
|
b697165392 | ||
|
|
16bfcc27d8 | ||
|
|
be3f47539d | ||
|
|
f3fd63cd70 | ||
|
|
aafdf7620e | ||
|
|
4f3b0541eb | ||
|
|
04fb73fd4a | ||
|
|
b1a7924c75 | ||
|
|
4e618206a8 | ||
|
|
8a510331df | ||
|
|
81035964ca | ||
|
|
e7e06dea41 | ||
|
|
ce32504a81 | ||
|
|
7cd6c94482 | ||
|
|
fcb3d01194 | ||
|
|
af0b53990c | ||
|
|
e3861954ba | ||
|
|
006dd8dc77 | ||
|
|
dbff203c62 | ||
|
|
f45eb891cd | ||
|
|
77b58240cf | ||
|
|
97ae1ff10e | ||
|
|
8734a4f24b | ||
|
|
480fce55a8 | ||
|
|
d4136fadd2 | ||
|
|
308bc375bd | ||
|
|
3bbcf6a41e | ||
|
|
3d5d10a4c1 | ||
|
|
0e979c14f0 | ||
|
|
70f49114ac | ||
|
|
f730607414 | ||
|
|
0172ee25c9 | ||
|
|
699d75bb9f | ||
|
|
95822704c8 | ||
|
|
76e5f69e67 | ||
|
|
abd31d0249 | ||
|
|
9ae7ee6e2d | ||
|
|
18f4cc25f3 | ||
|
|
b755192600 | ||
|
|
045140cfbc | ||
|
|
4e7e44e25f | ||
|
|
5c4dfa4cc6 | ||
|
|
b7e3401e8e | ||
|
|
90cee7fb31 | ||
|
|
8e0e3cf35e | ||
|
|
7f72584537 | ||
|
|
8f0d606892 | ||
|
|
9fafe64cff | ||
|
|
94b42e0597 | ||
|
|
b2c1960d93 | ||
|
|
9d24b4cc35 | ||
|
|
3d675b033c | ||
|
|
0d2d9be8b3 | ||
|
|
6e9b6dab97 | ||
|
|
44a1717f6d | ||
|
|
4f51c74297 | ||
|
|
87c64a8c5d | ||
|
|
b6c6635f22 | ||
|
|
5a7abcb07c | ||
|
|
65232d134b | ||
|
|
d7b4bdefe5 | ||
|
|
6d9174bea1 | ||
|
|
921edfd4c5 | ||
|
|
786d5b0667 | ||
|
|
e846c71f20 | ||
|
|
0108e2ef5a | ||
|
|
9a81277ff6 | ||
|
|
06cc2ff316 | ||
|
|
7cdf4cb48c | ||
|
|
c34c547f1f | ||
|
|
9507294db7 | ||
|
|
ae7dd62d9f | ||
|
|
52e309cb09 | ||
|
|
b580373982 | ||
|
|
ec7bde5bb2 | ||
|
|
3516eeec5b | ||
|
|
52351192e6 | ||
|
|
3a6f04496d | ||
|
|
47f2df2112 | ||
|
|
363a26b8a1 | ||
|
|
7e50a00f55 | ||
|
|
a7d6a80e82 | ||
|
|
e7da95b2ac | ||
|
|
74fca23d59 | ||
|
|
0a12fa1253 | ||
|
|
1263068140 | ||
|
|
916c191b18 | ||
|
|
d8c0220353 | ||
|
|
4ab425d15c | ||
|
|
74e5633d1c | ||
|
|
89d36bbc61 | ||
|
|
1877ac18a5 | ||
|
|
5e42e25617 | ||
|
|
c27c9564cf | ||
|
|
c4b0da335d | ||
|
|
fab36ec008 | ||
|
|
8a2b875779 | ||
|
|
efaffb8298 | ||
|
|
e004eb3f00 | ||
|
|
43e8f6dc81 | ||
|
|
f5bff8fe7c | ||
|
|
fad8484b93 | ||
|
|
7664b54f89 | ||
|
|
21cbc353dd | ||
|
|
8d66306ec4 | ||
|
|
479daf0e76 | ||
|
|
bf0fbb7b10 | ||
|
|
d3c91f1585 | ||
|
|
ca165b328a | ||
|
|
fa2ffeea92 | ||
|
|
0d00965ac3 | ||
|
|
7d7bec1f80 | ||
|
|
b6fd915365 | ||
|
|
fecae72267 | ||
|
|
7bffd91e3f | ||
|
|
f859521a7e | ||
|
|
a869386fac | ||
|
|
8bc7885b7a | ||
|
|
78be46738d | ||
|
|
6fce73855c | ||
|
|
fa844a6223 | ||
|
|
906379dd09 | ||
|
|
37cded612f | ||
|
|
73e8fade61 | ||
|
|
758cc7afab | ||
|
|
d74b7b06d2 | ||
|
|
39009f2f71 | ||
|
|
9fdc1c6813 | ||
|
|
c5568fe830 | ||
|
|
bad81f84b9 | ||
|
|
2ac08dd0e6 | ||
|
|
408ffc4539 | ||
|
|
eb958327c5 | ||
|
|
e157d77a1e | ||
|
|
e961c9ea8f | ||
|
|
258c4f769d | ||
|
|
b31fedd857 | ||
|
|
eafe69500b | ||
|
|
ae09990c43 | ||
|
|
cf54b65c32 | ||
|
|
7974421fa1 | ||
|
|
847a098d4e | ||
|
|
eb4de0ae0f | ||
|
|
bca9f3b753 | ||
|
|
cad8a9a5d3 | ||
|
|
f5f36d21e8 | ||
|
|
c51435c114 | ||
|
|
2a7f1780b4 | ||
|
|
98a44e40fb | ||
|
|
65cf6fa9a1 | ||
|
|
b2e32d1720 | ||
|
|
f0bfedbe8e | ||
|
|
fd4e059c13 | ||
|
|
a53575e154 | ||
|
|
4a73484603 | ||
|
|
03b380f90b | ||
|
|
a2bd3b2dfe | ||
|
|
56fe140ebf | ||
|
|
4fafcce740 | ||
|
|
02352c4ae6 | ||
|
|
4b74aab335 | ||
|
|
2d67ac189d | ||
|
|
8ece62e23d | ||
|
|
56c2bdd77d | ||
|
|
1f555f1930 | ||
|
|
8496432c14 | ||
|
|
1672ffa670 | ||
|
|
6aab199f12 | ||
|
|
46d0c379a4 | ||
|
|
99240f145a | ||
|
|
3c9079d73c | ||
|
|
0eb98b9a6c | ||
|
|
76bfd98b77 | ||
|
|
3348640c88 | ||
|
|
d81c64fd2b | ||
|
|
8b4c919617 | ||
|
|
76c58953df | ||
|
|
4ddc5caa49 | ||
|
|
694663bd95 | ||
|
|
62aba5844e | ||
|
|
d0d60cef05 | ||
|
|
3d293fdcb0 | ||
|
|
96e9528046 | ||
|
|
4ea24b3203 | ||
|
|
a756eea25a | ||
|
|
210020e489 | ||
|
|
e586ead024 | ||
|
|
14c80bf1dc | ||
|
|
bdd56e794a | ||
|
|
a544548934 | ||
|
|
e06c1d61fb | ||
|
|
600c5209c6 | ||
|
|
bee90366ee | ||
|
|
e9bc4e9417 | ||
|
|
f01ff15761 | ||
|
|
356ada159d | ||
|
|
cc831e16d8 | ||
|
|
b8dc46ad01 | ||
|
|
d8ab19087d | ||
|
|
ec8a79eedd | ||
|
|
f1e2a8e9d8 | ||
|
|
4042a5fe5d | ||
|
|
a4752751ed | ||
|
|
e23ecf46d1 | ||
|
|
70a8c597a6 | ||
|
|
fa639bdb53 | ||
|
|
233bdd5b1d | ||
|
|
a0ab6d35c7 | ||
|
|
bd29680ce7 | ||
|
|
7139e92554 | ||
|
|
897df53466 | ||
|
|
58281711f6 | ||
|
|
b524383aa3 | ||
|
|
75a16e3588 | ||
|
|
1453032ad6 | ||
|
|
824ab4afad | ||
|
|
73dd41c67f | ||
|
|
59ee77355d | ||
|
|
5c758773ad | ||
|
|
46de49df06 | ||
|
|
d1c54a9a74 | ||
|
|
e7527c45cd | ||
|
|
7d5207aa67 | ||
|
|
654302e691 | ||
|
|
ee673b57fd | ||
|
|
2be374b841 | ||
|
|
906e1eda89 | ||
|
|
ece02cc4fa | ||
|
|
876ad60ddf | ||
|
|
862da354ac | ||
|
|
8fd477b979 | ||
|
|
2d7005655c | ||
|
|
7322f8348a | ||
|
|
e3e3a12e73 | ||
|
|
77cdd057a4 | ||
|
|
e8206fbdd9 | ||
|
|
589f15a77b | ||
|
|
7bb443678a | ||
|
|
6390415101 | ||
|
|
4abf192e11 | ||
|
|
1fed37f9da | ||
|
|
a9d86a7447 | ||
|
|
2abe4c3cef | ||
|
|
0542c25003 | ||
|
|
1b8ee4e290 | ||
|
|
51128cba55 | ||
|
|
3612432581 | ||
|
|
deca000a1b | ||
|
|
39cccb5653 | ||
|
|
f6838dc985 | ||
|
|
8cd4d92395 | ||
|
|
3bf9906f45 | ||
|
|
9f7daf96ef | ||
|
|
67de4df155 | ||
|
|
bc51a4bd1c | ||
|
|
bb54616018 | ||
|
|
6bcff5e014 | ||
|
|
8970a03a9a | ||
|
|
3ad717ca35 | ||
|
|
b14f72c67a | ||
|
|
45d036804f | ||
|
|
8f606db233 | ||
|
|
3766ba5402 | ||
|
|
e851813cef | ||
|
|
4d49ad9141 | ||
|
|
16618b3af2 | ||
|
|
0e5c0f664f | ||
|
|
7be9281431 | ||
|
|
ee0327fac1 | ||
|
|
9930de3e7f | ||
|
|
e8503e89c6 | ||
|
|
1d9ed419eb | ||
|
|
0207652e3e | ||
|
|
0f1e99c5cb | ||
|
|
f134bc7efb | ||
|
|
dcd7c7180e | ||
|
|
fbbfcd075b | ||
|
|
f42d2e4140 | ||
|
|
88882cebbc | ||
|
|
17a979675c | ||
|
|
4642850c79 | ||
|
|
e8d6eebb04 | ||
|
|
864c5160c0 | ||
|
|
99b5a00c12 | ||
|
|
85ee1f07d7 | ||
|
|
e58b4394e0 | ||
|
|
1e91a57bf1 | ||
|
|
39cee52a7e | ||
|
|
72068f939d | ||
|
|
096d0d3cad | ||
|
|
2472ab0121 | ||
|
|
00421717b8 | ||
|
|
ae96d93f94 | ||
|
|
8522c40c8f | ||
|
|
23f86e95f1 | ||
|
|
eed2045189 | ||
|
|
217785bf0f | ||
|
|
6aef50dc5d | ||
|
|
16b6e3caa7 | ||
|
|
3de4c99a8a | ||
|
|
980aa19a75 | ||
|
|
fb4b57e056 | ||
|
|
03638365ea | ||
|
|
157cb1c83d | ||
|
|
e51f11c2b1 | ||
|
|
1ad0961dd8 | ||
|
|
46ff7dd4e2 | ||
|
|
8b067df914 | ||
|
|
ef43b13272 | ||
|
|
e8e9974224 | ||
|
|
feebbb9f04 | ||
|
|
bc4f06dd1d | ||
|
|
971e4fc909 | ||
|
|
51cc765949 | ||
|
|
19c6a4fffa | ||
|
|
105ac32d2f | ||
|
|
57550675d2 | ||
|
|
e674abc5c0 | ||
|
|
f965c96f51 | ||
|
|
c76b8ed9e0 | ||
|
|
4fbd0d8a7b | ||
|
|
2186c0fff6 | ||
|
|
1adca9a9c1 | ||
|
|
9408353f2b | ||
|
|
84f4d453d2 | ||
|
|
d10209f2a1 | ||
|
|
3ae149c72f | ||
|
|
47385acc3b | ||
|
|
814eeaa900 | ||
|
|
5f2ea13aad | ||
|
|
41ca217931 | ||
|
|
b57d36e8dd | ||
|
|
9a4be70734 | ||
|
|
a8443595a6 | ||
|
|
fd0a70ac58 | ||
|
|
8a8685c968 | ||
|
|
9e6cb8da8e | ||
|
|
054ec54d51 | ||
|
|
272ce773cb | ||
|
|
050b925f7b | ||
|
|
0087940898 | ||
|
|
e323c014f9 | ||
|
|
cc465c7554 | ||
|
|
14cb37564f | ||
|
|
094db56c3b | ||
|
|
aabb709b8b | ||
|
|
0833dd2db9 | ||
|
|
cd3f912be4 | ||
|
|
665c516db6 | ||
|
|
b670da9fa0 | ||
|
|
80bee9bffe | ||
|
|
d85a70e8ad | ||
|
|
8f21533e76 | ||
|
|
89996482a1 | ||
|
|
03c10dce91 | ||
|
|
bd5331be05 | ||
|
|
46e1645289 | ||
|
|
4ce3965747 | ||
|
|
9d4af19db3 | ||
|
|
48e034f4be | ||
|
|
f8959baa2f | ||
|
|
8ed5997eae | ||
|
|
daf9f50ac8 | ||
|
|
6b11013c1a |
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -21,6 +21,7 @@ body:
|
||||
options:
|
||||
- linuxserver
|
||||
- hotio
|
||||
- binhex
|
||||
- Other
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -4,7 +4,7 @@ contact_links:
|
||||
url: https://forums.sabnzbd.org/
|
||||
about: Support questions can be asked on our forums, Reddit or Discord server.
|
||||
- name: Discord
|
||||
url: https://discord.gg/KQzDe7fvNU
|
||||
url: https://discord.sabnzbd.org
|
||||
about: Support questions can be asked on our forums, Reddit or Discord server.
|
||||
- name: Reddit - r/sabnzbd
|
||||
url: https://www.reddit.com/r/sabnzbd
|
||||
|
||||
3
.github/renovate.json
vendored
3
.github/renovate.json
vendored
@@ -17,7 +17,10 @@
|
||||
},
|
||||
"ignoreDeps": [
|
||||
"jaraco.text",
|
||||
"jaraco.context",
|
||||
"jaraco.collections",
|
||||
"sabctools",
|
||||
"paho-mqtt",
|
||||
"werkzeug",
|
||||
"pyinstaller"
|
||||
],
|
||||
|
||||
6
.github/workflows/build_release.yml
vendored
6
.github/workflows/build_release.yml
vendored
@@ -63,13 +63,13 @@ jobs:
|
||||
|
||||
build_macos:
|
||||
name: Build macOS binary
|
||||
runs-on: macos-13
|
||||
runs-on: macos-14
|
||||
timeout-minutes: 30
|
||||
env:
|
||||
# We need the official Python, because the GA ones only support newer macOS versions
|
||||
# The deployment target is picked up by the Python build tools automatically
|
||||
# If updated, make sure to also set LSMinimumSystemVersion in SABnzbd.spec
|
||||
PYTHON_VERSION: "3.12.2"
|
||||
PYTHON_VERSION: "3.12.3"
|
||||
MACOSX_DEPLOYMENT_TARGET: "10.9"
|
||||
# We need to force compile for universal2 support
|
||||
CFLAGS: -arch x86_64 -arch arm64
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
run: |
|
||||
python3 --version
|
||||
pip3 install --upgrade pip wheel
|
||||
pip3 install --upgrade -r requirements.txt --no-binary cffi,CT3,PyYAML --no-dependencies
|
||||
pip3 install --upgrade -r requirements.txt --no-binary cffi,CT3,PyYAML,charset_normalizer --no-dependencies
|
||||
PYINSTALLER_COMPILE_BOOTLOADER=1 pip3 install --upgrade -r builder/requirements.txt --no-binary pyinstaller --no-dependencies
|
||||
- name: Import macOS codesign certificates
|
||||
# Taken from https://github.com/Apple-Actions/import-codesign-certs/pull/27 (comments)
|
||||
|
||||
2
.github/workflows/translations.yml
vendored
2
.github/workflows/translations.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
run: |
|
||||
python3 tools/make_mo.py
|
||||
- name: Push translatable and translated texts back to repo
|
||||
uses: stefanzweifel/git-auto-commit-action@v5.0.0
|
||||
uses: stefanzweifel/git-auto-commit-action@v5.0.1
|
||||
if: env.TX_TOKEN
|
||||
with:
|
||||
commit_message: |
|
||||
|
||||
@@ -2,7 +2,7 @@ SABnzbd - The automated Usenet download tool
|
||||
============================================
|
||||
|
||||
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
|
||||
[](https://discord.gg/KQzDe7fvNU)
|
||||
[](https://discord.sabnzbd.org)
|
||||
|
||||
SABnzbd is an Open Source Binary Newsreader written in Python.
|
||||
|
||||
|
||||
19
README.mkd
19
README.mkd
@@ -1,7 +1,16 @@
|
||||
Release Notes - SABnzbd 4.3.0 Alpha 1
|
||||
Release Notes - SABnzbd 4.3.2
|
||||
=========================================================
|
||||
|
||||
This is the first pre-release of SABnzbd 4.3.0.
|
||||
This is the second bug fix release of SABnzbd 4.3.0.
|
||||
|
||||
## Bug fixes and changes since 4.3.1
|
||||
|
||||
* Added Special option `disable_archive` for jobs to always be permanently deleted.
|
||||
* Specific AppRise notifications could fail to send.
|
||||
* Update of the article decoder core (`rapidyenc`).
|
||||
* Windows: After some time the interface would no longer load.
|
||||
* Windows: Custom shortcuts would be removed by the installer.
|
||||
* Windows/macOS: Updated Unrar to 7.01 and 7zip to 24.05.
|
||||
|
||||
## Key changes since 4.2.0
|
||||
|
||||
@@ -24,10 +33,16 @@ This is the first pre-release of SABnzbd 4.3.0.
|
||||
* Handling of multiple inputs to several API methods was improved.
|
||||
* File browser dialog is available to select file paths in the Config.
|
||||
* Users will be warned if they configure an Indexer as a Server.
|
||||
* Added `SAB_API_KEY` and `SAB_API_URL` to script environment variables.
|
||||
* Windows/macOS: Updated Python to 3.12.3, Multipar to v1.3.3.2,
|
||||
Unrar to 7.00 and 7zip to 24.03.
|
||||
|
||||
## Bug fixes since 4.2.0
|
||||
|
||||
* Incorrect warnings of unknown status codes could be thrown.
|
||||
* Watched Folder would not work if Socks5 proxy was active.
|
||||
* Prevent crash on invalid Server Expiration Date.
|
||||
* Windows: Installer could create duplicate shortcuts.
|
||||
|
||||
## Upgrade notices
|
||||
|
||||
|
||||
42
SABnzbd.py
42
SABnzbd.py
@@ -47,6 +47,7 @@ try:
|
||||
import feedparser
|
||||
import configobj
|
||||
import cherrypy
|
||||
import cheroot.errors
|
||||
import portend
|
||||
import cryptography
|
||||
import chardet
|
||||
@@ -1094,8 +1095,7 @@ def main():
|
||||
sys.exit(1)
|
||||
|
||||
if clean_up:
|
||||
xlist = globber_full(logdir)
|
||||
for x in xlist:
|
||||
for x in globber_full(logdir):
|
||||
if RSS_FILE_NAME not in x:
|
||||
try:
|
||||
os.remove(x)
|
||||
@@ -1347,6 +1347,13 @@ def main():
|
||||
}
|
||||
)
|
||||
|
||||
# Catch shutdown errors that can break cherrypy/cheroot
|
||||
# See https://github.com/cherrypy/cheroot/issues/710
|
||||
try:
|
||||
cheroot.errors.acceptable_sock_shutdown_exceptions += (OSError,)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
# Do we want CherryPy Logging? Cannot be done via the config
|
||||
cherrypy.log.screen = False
|
||||
cherrypy.log.access_log.propagate = False
|
||||
@@ -1414,21 +1421,15 @@ def main():
|
||||
if full_path := getattr(sabnzbd.cfg, setting).get_path():
|
||||
sabnzbd.CONFIG_BACKUP_HTTPS_OK.append(full_path)
|
||||
|
||||
if sabnzbd.WIN32:
|
||||
if enable_https:
|
||||
mode = "s"
|
||||
else:
|
||||
mode = ""
|
||||
api_url = "http%s://%s:%s%s/api?apikey=%s" % (
|
||||
mode,
|
||||
browserhost,
|
||||
cherryport,
|
||||
sabnzbd.cfg.url_base(),
|
||||
sabnzbd.cfg.api_key(),
|
||||
)
|
||||
# Set URL for browser
|
||||
if enable_https:
|
||||
sabnzbd.BROWSER_URL = "https://%s:%s%s" % (browserhost, cherryport, sabnzbd.cfg.url_base())
|
||||
else:
|
||||
sabnzbd.BROWSER_URL = "http://%s:%s%s" % (browserhost, cherryport, sabnzbd.cfg.url_base())
|
||||
|
||||
# Write URL directly to registry
|
||||
set_connection_info(api_url)
|
||||
if sabnzbd.WIN32:
|
||||
# Write URL for uploads and version check directly to registry
|
||||
set_connection_info(f"{sabnzbd.BROWSER_URL}/api?apikey={sabnzbd.cfg.api_key()}")
|
||||
|
||||
if pid_path or pid_file:
|
||||
sabnzbd.pid_file(pid_path, pid_file, cherryport)
|
||||
@@ -1453,15 +1454,8 @@ def main():
|
||||
for upload_nzb in upload_nzbs:
|
||||
sabnzbd.nzbparser.add_nzbfile(upload_nzb)
|
||||
|
||||
# Set URL for browser
|
||||
if enable_https:
|
||||
browser_url = "https://%s:%s%s" % (browserhost, cherryport, sabnzbd.cfg.url_base())
|
||||
else:
|
||||
browser_url = "http://%s:%s%s" % (browserhost, cherryport, sabnzbd.cfg.url_base())
|
||||
sabnzbd.BROWSER_URL = browser_url
|
||||
|
||||
if not autorestarted:
|
||||
launch_a_browser(browser_url)
|
||||
launch_a_browser(sabnzbd.BROWSER_URL)
|
||||
notifier.send_notification("SABnzbd", T("SABnzbd %s started") % sabnzbd.__version__, "startup")
|
||||
autorestarted = False
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ extra_pyinstaller_files = []
|
||||
|
||||
# Add hidden imports
|
||||
extra_hiddenimports = ["Cheetah.DummyTransaction", "cheroot.ssl.builtin", "certifi"]
|
||||
extra_hiddenimports.extend(collect_submodules("apprise"))
|
||||
extra_hiddenimports.extend(collect_submodules("babelfish.converters"))
|
||||
extra_hiddenimports.extend(collect_submodules("guessit.data"))
|
||||
|
||||
@@ -40,7 +41,7 @@ else:
|
||||
)
|
||||
|
||||
# Windows
|
||||
extra_hiddenimports.append("win32timezone")
|
||||
extra_hiddenimports.extend(["win32timezone", "winrt.windows.foundation.collections"])
|
||||
EXTRA_FOLDERS += ["win/multipar/", "win/par2/", "win/unrar/", "win/7zip/"]
|
||||
EXTRA_FILES += ["portable.cmd"]
|
||||
|
||||
@@ -91,12 +92,14 @@ for folder_item in EXTRA_FOLDERS:
|
||||
# Add babelfish data files
|
||||
extra_pyinstaller_files.extend(collect_data_files("babelfish"))
|
||||
extra_pyinstaller_files.extend(collect_data_files("guessit"))
|
||||
extra_pyinstaller_files.extend(collect_data_files("apprise"))
|
||||
|
||||
pyi_analysis = Analysis(
|
||||
["SABnzbd.py"],
|
||||
datas=extra_pyinstaller_files,
|
||||
hiddenimports=extra_hiddenimports,
|
||||
excludes=["ujson", "FixTk", "tcl", "tk", "_tkinter", "tkinter", "Tkinter", "pydoc", "pydoc_data.topics"],
|
||||
module_collection_mode={"apprise.plugins": "py"},
|
||||
)
|
||||
|
||||
pyz = PYZ(pyi_analysis.pure, pyi_analysis.zipped_data)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
PyGithub==2.2.0
|
||||
PyGithub==2.3.0
|
||||
praw==7.7.1
|
||||
@@ -233,7 +233,7 @@ if RELEASE_THIS and gh_token:
|
||||
readme_lines = readme_file.readlines()
|
||||
|
||||
# Put the download link after the title
|
||||
readme_lines[2] = "## https://sabnzbd.org/downloads\n"
|
||||
readme_lines[2] = "## https://sabnzbd.org/downloads\n\n"
|
||||
|
||||
# Use the header in the readme as title
|
||||
title = readme_lines[0]
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
|
||||
pyinstaller==5.13.2
|
||||
packaging==24.0
|
||||
pyinstaller-hooks-contrib==2024.3
|
||||
pyinstaller-hooks-contrib==2024.6
|
||||
altgraph==0.17.4
|
||||
wrapt==1.16.0
|
||||
setuptools==69.2.0
|
||||
setuptools==69.5.1
|
||||
|
||||
# Required on 32bit Windows, exclude it based on Python-version
|
||||
importlib_metadata==7.0.2; python_version < '3.10'
|
||||
importlib_resources==6.3.1; python_version < '3.10'
|
||||
zipp==3.18.1; python_version < '3.10'
|
||||
importlib_metadata==7.1.0; python_version < '3.10'
|
||||
importlib_resources==6.4.0; python_version < '3.10'
|
||||
zipp==3.18.2; python_version < '3.10'
|
||||
|
||||
# orjson does not support 32bit Windows, also exclude based on Python-version
|
||||
orjson==3.9.15; python_version > '3.8'
|
||||
orjson==3.10.3; python_version > '3.8'
|
||||
|
||||
# For the Windows build
|
||||
pefile==2023.2.7; sys_platform == 'win32'
|
||||
|
||||
@@ -42,13 +42,36 @@ Unicode true
|
||||
RMDir /r "${idir}"
|
||||
!macroend
|
||||
|
||||
!define RemovePrevShortcuts "!insertmacro RemovePrevShortcuts"
|
||||
!macro RemovePrevShortcuts
|
||||
; Remove shortcuts, starting with current user ones (from old installs)
|
||||
SetShellVarContext current
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - SafeMode.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - Documentation.url"
|
||||
RMDir "$SMPROGRAMS\$MUI_TEMP"
|
||||
Delete "$SMPROGRAMS\Startup\SABnzbd.lnk"
|
||||
Delete "$DESKTOP\SABnzbd.lnk"
|
||||
|
||||
SetShellVarContext all
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - SafeMode.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - Documentation.url"
|
||||
RMDir "$SMPROGRAMS\$MUI_TEMP"
|
||||
Delete "$SMPROGRAMS\Startup\SABnzbd.lnk"
|
||||
Delete "$DESKTOP\SABnzbd.lnk"
|
||||
!macroend
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Define names of the product
|
||||
Name "${SAB_PRODUCT}"
|
||||
OutFile "${SAB_FILE}"
|
||||
InstallDir "$PROGRAMFILES\SABnzbd"
|
||||
|
||||
|
||||
;------------------------------------------------------------------
|
||||
; Some default compiler settings (uncomment and change at will):
|
||||
SetCompress auto ; (can be off or force)
|
||||
@@ -285,8 +308,9 @@ Function .onInit
|
||||
;------------------------------------------------------------------
|
||||
; Check what the user has currently set for install options
|
||||
SetShellVarContext current
|
||||
IfFileExists "$SMPROGRAMS\Startup\SABnzbd.lnk" 0 endCheckStartup
|
||||
IfFileExists "$SMPROGRAMS\Startup\SABnzbd.lnk" 0 endCheckStartupCurrent
|
||||
SectionSetFlags ${startup} 1
|
||||
endCheckStartupCurrent:
|
||||
SetShellVarContext all
|
||||
IfFileExists "$SMPROGRAMS\Startup\SABnzbd.lnk" 0 endCheckStartup
|
||||
SectionSetFlags ${startup} 1
|
||||
@@ -294,11 +318,12 @@ Function .onInit
|
||||
|
||||
SetShellVarContext current
|
||||
IfFileExists "$DESKTOP\SABnzbd.lnk" endCheckDesktop 0
|
||||
SectionSetFlags ${desktop} 0 ; SAB is installed but desktop-icon not, so uncheck it
|
||||
SetShellVarContext all
|
||||
IfFileExists "$DESKTOP\SABnzbd.lnk" endCheckDesktop 0
|
||||
SectionSetFlags ${desktop} 0 ; SAB is installed but desktop-icon not, so uncheck it
|
||||
; If not present for current user, first check all user folder
|
||||
SetShellVarContext all
|
||||
IfFileExists "$DESKTOP\SABnzbd.lnk" endCheckDesktop 0
|
||||
SectionSetFlags ${desktop} 0 ; SAB is installed but desktop-icon not, so uncheck it
|
||||
endCheckDesktop:
|
||||
SetShellVarContext all
|
||||
|
||||
Push $1
|
||||
ReadRegStr $1 HKCR ".nzb" "" ; read current file association
|
||||
@@ -352,39 +377,12 @@ Section "un.$(MsgDelProgram)" Uninstall
|
||||
DeleteRegKey HKEY_CURRENT_USER "Software\SABnzbd"
|
||||
|
||||
${RemovePrev} "$INSTDIR"
|
||||
${RemovePrevShortcuts}
|
||||
|
||||
; Remove firewall entries
|
||||
liteFirewallW::RemoveRule "$INSTDIR\SABnzbd.exe" "SABnzbd"
|
||||
liteFirewallW::RemoveRule "$INSTDIR\SABnzbd-console.exe" "SABnzbd-console"
|
||||
|
||||
SetShellVarContext all
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - SafeMode.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - Documentation.url"
|
||||
RMDir "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
Delete "$SMPROGRAMS\Startup\SABnzbd.lnk"
|
||||
|
||||
Delete "$DESKTOP\SABnzbd.lnk"
|
||||
|
||||
SetShellVarContext current
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - SafeMode.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\SABnzbd - Documentation.url"
|
||||
RMDir "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
Delete "$SMPROGRAMS\Startup\SABnzbd.lnk"
|
||||
|
||||
Delete "$DESKTOP\SABnzbd.lnk"
|
||||
|
||||
${unregisterExtension} ".nzb" "NZB File"
|
||||
${RefreshShellIcons}
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
@@ -2,6 +2,8 @@
|
||||
<!--#set global $help_uri = $confighelpuri + "notifications"#-->
|
||||
<!--#include $webdir + "/_inc_header_uc.tmpl"#-->
|
||||
|
||||
<!--#import apprise#-->
|
||||
|
||||
<!--#def show_notify_checkboxes($section_label)#-->
|
||||
<!--#for $type in $notify_types#-->
|
||||
<div class="field-pair">
|
||||
@@ -185,7 +187,9 @@
|
||||
<td><label for="apprise_enable"> $T('opt-apprise_enable')</label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<em>$T('explain-apprise_enable')</em>
|
||||
<em>$T('explain-apprise_enable')</em><br>
|
||||
<p>$T('version'): ${apprise.__version__}</p>
|
||||
|
||||
$show_cat_box('apprise')
|
||||
</div>
|
||||
<div class="col1" <!--#if int($apprise_enable) > 0 then '' else 'style="display:none"'#-->>
|
||||
|
||||
@@ -398,7 +398,6 @@ function HistoryListModel(parent) {
|
||||
archive: (!skipArchive) * 1,
|
||||
value: strIDsHistory
|
||||
}).then(function(response) {
|
||||
// Make sure no flickering (if there are more items left) and then remove
|
||||
self.historyItems.removeAll(self.deleteItems());
|
||||
self.multiEditItems.removeAll(self.deleteItems())
|
||||
self.parent.refresh();
|
||||
|
||||
@@ -440,8 +440,6 @@ function QueueListModel(parent) {
|
||||
del_files: 1,
|
||||
value: strIDs
|
||||
}).then(function(response) {
|
||||
// Make sure no flickering (if there are more items left) and then remove
|
||||
self.isLoading(true)
|
||||
self.queueItems.removeAll(self.deleteItems());
|
||||
self.multiEditItems.removeAll(self.deleteItems())
|
||||
self.parent.refresh();
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
<url type="faq">https://sabnzbd.org/wiki/faq</url>
|
||||
<url type="contact">https://sabnzbd.org/live-chat.html</url>
|
||||
<releases>
|
||||
<release version="4.3.2" date="2024-05-30" type="stable"/>
|
||||
<release version="4.3.1" date="2024-05-03" type="stable"/>
|
||||
<release version="4.3.0" date="2024-05-01" type="stable"/>
|
||||
<release version="4.2.2" date="2024-02-01" type="stable"/>
|
||||
<release version="4.2.1" date="2024-01-05" type="stable"/>
|
||||
<release version="4.2.0" date="2024-01-03" type="stable"/>
|
||||
@@ -51,11 +54,13 @@
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
<recommends>
|
||||
<display_length compare="ge">small</display_length>
|
||||
<display_length compare="ge">640</display_length>
|
||||
<internet>always</internet>
|
||||
</recommends>
|
||||
<project_license>GPL-2.0-or-later</project_license>
|
||||
<developer_name>The SABnzbd-Team</developer_name>
|
||||
<developer id="org.sabnzbd">
|
||||
<name>The SABnzbd-Team</name>
|
||||
</developer>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://sabnzbd.org/images/landing/screenshots/interface.png</image>
|
||||
|
||||
@@ -22,6 +22,11 @@ ExecStart=/opt/sabnzbd/SABnzbd.py --disable-file-log --logging 1 --browser 0
|
||||
User=%I
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
ProtectSystem=full
|
||||
DeviceAllow=/dev/null rw
|
||||
DeviceAllow=/dev/urandom r
|
||||
DevicePolicy=strict
|
||||
NoNewPrivileges=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
BIN
osx/7zip/7zz
BIN
osx/7zip/7zz
Binary file not shown.
@@ -1,88 +1,144 @@
|
||||
7-Zip
|
||||
~~~~~
|
||||
License for use and distribution
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
7-Zip Copyright (C) 1999-2021 Igor Pavlov.
|
||||
|
||||
The licenses for 7zz file are:
|
||||
|
||||
- The "GNU LGPL" as main license for most of the code
|
||||
- The "GNU LGPL" with "unRAR license restriction" for some code
|
||||
- The "BSD 3-clause License" for some code
|
||||
|
||||
Redistributions in binary form must reproduce related license information from this file.
|
||||
|
||||
Note:
|
||||
You can use 7-Zip on any computer, including a computer in a commercial
|
||||
organization. You don't need to register or pay for 7-Zip.
|
||||
|
||||
|
||||
GNU LGPL information
|
||||
--------------------
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You can receive a copy of the GNU Lesser General Public License from
|
||||
http://www.gnu.org/
|
||||
|
||||
|
||||
|
||||
|
||||
BSD 3-clause License
|
||||
--------------------
|
||||
|
||||
The "BSD 3-clause License" is used for the code in 7z.dll that implements LZFSE data decompression.
|
||||
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
|
||||
that also uses the "BSD 3-clause License":
|
||||
|
||||
----
|
||||
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
----
|
||||
|
||||
|
||||
|
||||
|
||||
unRAR license restriction
|
||||
-------------------------
|
||||
|
||||
The decompression engine for RAR archives was developed using source
|
||||
code of unRAR program.
|
||||
All copyrights to original unRAR code are owned by Alexander Roshal.
|
||||
|
||||
The license for original unRAR code has the following restriction:
|
||||
|
||||
The unRAR sources cannot be used to re-create the RAR compression algorithm,
|
||||
which is proprietary. Distribution of modified unRAR sources in separate form
|
||||
or as a part of other software is permitted, provided that it is clearly
|
||||
stated in the documentation and source comments that the code may
|
||||
not be used to develop a RAR (WinRAR) compatible archiver.
|
||||
|
||||
|
||||
--
|
||||
Igor Pavlov
|
||||
7-Zip for Linux and macOS
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
License for use and distribution
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
7-Zip Copyright (C) 1999-2024 Igor Pavlov.
|
||||
|
||||
The licenses for 7zz and 7zzs files are:
|
||||
|
||||
- The "GNU LGPL" as main license for most of the code
|
||||
- The "GNU LGPL" with "unRAR license restriction" for some code
|
||||
- The "BSD 3-clause License" for some code
|
||||
- The "BSD 2-clause License" for some code
|
||||
|
||||
Redistributions in binary form must reproduce related license information from this file.
|
||||
|
||||
Note:
|
||||
You can use 7-Zip on any computer, including a computer in a commercial
|
||||
organization. You don't need to register or pay for 7-Zip.
|
||||
|
||||
|
||||
GNU LGPL information
|
||||
--------------------
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You can receive a copy of the GNU Lesser General Public License from
|
||||
http://www.gnu.org/
|
||||
|
||||
|
||||
|
||||
|
||||
BSD 3-clause License in 7-Zip code
|
||||
----------------------------------
|
||||
|
||||
The "BSD 3-clause License" is used for the following code in 7z.dll
|
||||
1) LZFSE data decompression.
|
||||
That code was derived from the code in the "LZFSE compression library" developed by Apple Inc,
|
||||
that also uses the "BSD 3-clause License".
|
||||
2) ZSTD data decompression.
|
||||
that code was developed using original zstd decoder code as reference code.
|
||||
The original zstd decoder code was developed by Facebook Inc,
|
||||
that also uses the "BSD 3-clause License".
|
||||
|
||||
Copyright (c) 2015-2016, Apple Inc. All rights reserved.
|
||||
Copyright (c) Facebook, Inc. All rights reserved.
|
||||
Copyright (c) 2023-2024 Igor Pavlov.
|
||||
|
||||
Text of the "BSD 3-clause License"
|
||||
----------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
BSD 2-clause License in 7-Zip code
|
||||
----------------------------------
|
||||
|
||||
The "BSD 2-clause License" is used for the XXH64 code in 7-Zip.
|
||||
|
||||
XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet.
|
||||
|
||||
Copyright (c) 2012-2021 Yann Collet.
|
||||
Copyright (c) 2023-2024 Igor Pavlov.
|
||||
|
||||
Text of the "BSD 2-clause License"
|
||||
----------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
unRAR license restriction
|
||||
-------------------------
|
||||
|
||||
The decompression engine for RAR archives was developed using source
|
||||
code of unRAR program.
|
||||
All copyrights to original unRAR code are owned by Alexander Roshal.
|
||||
|
||||
The license for original unRAR code has the following restriction:
|
||||
|
||||
The unRAR sources cannot be used to re-create the RAR compression algorithm,
|
||||
which is proprietary. Distribution of modified unRAR sources in separate form
|
||||
or as a part of other software is permitted, provided that it is clearly
|
||||
stated in the documentation and source comments that the code may
|
||||
not be used to develop a RAR (WinRAR) compatible archiver.
|
||||
|
||||
--
|
||||
|
||||
Binary file not shown.
BIN
osx/unrar/unrar
BIN
osx/unrar/unrar
Binary file not shown.
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.2RC1\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: German (https://app.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: ION, 2020\n"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/sabnzbd/teams/111101/he/)\n"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/sabnzbd/teams/111101/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/sabnzbd/teams/111101/nb/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/sabnzbd/teams/111101/nl/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/sabnzbd/teams/111101/pl/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/sabnzbd/teams/111101/ro/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Serbian (https://app.transifex.com/sabnzbd/teams/111101/sr/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Swedish (https://app.transifex.com/sabnzbd/teams/111101/sv/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.2RC1\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
@@ -1082,6 +1082,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2697,7 +2702,7 @@ msgid "Move jobs to the archive if the history exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid "Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2705,7 +2710,7 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid "Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
@@ -1154,6 +1154,11 @@ msgstr "Nepodařilo se odeslat macOS oznámení"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Nepodařilo se odeslat Prowl zprávu"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2809,7 +2814,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2817,7 +2823,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
@@ -1161,6 +1161,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Kunne ikke sende Prowl besked"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2859,7 +2864,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2867,7 +2873,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -13,12 +13,13 @@
|
||||
# kameb, 2023
|
||||
# HandyDandy04, 2024
|
||||
# Safihre <safihre@sabnzbd.org>, 2024
|
||||
# Gjelbrim Haskaj, 2024
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2024\n"
|
||||
"Last-Translator: Gjelbrim Haskaj, 2024\n"
|
||||
"Language-Team: German (https://app.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -206,6 +207,9 @@ msgid ""
|
||||
"server (port 80), possibly an indexer, not a usenet server. You have to fill"
|
||||
" a usenet server."
|
||||
msgstr ""
|
||||
"Verbindung zu %s auf Port %s konnte nicht hergestellt werden. Es scheint, "
|
||||
"als sei %s ein Webserver (Port 80), vielleicht ein Indexer, aber kein "
|
||||
"Usenet-Server. Trage einen Usenet-Server ein."
|
||||
|
||||
#: sabnzbd/api.py, sabnzbd/interface.py
|
||||
msgid "Server address \"%s:%s\" is not valid."
|
||||
@@ -1152,7 +1156,7 @@ msgstr "Wiki"
|
||||
|
||||
#: sabnzbd/newswrapper.py
|
||||
msgid "Failed to connect: %s %s@%s:%s (%s)"
|
||||
msgstr ""
|
||||
msgstr "Verbindung fehlgeschlagen: %s %s@%s:%s(%s)"
|
||||
|
||||
#. Notification
|
||||
#: sabnzbd/notifier.py
|
||||
@@ -1224,6 +1228,11 @@ msgstr "Senden von macOS Benachrichtigung fehlgeschlagen"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Prowl-Nachricht konnte nicht versendet werden"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2964,7 +2973,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2972,7 +2982,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
@@ -1201,6 +1201,11 @@ msgstr "Fallo al enviar la notificación macOS"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "No se pudo enviar el mensaje de Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2926,7 +2931,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2934,7 +2940,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
@@ -1153,6 +1153,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Prowl viestin lähetys epäonnistui"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2857,7 +2862,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2865,7 +2871,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.2RC1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Fred L <88com88@gmail.com>, 2024\n"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
@@ -1220,6 +1220,11 @@ msgstr "Échec de l'envoi de la notification macOS"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Échec d'envoi du message Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr "Échec d'envoi du message Apprise - aucune URLs définies"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2958,9 +2963,11 @@ msgstr ""
|
||||
"tâches spécifié"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
"Supprimer les tâches si l'historique dépasse le nombre de tâches spécifié"
|
||||
"Supprimer les tâches si l'historique et les archives dépassent le nombre de "
|
||||
"tâches spécifié"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move jobs to the archive after specified number of days"
|
||||
@@ -2968,8 +2975,11 @@ msgstr ""
|
||||
"Déplacer les tâches vers les archives après le nombre de jours spécifié"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgstr "Supprimer les tâches après le nombre de jours spécifié"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
"Supprimer les tâches de l'historique et des archives après le nombre de "
|
||||
"jours spécifié"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move all completed jobs to archive"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: ION, 2024\n"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/sabnzbd/teams/111101/he/)\n"
|
||||
@@ -186,6 +186,8 @@ msgid ""
|
||||
"server (port 80), possibly an indexer, not a usenet server. You have to fill"
|
||||
" a usenet server."
|
||||
msgstr ""
|
||||
"לא היה ניתן להתחבר אל %s על פתחה %s. נראה כי %s פועל כשרת רשת (פתחה 80), "
|
||||
"כנראה מדדן, לא שרת Usenet. אתה חייב למלא שרת Usenet."
|
||||
|
||||
#: sabnzbd/api.py, sabnzbd/interface.py
|
||||
msgid "Server address \"%s:%s\" is not valid."
|
||||
@@ -512,7 +514,7 @@ msgstr "שגיאה גורלית במורידן"
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "%s@%s: Received unknown status code %s for article %s"
|
||||
msgstr ""
|
||||
msgstr "%s@%s: קוד בלתי ידוע של מעמד התקבל %s עבור מאמר %s"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
@@ -1088,7 +1090,7 @@ msgstr "וויקי"
|
||||
|
||||
#: sabnzbd/newswrapper.py
|
||||
msgid "Failed to connect: %s %s@%s:%s (%s)"
|
||||
msgstr ""
|
||||
msgstr "כישלון בהתחברות: %s %s@%s:%s (%s)"
|
||||
|
||||
#. Notification
|
||||
#: sabnzbd/notifier.py
|
||||
@@ -1160,6 +1162,11 @@ msgstr "כישלון בשליחת התראת macOS"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "כישלון בשליחת הודעת Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2345,7 +2352,7 @@ msgstr "למחוק את כל הפריטים מהתור?"
|
||||
#. Delete confirmation popup
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Are you sure you want to remove these jobs?"
|
||||
msgstr ""
|
||||
msgstr "האם אתה בטוח שאתה רוצה להסיר עבודות אלו?"
|
||||
|
||||
#. Queue page button
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2370,7 +2377,7 @@ msgstr "הסר NZB ומחק קבצים"
|
||||
#. Checkbox if job should be added to Archive
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Permanently delete (skip archive)"
|
||||
msgstr ""
|
||||
msgstr "מחק לצמיתות (דלג על ארכיון)"
|
||||
|
||||
#. Caption for missing articles in Queue
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2393,7 +2400,7 @@ msgstr "אפס מכסה כעת"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Archive"
|
||||
msgstr ""
|
||||
msgstr "ארכיון"
|
||||
|
||||
#. Button/link hiding History job details
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2418,7 +2425,7 @@ msgstr "הראה הכל"
|
||||
#. Button showing all archived jobs
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Show Archive"
|
||||
msgstr ""
|
||||
msgstr "הראה ארכיון"
|
||||
|
||||
#. History table header - Size of the download quota
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2866,27 +2873,29 @@ msgstr "שמור את כל העבודות"
|
||||
#: sabnzbd/skintext.py
|
||||
msgid ""
|
||||
"Move jobs to the archive if the history exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
msgstr "העבר עבודות אל הארכיון אם ההיסטוריה חורגת ממספר מצוין של ימים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
msgstr "העבר עבודות אל הארכיון לאחר מספר מצוין של ימים"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move all completed jobs to archive"
|
||||
msgstr ""
|
||||
msgstr "העבר את כל העבודות השלמות אל הארכיון"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete all completed jobs"
|
||||
msgstr ""
|
||||
msgstr "מחק את כל העבודות השלמות"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Jobs"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/sabnzbd/teams/111101/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -1124,6 +1124,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2779,7 +2784,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2787,7 +2793,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/sabnzbd/teams/111101/nb/)\n"
|
||||
@@ -1151,6 +1151,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Klarte ikke å sende Prowl melding"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2849,7 +2854,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2857,7 +2863,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2024\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/sabnzbd/teams/111101/nl/)\n"
|
||||
@@ -543,7 +543,7 @@ msgstr "Onherstelbare fout in de Downloader"
|
||||
#. Warning message
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "%s@%s: Received unknown status code %s for article %s"
|
||||
msgstr ""
|
||||
msgstr "%s@%s: Onbekende statuscode %s ontvangen voor artikel %s"
|
||||
|
||||
#: sabnzbd/downloader.py
|
||||
msgid "Too many connections to server %s [%s]"
|
||||
@@ -1210,6 +1210,11 @@ msgstr "Kon macOS notificatie niet verzenden"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Verzenden van Prowl-bericht mislukt"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2937,10 +2942,9 @@ msgstr ""
|
||||
"opgegeven aantal voltooide downloads overschrijdt."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
"Verwijder voltooide downloads als de geschiedenis het opgegeven aantal "
|
||||
"voltooide downloads overschrijdt."
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move jobs to the archive after specified number of days"
|
||||
@@ -2948,8 +2952,9 @@ msgstr ""
|
||||
"Verplaats voltooide downloads naar het archief na het opgegeven aantal dagen"
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgstr "Verwijder voltooide downloads na het opgegeven aantal dagen"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Move all completed jobs to archive"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/sabnzbd/teams/111101/pl/)\n"
|
||||
@@ -1156,6 +1156,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Błąd wysyłania wiadomości Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2860,7 +2865,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2868,7 +2874,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
|
||||
@@ -1165,6 +1165,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Falha ao enviar mensagem Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2870,7 +2875,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2878,7 +2884,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/sabnzbd/teams/111101/ro/)\n"
|
||||
@@ -1181,6 +1181,11 @@ msgstr "Eșuare la trimiterea notificării macOS"
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Nu am putu trimite mesajul Prowl"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2889,7 +2894,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2897,7 +2903,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
@@ -1151,6 +1151,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2849,7 +2854,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2857,7 +2863,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Serbian (https://app.transifex.com/sabnzbd/teams/111101/sr/)\n"
|
||||
@@ -1146,6 +1146,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Неуспешно слање Prowl поруке"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2840,7 +2845,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2848,7 +2854,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2023\n"
|
||||
"Language-Team: Swedish (https://app.transifex.com/sabnzbd/teams/111101/sv/)\n"
|
||||
@@ -1150,6 +1150,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "Misslyckades att skicka Prowlmeddelande"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2849,7 +2854,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2857,7 +2863,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:49+0000\n"
|
||||
"Last-Translator: Kangwei Li <lkw20010211@gmail.com>, 2023\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
|
||||
@@ -1139,6 +1139,11 @@ msgstr ""
|
||||
msgid "Failed to send Prowl message"
|
||||
msgstr "无法发送 Prowl 消息"
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "Failed to send Apprise message - no URLs defined"
|
||||
msgstr ""
|
||||
|
||||
#. Warning message
|
||||
#: sabnzbd/notifier.py
|
||||
msgid "One or more Apprise URLs could not be loaded."
|
||||
@@ -2822,7 +2827,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs if the history exceeds specified number of jobs"
|
||||
msgid ""
|
||||
"Delete jobs if the history and archive exceeds specified number of jobs"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
@@ -2830,7 +2836,8 @@ msgid "Move jobs to the archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
msgid "Delete jobs after specified number of days"
|
||||
msgid ""
|
||||
"Delete jobs from the history and archive after specified number of days"
|
||||
msgstr ""
|
||||
|
||||
#: sabnzbd/skintext.py
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.2RC1\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: team@sabnzbd.org\n"
|
||||
"Language-Team: SABnzbd <team@sabnzbd.org>\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Pavel C <quoing_transifex@mess.cz>, 2022\n"
|
||||
"Language-Team: Czech (https://app.transifex.com/sabnzbd/teams/111101/cs/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Danish (https://app.transifex.com/sabnzbd/teams/111101/da/)\n"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Lorenz B, 2024\n"
|
||||
"Language-Team: German (https://app.transifex.com/sabnzbd/teams/111101/de/)\n"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Ester Molla Aragones <moarages@gmail.com>, 2020\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/sabnzbd/teams/111101/es/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Finnish (https://app.transifex.com/sabnzbd/teams/111101/fi/)\n"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Fred L <88com88@gmail.com>, 2024\n"
|
||||
"Language-Team: French (https://app.transifex.com/sabnzbd/teams/111101/fr/)\n"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: ION, 2024\n"
|
||||
"Language-Team: Hebrew (https://app.transifex.com/sabnzbd/teams/111101/he/)\n"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Language-Team: Italian (https://app.transifex.com/sabnzbd/teams/111101/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Norwegian Bokmål (https://app.transifex.com/sabnzbd/teams/111101/nb/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2024\n"
|
||||
"Language-Team: Dutch (https://app.transifex.com/sabnzbd/teams/111101/nl/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Polish (https://app.transifex.com/sabnzbd/teams/111101/pl/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://app.transifex.com/sabnzbd/teams/111101/pt_BR/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Romanian (https://app.transifex.com/sabnzbd/teams/111101/ro/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/sabnzbd/teams/111101/ru/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Serbian (https://app.transifex.com/sabnzbd/teams/111101/sr/)\n"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Petter Ramme, 2024\n"
|
||||
"Language-Team: Swedish (https://app.transifex.com/sabnzbd/teams/111101/sv/)\n"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-4.3.0-develop\n"
|
||||
"Project-Id-Version: SABnzbd-4.3.1\n"
|
||||
"PO-Revision-Date: 2020-06-27 15:56+0000\n"
|
||||
"Last-Translator: Safihre <safihre@sabnzbd.org>, 2020\n"
|
||||
"Language-Team: Chinese (China) (https://app.transifex.com/sabnzbd/teams/111101/zh_CN/)\n"
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# Main requirements
|
||||
# Note that not all sub-dependencies are listed, but only ones we know could cause trouble
|
||||
apprise==1.7.4
|
||||
sabctools==8.1.0
|
||||
apprise==1.8.0
|
||||
sabctools==8.2.0
|
||||
CT3==3.3.3.post1
|
||||
cffi==1.16.0
|
||||
pycparser==2.21
|
||||
pycparser==2.22
|
||||
feedparser==6.0.11
|
||||
configobj==5.0.8
|
||||
cheroot==10.0.0
|
||||
cheroot==10.0.1
|
||||
six==1.16.0
|
||||
cherrypy==18.9.0
|
||||
jaraco.functools==4.0.0
|
||||
jaraco.functools==4.0.1
|
||||
jaraco.collections==5.0.0
|
||||
jaraco.text==3.8.1 # Newer version introduces irrelevant extra dependencies
|
||||
jaraco.classes==3.3.1
|
||||
jaraco.classes==3.4.0
|
||||
jaraco.context==4.3.0
|
||||
more-itertools==10.2.0
|
||||
zc.lockfile==3.0.post1
|
||||
@@ -24,27 +24,27 @@ sgmllib3k==1.0.0
|
||||
portend==3.2.0
|
||||
chardet==5.2.0
|
||||
PySocks==1.7.1
|
||||
puremagic==1.21
|
||||
puremagic==1.23
|
||||
guessit==3.8.0
|
||||
babelfish==0.6.0
|
||||
babelfish==0.6.1
|
||||
rebulk==3.2.0
|
||||
|
||||
# Recent cryptography versions require Rust. If you run into issues compiling this
|
||||
# SABnzbd will also work with older pre-Rust versions such as cryptography==3.3.2
|
||||
cryptography==42.0.5
|
||||
cryptography==42.0.7
|
||||
|
||||
# We recommend using "orjson" as it is 2x as fast as "ujson". However, it requires
|
||||
# Rust so SABnzbd works just as well with "ujson" or the Python built in "json" module
|
||||
ujson==5.9.0
|
||||
ujson==5.10.0
|
||||
|
||||
# Windows system integration
|
||||
pywin32==306; sys_platform == 'win32'
|
||||
windows-toasts==1.1.0; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-runtime==2.0.0b2; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Data.Xml.Dom==2.0.0b2; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Foundation==2.0.0b2; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Foundation.Collections==2.0.0b2; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.UI.Notifications==2.0.0b2; sys_platform == 'win32' and python_version > '3.8'
|
||||
windows-toasts==1.1.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-runtime==2.0.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Data.Xml.Dom==2.0.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Foundation==2.0.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.Foundation.Collections==2.0.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
winrt-Windows.UI.Notifications==2.0.1; sys_platform == 'win32' and python_version > '3.8'
|
||||
|
||||
# macOS system calls
|
||||
pyobjc-core==10.2; sys_platform == 'darwin'
|
||||
@@ -55,19 +55,19 @@ notify2==0.3.1; sys_platform != 'win32' and sys_platform != 'darwin'
|
||||
|
||||
# Apprise Requirements
|
||||
requests==2.31.0
|
||||
requests-oauthlib==1.4.0
|
||||
requests-oauthlib==2.0.0
|
||||
PyYAML==6.0.1
|
||||
markdown==3.6
|
||||
paho-mqtt==2.0.0
|
||||
paho-mqtt==1.6.1 # Pinned, newer versions don't work with AppRise yet
|
||||
|
||||
# Requests Requirements
|
||||
charset_normalizer==3.3.2
|
||||
idna==3.6
|
||||
idna==3.7
|
||||
urllib3==2.2.1
|
||||
certifi==2024.2.2
|
||||
oauthlib==3.2.2
|
||||
PyJWT==2.8.0
|
||||
blinker==1.7.0
|
||||
blinker==1.8.2
|
||||
|
||||
# Optional support for *nix tray icon.
|
||||
# Note that pygobject depends on pycairo, which requires pkg-config and cairo headers.
|
||||
|
||||
@@ -494,7 +494,7 @@ def _api_history(name: str, kwargs: Dict[str, Union[str, List[str]]]) -> bytes:
|
||||
|
||||
if name == "delete":
|
||||
# Only skip archive if specifically requested
|
||||
if kwargs.get("archive") == "0":
|
||||
if kwargs.get("archive") == "0" or cfg.disable_archive():
|
||||
archive = False
|
||||
|
||||
special = value.lower()
|
||||
|
||||
@@ -456,6 +456,7 @@ wait_for_dfolder = OptionBool("misc", "wait_for_dfolder", False)
|
||||
rss_filenames = OptionBool("misc", "rss_filenames", False)
|
||||
api_logging = OptionBool("misc", "api_logging", True)
|
||||
html_login = OptionBool("misc", "html_login", True)
|
||||
disable_archive = OptionBool("misc", "disable_archive", False)
|
||||
warn_dupl_jobs = OptionBool("misc", "warn_dupl_jobs", False)
|
||||
|
||||
keep_awake = OptionBool("misc", "keep_awake", True)
|
||||
|
||||
@@ -49,7 +49,7 @@ RENAMES_FILE = "__renames__"
|
||||
ATTRIB_FILE = "SABnzbd_attrib"
|
||||
REPAIR_REQUEST = "repair-all.sab"
|
||||
|
||||
SABCTOOLS_VERSION_REQUIRED = "8.1.0"
|
||||
SABCTOOLS_VERSION_REQUIRED = "8.2.0"
|
||||
|
||||
DB_HISTORY_VERSION = 1
|
||||
DB_HISTORY_NAME = "history%s.db" % DB_HISTORY_VERSION
|
||||
|
||||
0
sabnzbd/deobfuscate_filenames.py
Normal file → Executable file
0
sabnzbd/deobfuscate_filenames.py
Normal file → Executable file
@@ -64,7 +64,8 @@ class DirScanner(threading.Thread):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.loop: Optional[asyncio.AbstractEventLoop] = None
|
||||
# Create loop right away, so socks5 proxy doesn't break it
|
||||
self.loop = asyncio.new_event_loop()
|
||||
self.scanner_task: Optional[asyncio.Task] = None
|
||||
self.lock: Optional[asyncio.Lock] = None # Prevents concurrent scans
|
||||
self.error_reported = False # Prevents multiple reporting of missing watched folder
|
||||
@@ -109,8 +110,6 @@ class DirScanner(threading.Thread):
|
||||
def run(self):
|
||||
"""Start the scanner"""
|
||||
logging.info("Dirscanner starting up")
|
||||
self.loop = asyncio.new_event_loop()
|
||||
|
||||
try:
|
||||
self.start_scanner()
|
||||
self.loop.run_forever()
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
sabnzbd.downloader - download engine
|
||||
"""
|
||||
|
||||
import time
|
||||
import select
|
||||
import logging
|
||||
from math import ceil
|
||||
from threading import Thread, RLock, current_thread
|
||||
import socket
|
||||
import sys
|
||||
import ssl
|
||||
import time
|
||||
from datetime import date
|
||||
from typing import List, Dict, Optional, Union, Set
|
||||
|
||||
import sabnzbd
|
||||
@@ -1120,9 +1120,12 @@ def check_server_expiration():
|
||||
"""Check if user should get warning about server date expiration"""
|
||||
for server in config.get_servers().values():
|
||||
if server.expire_date():
|
||||
days_to_expire = ceil(
|
||||
(time.mktime(time.strptime(server.expire_date(), "%Y-%m-%d")) - time.time()) / (60 * 60 * 24)
|
||||
)
|
||||
try:
|
||||
days_to_expire = (date.fromisoformat(server.expire_date()) - date.today()).days
|
||||
except ValueError:
|
||||
# In case of invalid date, just warn
|
||||
days_to_expire = 0
|
||||
|
||||
# Notify from 5 days in advance
|
||||
if days_to_expire < 6:
|
||||
logging.warning(T("Server %s is expiring in %s day(s)"), server.displayname(), days_to_expire)
|
||||
|
||||
@@ -857,6 +857,7 @@ SPECIAL_BOOL_LIST = (
|
||||
"empty_postproc",
|
||||
"new_nzb_on_failure",
|
||||
"html_login",
|
||||
"disable_archive",
|
||||
"wait_for_dfolder",
|
||||
"enable_broadcast",
|
||||
"warn_dupl_jobs",
|
||||
|
||||
@@ -1783,6 +1783,8 @@ def create_env(nzo: Optional[NzbObject] = None, extra_env_fields: Dict[str, Any]
|
||||
extra_env_fields.update(
|
||||
{
|
||||
"program_dir": sabnzbd.DIR_PROG,
|
||||
"api_key": cfg.api_key(),
|
||||
"api_url": f"{sabnzbd.BROWSER_URL}/api",
|
||||
"par2_command": sabnzbd.newsunpack.PAR2_COMMAND,
|
||||
"multipar_command": sabnzbd.newsunpack.MULTIPAR_COMMAND,
|
||||
"rar_command": sabnzbd.newsunpack.RAR_COMMAND,
|
||||
@@ -1968,6 +1970,7 @@ def sevenzip_check(sevenzip: str) -> str:
|
||||
try:
|
||||
seven_command_output = run_command([sevenzip])
|
||||
# Example: 7-Zip (z) 21.06 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-11-24
|
||||
# 7-Zip (a) 24.03 (x86) : Copyright (c) 1999-2024 Igor Pavlov : 2024-03-23
|
||||
return re.search(r"(\d+\.\d+).*Copyright", seven_command_output).group(1)
|
||||
except:
|
||||
pass
|
||||
|
||||
@@ -28,9 +28,9 @@ import urllib.request
|
||||
import urllib.parse
|
||||
import http.client
|
||||
import json
|
||||
import apprise
|
||||
from threading import Thread
|
||||
from typing import Optional, Dict, Union
|
||||
import apprise
|
||||
|
||||
import sabnzbd
|
||||
import sabnzbd.cfg
|
||||
@@ -116,7 +116,7 @@ def get_prio(notification_type: str, section: str) -> int:
|
||||
return -1000
|
||||
|
||||
|
||||
def get_target(notification_type: str, section: str) -> Union[str, bool, None]:
|
||||
def get_targets(notification_type: str, section: str) -> Union[str, bool, None]:
|
||||
"""Check target of `notification_type` in `section` if enabled is set"""
|
||||
try:
|
||||
if sabnzbd.config.get_config(section, "%s_target_%s_enable" % (section, notification_type))() > 0:
|
||||
@@ -182,7 +182,9 @@ def send_notification(
|
||||
|
||||
# Apprise
|
||||
if sabnzbd.cfg.apprise_enable() and check_cat("apprise", job_cat):
|
||||
if sabnzbd.cfg.apprise_urls() and check_classes(notification_type, "apprise"):
|
||||
# it is possible to not define global apprise_urls() but only URLs for a specific type
|
||||
# such as complete or disk_full.
|
||||
if get_targets(notification_type, "apprise"):
|
||||
Thread(target=send_apprise, args=(title, msg, notification_type)).start()
|
||||
|
||||
# Notification script.
|
||||
@@ -326,8 +328,6 @@ def send_apprise(title, msg, notification_type, force=False, test=None):
|
||||
app_id="SABnzbd",
|
||||
app_desc="SABnzbd Notification",
|
||||
app_url="https://sabnzbd.org/",
|
||||
image_path_mask=os.path.join(sabnzbd.DIR_PROG, "icons", "apprise", "apprise-{TYPE}.png"),
|
||||
image_url_mask="https://sabnzbd.org/images/icons/apprise/{TYPE}.png",
|
||||
image_url_logo="https://sabnzbd.org/images/icons/apple-touch-icon-180x180-precomposed.png",
|
||||
)
|
||||
|
||||
@@ -336,8 +336,12 @@ def send_apprise(title, msg, notification_type, force=False, test=None):
|
||||
|
||||
if not test:
|
||||
# Get a list of tags that are set to use the common list
|
||||
if target := get_target(notification_type, "apprise"):
|
||||
if target := get_targets(notification_type, "apprise"):
|
||||
if target is True:
|
||||
if not urls:
|
||||
# Nothing to notify
|
||||
logging.warning(T("Failed to send Apprise message - no URLs defined"))
|
||||
return ""
|
||||
# Use default list
|
||||
apobj.add(urls)
|
||||
elif not apobj.add(target):
|
||||
|
||||
@@ -317,9 +317,9 @@ SKIN_TEXT = {
|
||||
"opt-history_retention": TT("History Retention"),
|
||||
"history_retention-all": TT("Keep all jobs"),
|
||||
"history_retention-number-archive": TT("Move jobs to the archive if the history exceeds specified number of jobs"),
|
||||
"history_retention-number-delete": TT("Delete jobs if the history exceeds specified number of jobs"),
|
||||
"history_retention-number-delete": TT("Delete jobs if the history and archive exceeds specified number of jobs"),
|
||||
"history_retention-days-archive": TT("Move jobs to the archive after specified number of days"),
|
||||
"history_retention-days-delete": TT("Delete jobs after specified number of days"),
|
||||
"history_retention-days-delete": TT("Delete jobs from the history and archive after specified number of days"),
|
||||
"history_retention-archive": TT("Move all completed jobs to archive"),
|
||||
"history_retention-none": TT("Delete all completed jobs"),
|
||||
"history_retention-limit": TT("Jobs"),
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
# You MUST use double quotes (so " and not ')
|
||||
# Do not forget to update the appdata file for every major release!
|
||||
|
||||
__version__ = "4.3.0Alpha1"
|
||||
__baseline__ = "unknown"
|
||||
__version__ = "4.3.2"
|
||||
__baseline__ = "41e5dfdf18165d1d0f9f1c0b7eff6e3ceb5d8a36"
|
||||
|
||||
@@ -3,7 +3,7 @@ pytest==7.4.4
|
||||
setuptools
|
||||
selenium
|
||||
requests
|
||||
pyfakefs
|
||||
pyfakefs<5.4.0
|
||||
werkzeug<2.1.0 # Breaks httpbin in newer versions
|
||||
pytest-httpbin
|
||||
pytest-httpserver
|
||||
|
||||
200
tests/test_notifier.py
Normal file
200
tests/test_notifier.py
Normal file
@@ -0,0 +1,200 @@
|
||||
#!/usr/bin/python3 -OO
|
||||
# Copyright 2007-2024 by The SABnzbd-Team (sabnzbd.org)
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
"""
|
||||
tests.test_notifier - Testing notification functionality
|
||||
"""
|
||||
import re
|
||||
from sabnzbd.notifier import send_notification, send_apprise, NOTIFICATION_TYPES
|
||||
from unittest import mock, TestCase
|
||||
import sabnzbd.cfg as cfg
|
||||
from sabnzbd.config import Option
|
||||
from importlib import reload
|
||||
|
||||
|
||||
class TestNotifier(TestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(self):
|
||||
# hack since test_misc uses @set_config decorator eliminating all of the default configuration
|
||||
# We wnat to test with the default configuration in place; This safely resets all fields and
|
||||
# replaces them correctly in memory
|
||||
reload(cfg)
|
||||
|
||||
# capture state of config so we can reverse it
|
||||
self._saved_cfg = {}
|
||||
for attr in dir(cfg):
|
||||
if isinstance(getattr(cfg, attr), Option):
|
||||
# Backup configuration as it was before entering this test object
|
||||
self._saved_cfg[attr] = getattr(cfg, attr).get()
|
||||
# Set our value to be a default
|
||||
getattr(cfg, attr).set(getattr(cfg, attr).default)
|
||||
|
||||
@classmethod
|
||||
def setUp(self):
|
||||
# Enforce our default values associated with the class
|
||||
for attr in dir(cfg):
|
||||
if isinstance(getattr(cfg, attr), Option):
|
||||
getattr(cfg, attr).set(getattr(cfg, attr).default)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(self):
|
||||
# rollback our assignments to be as they were
|
||||
for k, v in self._saved_cfg.items():
|
||||
getattr(cfg, k).set(v)
|
||||
|
||||
@mock.patch("sabnzbd.DIR_PROG")
|
||||
@mock.patch("apprise.Apprise.notify")
|
||||
@mock.patch("apprise.Apprise.add")
|
||||
def test_send_apprise_notification(self, mock_add, mock_notify, mock_sabdir):
|
||||
"""
|
||||
Test send_apprise() outside of threading call to verify it handles requests properly
|
||||
"""
|
||||
|
||||
#
|
||||
# Mocks below pertain to testing
|
||||
#
|
||||
|
||||
# Asset just needs to be anything at all
|
||||
mock_sabdir.return_value = "/tmp"
|
||||
cfg.apprise_enable.set(True)
|
||||
urls = ", ".join(
|
||||
[
|
||||
"json://localhost",
|
||||
"xml://localhost",
|
||||
"pbul://credentials",
|
||||
]
|
||||
)
|
||||
cfg.apprise_urls.set(urls)
|
||||
mock_notify.return_value = True
|
||||
|
||||
# Startup is disabled by default
|
||||
assert send_apprise("title", "body", "startup") == ""
|
||||
assert mock_notify.call_count == 0
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
|
||||
cfg.apprise_target_startup_enable.set(True)
|
||||
assert send_apprise("title", "body", "startup") == ""
|
||||
assert mock_notify.call_count == 1
|
||||
mock_add.assert_called_once_with(urls)
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
|
||||
for attr in dir(cfg):
|
||||
# Enable all of our apprise attributes
|
||||
if isinstance(getattr(cfg, attr), Option) and re.match("^apprise_target_.+_enable$", attr):
|
||||
getattr(cfg, attr).set(True)
|
||||
|
||||
for t in NOTIFICATION_TYPES.keys():
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
assert send_apprise("title", "body", t) == ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
mock_add.assert_called_once_with(urls)
|
||||
|
||||
# Garbage in, get's garbage out
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
assert send_apprise("title", "body", "garbage_type") == ""
|
||||
# Nothing sent
|
||||
assert mock_notify.call_count == 0
|
||||
assert mock_add.call_count == 0
|
||||
|
||||
# No URLs defined
|
||||
cfg.apprise_urls.set("")
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
assert send_apprise("title", "body", "other") == ""
|
||||
assert mock_notify.call_count == 0
|
||||
assert mock_add.call_count == 0
|
||||
|
||||
# Special Targets
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
cfg.apprise_target_other.set("xml://custom/other")
|
||||
assert send_apprise("title", "body", "other") == ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
# Target value over-rides; this tests that a user can provide
|
||||
# over-rides to the Apprise URLs
|
||||
mock_add.assert_called_once_with("xml://custom/other")
|
||||
|
||||
# Over-ride is still set even if general URLS are provided
|
||||
cfg.apprise_urls.set(urls)
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
assert send_apprise("title", "body", "other") == ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
# Target value over-rides; this tests that a user can provide
|
||||
# over-rides to the Apprise URLs
|
||||
mock_add.assert_called_once_with("xml://custom/other")
|
||||
|
||||
# Test case where notify() fails
|
||||
mock_notify.return_value = False
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
# A non-string is returned
|
||||
assert send_apprise("title", "body", "other") != ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
|
||||
# Test other exception handlings
|
||||
mock_notify.return_value = None
|
||||
mock_notify.side_effect = AttributeError
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
# A non-string is returned
|
||||
assert send_apprise("title", "body", "other") != ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
|
||||
# Test Mode
|
||||
# Return the status to being a proper return value
|
||||
mock_notify.return_value = True
|
||||
mock_notify.side_effect = None
|
||||
mock_notify.reset_mock()
|
||||
mock_add.reset_mock()
|
||||
# Download is enabled by default; set Test flag
|
||||
assert send_apprise("title", "body", "download", test={"apprise_urls": urls}) == ""
|
||||
assert mock_notify.call_count == 1
|
||||
assert mock_add.call_count == 1
|
||||
mock_add.assert_called_once_with(urls)
|
||||
|
||||
@mock.patch("threading.Thread.start")
|
||||
def test_send_notification_as_apprise(self, mock_thread):
|
||||
"""
|
||||
Test send_apprise() inside it's threaded check environment
|
||||
"""
|
||||
|
||||
# Set up our config the way we want it
|
||||
cfg.apprise_enable.set(True)
|
||||
cfg.apprise_urls.set("okay://")
|
||||
|
||||
# startup is disabled by default
|
||||
assert not cfg.apprise_target_startup_enable.get()
|
||||
send_notification("title", "body", "startup")
|
||||
assert mock_thread.call_count == 0
|
||||
mock_thread.reset_mock()
|
||||
|
||||
cfg.apprise_target_startup_enable.set(True)
|
||||
assert cfg.apprise_target_startup_enable.get()
|
||||
send_notification("title", "body", "startup")
|
||||
assert mock_thread.call_count == 1
|
||||
mock_thread.reset_mock()
|
||||
BIN
win/7zip/7za.exe
BIN
win/7zip/7za.exe
Binary file not shown.
@@ -1,31 +1,125 @@
|
||||
7-Zip Extra
|
||||
~~~~~~~~~~~
|
||||
License for use and distribution
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Copyright (C) 1999-2019 Igor Pavlov.
|
||||
|
||||
7-Zip Extra files are under the GNU LGPL license.
|
||||
|
||||
|
||||
Notes:
|
||||
You can use 7-Zip Extra on any computer, including a computer in a commercial
|
||||
organization. You don't need to register or pay for 7-Zip.
|
||||
|
||||
|
||||
GNU LGPL information
|
||||
--------------------
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You can receive a copy of the GNU Lesser General Public License from
|
||||
http://www.gnu.org/
|
||||
|
||||
7-Zip Extra
|
||||
~~~~~~~~~~~
|
||||
License for use and distribution
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Copyright (C) 1999-2024 Igor Pavlov.
|
||||
|
||||
7-Zip Copyright (C) 1999-2024 Igor Pavlov.
|
||||
|
||||
The licenses for files are:
|
||||
|
||||
- 7za.exe:
|
||||
- The "GNU LGPL" as main license for most of the code
|
||||
- The "BSD 3-clause License" for some code
|
||||
- The "BSD 2-clause License" for some code
|
||||
- All other files: the "GNU LGPL".
|
||||
|
||||
Redistributions in binary form must reproduce related license information from this file.
|
||||
|
||||
Note:
|
||||
You can use 7-Zip Extra on any computer, including a computer in a commercial
|
||||
organization. You don't need to register or pay for 7-Zip.
|
||||
|
||||
It is allowed to digitally sign DLL and EXE files included into this package
|
||||
with arbitrary signatures of third parties.
|
||||
|
||||
|
||||
GNU LGPL information
|
||||
--------------------
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You can receive a copy of the GNU Lesser General Public License from
|
||||
http://www.gnu.org/
|
||||
|
||||
|
||||
|
||||
BSD 3-clause License in 7-Zip code
|
||||
----------------------------------
|
||||
|
||||
The "BSD 3-clause License" is used for the following code in 7za.exe
|
||||
- ZSTD data decompression.
|
||||
that code was developed using original zstd decoder code as reference code.
|
||||
The original zstd decoder code was developed by Facebook Inc,
|
||||
that also uses the "BSD 3-clause License".
|
||||
|
||||
Copyright (c) Facebook, Inc. All rights reserved.
|
||||
Copyright (c) 2023-2024 Igor Pavlov.
|
||||
|
||||
Text of the "BSD 3-clause License"
|
||||
----------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
BSD 2-clause License in 7-Zip code
|
||||
----------------------------------
|
||||
|
||||
The "BSD 2-clause License" is used for the XXH64 code in 7za.exe.
|
||||
|
||||
XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet.
|
||||
|
||||
Copyright (c) 2012-2021 Yann Collet.
|
||||
Copyright (c) 2023-2024 Igor Pavlov.
|
||||
|
||||
Text of the "BSD 2-clause License"
|
||||
----------------------------------
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
---
|
||||
|
||||
@@ -18,14 +18,14 @@ faster repairing, smaller recovery files, batch scripting, and so on.
|
||||
MultiPar supports both PAR 1.0 and PAR 2.0 specifications.
|
||||
See "http://parchive.sourceforge.net/" for details of Parchive.
|
||||
MultiPar uses UTF-8 or UTF-16 to treat filenames with non-ASCII characters.
|
||||
While MultiPar and par2_tbb can treat sub-directory and UTF-8 filename,
|
||||
While MultiPar and par2cmdline can treat sub-directory and UTF-8 filename,
|
||||
QuickPar and other PAR2 clients cannot treat them.
|
||||
Almost all PAR2 clients don't support UTF-16 filename and comment.
|
||||
Be careful to use those special features.
|
||||
|
||||
[ System requirement ]
|
||||
|
||||
MultiPar requires a PC with Windows XP or later (Windows Vista, 7, 8, 10, etc).
|
||||
MultiPar requires a PC with Windows Vista or later (Windows 7, 8, 10).
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
@@ -71,14 +71,13 @@ Don't send current PAR3 files to others, who may not have the same version.
|
||||
|
||||
[ How to install or uninstall with installer package ]
|
||||
|
||||
Double click setup file ( MultiPar129_setup.exe or something like this name ),
|
||||
Double click setup file ( MultiPar133_setup.exe or something like this name ),
|
||||
and follow the installer dialog.
|
||||
At version up, if you want to use previous setting, overwrite install is possible.
|
||||
Before overwrite install, you should un-check "Integrate MultiPar into Shell".
|
||||
You may need to re-start OS after overwrite install or uninstall rarely.
|
||||
To install under "Program Files" directory on Windows Vista/7/8,
|
||||
you must start the installer with administrative privileges by selecting
|
||||
"Run as administrator" on right-click menu.
|
||||
To install under "Program Files" or "Program Files (x86)" directory,
|
||||
you must select "Install for all users" at the first dialog.
|
||||
|
||||
You can uninstall through the Windows OS's Control Panel,
|
||||
or double click unins000.exe in a folder which MultiPar was installed.
|
||||
@@ -100,7 +99,7 @@ In either case, user made icons and association are available for the user only.
|
||||
|
||||
[ How to install with archive version ]
|
||||
|
||||
Unpack compressed file ( MultiPar129.zip or something like this name ) in a folder.
|
||||
Unpack compressed file ( MultiPar133.zip or something like this name ) in a folder.
|
||||
MultiPar.exe is the interface of MultiPar.
|
||||
|
||||
You can create short-cut icon or send-to link at Option window later.
|
||||
@@ -119,8 +118,8 @@ so you need to delete the folder.
|
||||
you must clear the check before un-install.
|
||||
If you have deleted MultiPar.exe already, you can un-install the DLL manually.
|
||||
Open "Command Prompt" and change directory to MultiPar's folder,
|
||||
then type "RegSvr32.exe /u MultiParShlExt.dll" to remove shell extension.
|
||||
You cannot delete "MultiParShlExt.dll", while it is used by OS or Explorer.
|
||||
then type "RegSvr32.exe /u MultiParShlExt64.dll" to remove shell extension.
|
||||
You cannot delete "MultiParShlExt64.dll", while it is used by OS or Explorer.
|
||||
You may log-off and log-on again to OS before deleting the file.
|
||||
|
||||
[ How to change installed folder of archive version ]
|
||||
@@ -142,7 +141,7 @@ They are written by Yutaka Sawada.
|
||||
Though console applications are open source (PAR clients are GPL),
|
||||
GUI application is closed source.
|
||||
Some article are available at my web site.
|
||||
(URL: "http://hp.vector.co.jp/authors/VA021385/")
|
||||
(URL: "https://hp.vector.co.jp/authors/VA021385/")
|
||||
If you want source code, contact with me by e-mail.
|
||||
|
||||
|
||||
@@ -150,8 +149,8 @@ If you want source code, contact with me by e-mail.
|
||||
|
||||
[ Support ]
|
||||
|
||||
Because I cannot connect to the Internet so often, I may check mails once a week.
|
||||
Please wait very long to receive my mail reply.
|
||||
I use GitHub issue's page as a web-forum for MultiPar users.
|
||||
(URL: "https://github.com/Yutaka-Sawada/MultiPar/issues")
|
||||
|
||||
My name is Yutaka Sawada.
|
||||
E-mail address is "tenfon (at mark) outlook.jp".
|
||||
@@ -165,15 +164,14 @@ The (at mark) is format to avoid junk mails, and replace it with "@".
|
||||
I get many spam mails from oversea.
|
||||
If an e-mail is detected as junk mail or suspicious,
|
||||
mail server may delete it automatically, and I won't see it.
|
||||
When you never get reply, you may ask at a web-forum.
|
||||
|
||||
|
||||
[ Link ]
|
||||
|
||||
I use Vector 's author page to introduce MultiPar.
|
||||
(URL: "http://hp.vector.co.jp/authors/VA021385/")
|
||||
(URL: "https://hp.vector.co.jp/authors/VA021385/")
|
||||
Because there is another official download page,
|
||||
(URL: "http://www.vector.co.jp/soft/dl/winnt/util/se460801.html")
|
||||
(URL: "https://www.vector.co.jp/soft/dl/winnt/util/se460801.html")
|
||||
using direct link to files on the page isn't preferable.
|
||||
When you write a link on somewhere, please don't include filename.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user