Compare commits

...

304 Commits

Author SHA1 Message Date
Safihre
03c10dce91 Update text files for 2.3.9 2019-05-24 09:32:34 +02:00
Safihre
bd5331be05 Merge branch 'develop' into 2.3.x 2019-05-24 09:12:02 +02:00
Safihre
a50a65ee7c Remove unneeded get_bps
Removes overhead, gets called a lot
2019-05-23 10:54:03 +02:00
Safihre
8665af91f2 Remove unneeded lock
Get's called a lot, adds overhead due to lock.
2019-05-23 10:54:03 +02:00
Safihre
8641f86631 Remove print statement that slipped in with commit
Again.. Sigh.
2019-05-19 13:45:00 +02:00
Safihre
46e1645289 Correct typo in release notes 2019-05-18 10:56:39 +02:00
SABnzbd Automation
45de8c7206 Automatic translation update 2019-05-18 08:01:28 +00:00
Safihre
4ce3965747 Update text files for 2.3.9RC2 2019-05-18 09:56:05 +02:00
Safihre
9d4af19db3 Merge branch 'develop' into 2.3.x 2019-05-18 09:45:20 +02:00
Safihre
55f811289d Prevent false-positive removing of samples
Closes #1284, #1063, #157
2019-05-17 15:14:18 +02:00
Safihre
fbb637e5e3 Duplicate Detection doesn't look at History filenames
Closes #1288
2019-05-17 15:14:18 +02:00
Safihre
f628dda4e7 Propgation delay could show even if it was not configured 2019-05-12 09:23:35 +02:00
Safihre
48e034f4be Update text files for 2.3.9RC1 2019-05-07 13:50:20 +02:00
Safihre
f8959baa2f Revert "Notify develop-users that we will switch to Python 3"
This reverts commit fb238af7de.
2019-05-07 13:35:13 +02:00
Safihre
8ed5997eae Merge branch 'develop' into 2.3.x 2019-05-07 13:10:10 +02:00
Safihre
129d3eaf07 Handle "Unexpected end of archive" from UnRar
Closes #1282
2019-05-07 11:01:16 +02:00
Safihre
350db4afc0 Unpacking could hang forever on unicode downloads 2019-05-07 09:47:58 +02:00
Safihre
0a8ffd233e Use Python 2.7 for TravisCI tests 2019-05-07 09:29:34 +02:00
Safihre
a74b500e96 Update MultiPar to v1.3.0.5 and UnRar to 5.71 2019-05-07 09:21:48 +02:00
Safihre
1298e7ccce Non existing categories should result in Default being returned 2019-05-07 09:12:14 +02:00
Safihre
e1c61c41ca Display of Bytes/second speeds was incorrect
Not really relevant, but still
2019-05-07 09:11:25 +02:00
Safihre
3da76e15d2 Pause longer before registering single click
Closes #1210
2019-05-07 09:02:25 +02:00
Safihre
b116c24b84 Only log pre-check once 2019-05-07 09:01:07 +02:00
Safihre
a43810ec46 Rename Server Load-balancing
See #1249
2019-05-07 09:00:52 +02:00
Safihre
d4954b52ec Remove over-active unrar-stop detection
Too many false-positives.
2019-05-07 08:58:53 +02:00
Safihre
b0332e141c Remove error.log if it is too big 2019-04-21 10:52:40 +02:00
Safihre
80a181816e Only delete completed jobs from history when using max number of jobs
See https://forums.sabnzbd.org/viewtopic.php?f=3&t=24144&p=118606#p118605
2019-04-20 21:43:10 +02:00
Safihre
0dec3b7ec3 Remove bad print statement of par2 files
Closes #1269
2019-04-19 09:00:04 +02:00
Safihre
2c92a7621c Test Download could fail if clicked on icon instead of button
Closes #1263
2019-04-02 08:26:53 +02:00
Safihre
e05beb71e6 Only get series info when adding to the database 2019-03-20 14:29:06 +01:00
Safihre
6d82c7e542 Series Duplicate detection did not work as result of Direct Unpack
The Post-Processing time would be 0 seconds, so it would never store duplicate-check information. Oops.
2019-03-20 12:57:44 +01:00
Safihre
fb238af7de Notify develop-users that we will switch to Python 3 2019-03-18 18:45:05 +01:00
Safihre
6b9e3cd9d8 Merge branch '2.3.x' into develop 2019-03-18 18:44:09 +01:00
Safihre
0dd1f647d8 Update text files for 2.3.8 2019-03-18 09:23:24 +01:00
Safihre
6999872ec3 Update text files for 2.3.8 RC 1 2019-03-13 09:03:02 +01:00
Safihre
83ccc0a765 Merge branch 'develop' into 2.3.x 2019-03-13 08:19:58 +01:00
Safihre
bf4b06f620 Update MultiPar to v1.3.0.4 2019-03-12 08:31:32 +01:00
Safihre
8f290a11ce Update 7zip to 19.00 2019-03-12 08:31:04 +01:00
Safihre
72fda0117f Update WinRAR to 5.70
#1238
2019-02-26 17:40:10 +01:00
Safihre
d1cfa51a46 Always use correct supported file types
Closes #1227
It's also clear without the "Formats"
2019-02-26 17:27:33 +01:00
Safihre
d6a5f4c0dc Include SSL-ciphers when testing a Server
Closes #1231
2019-02-14 08:32:15 +01:00
Safihre
124701c118 Fix README typo 2019-02-14 08:16:45 +01:00
Safihre
d1adc8abc1 Update text files for 2.3.8 Beta 1 2019-02-11 08:07:45 +01:00
Safihre
0c2cfd6225 Revert "Notify develop-users that we will switch to Python 3"
This reverts commit 6ed9dcfc95.
2019-02-11 07:46:36 +01:00
Safihre
f280363df5 Merge branch 'develop' into 2.3.x 2019-02-11 07:46:21 +01:00
Safihre
6ed9dcfc95 Notify develop-users that we will switch to Python 3 2019-02-09 10:09:47 +01:00
Safihre
4008bd004f Update 7zip to 18.06 2019-02-08 09:59:25 +01:00
Safihre
cbbdccca81 Link supported file types in template
Closes #1227
2019-02-05 13:34:22 +01:00
SABnzbd Automation
0168d8870c Automatic translation update 2019-02-04 11:56:02 +00:00
Safihre
d6269099aa Sorting would fail on root-folders
It would try to make "C:Folder" instead of "C:\Folder"
2019-02-04 09:29:23 +01:00
Safihre
5548bd9c7e Filenames would not be sanitized with "Make Windows compatible" 2019-01-27 11:20:25 +01:00
Safihre
5c8483f393 Update LGTM config a bit more 2019-01-25 08:57:45 +01:00
Safihre
b9a344992b Remove Email Templates Folder from Notifications page
This way we can hide it
2019-01-22 13:37:38 +01:00
Safihre
a85a988b22 Lower connections in CI-test to prevent failures
Travis rotates between 10 IP's every few ms.. Madness. https://twitter.com/travisci/status/1085214062152159232
Because of that we can't use more than 2 connections, otherwise the newsservers get very cranky.
2019-01-22 08:48:56 +01:00
Safihre
d9808a7550 Wake up downloader when updating server-details
Through CI I found that updates to servers (including deleting servers) were processed with a delay because the downloader could be sleeping.
2019-01-22 08:44:34 +01:00
Safihre
92894e9301 Update LGTM based on feedback
See #1221
2019-01-22 07:45:00 +01:00
Safihre
e59a28b617 Add LGTM code-analysis 2019-01-20 18:02:10 +01:00
Safihre
27429a1415 Update TravisCI/AppVeyor newsserver information 2019-01-12 10:55:47 +01:00
Safihre
8f9e1b2eb7 Set snapcraft grade to stable so it can be published
This snapcraft stuff is just a developer's nightmare. They pretend it is easy, but for developers that introduced way to much customization and weird features..
2019-01-12 10:48:10 +01:00
Safihre
663330e251 Merge branch 'master' into 2.3.x 2019-01-12 09:31:44 +01:00
Safihre
4432e5684a Set version to 2.3.7 2019-01-12 09:31:11 +01:00
Safihre
92ecc2d0d4 Merge branch 'develop' 2019-01-12 09:30:05 +01:00
SABnzbd Automation
7ea897ef39 Automatic translation update 2019-01-12 08:25:58 +00:00
Safihre
7a8df5ee91 Update text files for 2.3.7 2019-01-12 09:19:55 +01:00
Safihre
4c851b458a Wait a bit before reporting failed unrar kill 2019-01-10 14:09:58 +01:00
Safihre
43ad83cee4 Prevent rare race-condition in DirectUnpack and Par2-renamer 2019-01-10 14:09:35 +01:00
Safihre
6f69bfd9ce Wrongly calculated Fast Fail percentage 2019-01-08 14:23:40 +01:00
SABnzbd Automation
f2423fd8a1 Automatic translation update 2019-01-07 14:26:07 +00:00
Safihre
1875cbcb52 Correct parsing of Snap-grade
See #1201
2018-12-21 09:49:59 +01:00
Safihre
92410fc1ef Merge branch 'master' into 2.3.x 2018-12-20 22:53:42 +01:00
Safihre
ee7e209a8b Set version to 2.3.6 2018-12-20 22:52:52 +01:00
Safihre
9bc1601939 Merge branch 'develop' 2018-12-20 22:51:54 +01:00
Erik Berkun-Drevnig
5bbbf602f9 Fix missing unrar, fix Python encoding 2018-12-19 08:58:29 +01:00
Safihre
8ab3ebd5f6 Merge branch 'master' into 2.3.x 2018-11-21 15:53:21 +01:00
Erik Berkun-Drevnig
19946684d5 Add initial snap support (#1183)
* Add initial snap support
* Apply review feedback
* Fix armhf and arm64 builds
* Use PPA and build lang files
* Add openssl for x86
* Remove unnecessary stage-packages
* Improve arch grammar
* Add back dev packages for building extensions
* Add back missing SSL
* Add icon
* Update snapcraft.yaml
2018-10-31 07:53:12 +01:00
Safihre
4075b1accb Set version to 2.3.5 2018-09-07 10:44:18 +02:00
Safihre
6d8a774443 Merge branch 'develop' 2018-09-07 10:41:57 +02:00
Safihre
0d8d5daff6 Merge branch 'master' into 2.3.x 2018-05-24 22:27:03 +02:00
Safihre
82857afed6 Set version to 2.3.4 2018-05-24 20:18:53 +02:00
Safihre
4e7f0a6a1e Merge branch 'develop' 2018-05-24 20:15:14 +02:00
Safihre
309f8e0044 Merge branch 'master' into 2.3.x 2018-04-22 19:20:50 +02:00
Safihre
730652e3e1 Set version to 2.3.3 2018-04-22 19:15:41 +02:00
Safihre
1aed59d52e Merge branch 'develop' 2018-04-22 19:14:52 +02:00
Safihre
902f67ef02 Merge remote-tracking branch 'origin/master' into 2.3.x 2018-03-13 16:29:46 +01:00
Safihre
3c87fd45c3 Set version to 2.3.2 2017-12-21 20:41:52 +01:00
Safihre
d0a258ce28 Merge branch 'develop' 2017-12-21 20:38:19 +01:00
Safihre
5c54b873bf Merge branch 'master' into 2.3.x 2017-10-27 10:13:20 +02:00
Safihre
5ca4811689 Set version to 2.3.1 and resolve merge conflicts 2017-10-27 10:12:36 +02:00
Safihre
043e5966ff Merge branch 'develop' 2017-10-27 10:07:42 +02:00
Safihre
d69796d351 Set version to 2.3.0 and resolve merge conflict 2017-09-21 10:13:56 +02:00
Safihre
a2d5713477 Merge branch 'develop' 2017-09-21 10:10:45 +02:00
Safihre
29ec4d9a23 Set 2.2.1 version and update translations 2017-08-25 22:11:47 +02:00
Safihre
22517a7cd7 Merge branch '2.2.x' 2017-08-25 22:07:15 +02:00
Safihre
bcc4dd75cf Update text files for 2.2.1 2017-08-25 21:58:48 +02:00
Safihre
97711ca82e Revert "Remove locks from ArticleCache"
This reverts commit 5e7558ce4a.
2017-08-25 21:57:16 +02:00
Safihre
e782237f27 More logging when adding NZB's 2017-08-25 21:49:24 +02:00
Safihre
52bb156c08 Ignore unpack errors in duplicate rarsets
Multipar and par2tbb will detect and log them so we can remove them, but par2cmdline will not.
2017-08-25 16:58:38 +02:00
Safihre
4361d82ddd Duplicate files in NZB could result in broken unpack after repair
Because par2 would detect them, but not use them. So ".1" files would later be used for unpack, even though it's not a real set.
2017-08-25 16:57:47 +02:00
Safihre
017cf8f285 Do not fail a job if recursive unpack fails
The user can handle it, we did our part.
2017-08-25 09:15:14 +02:00
Safihre
03cdf6ed5d Sync translatable texts from develop
To avoid conflicts on Launchpad
2017-08-24 23:40:37 +02:00
Safihre
cf347a8e90 Original files would be deleted after a MultiPar rename 2017-08-24 23:36:36 +02:00
Safihre
f06afe43e1 Use fileobj to prevent having to chdir, which can crash on macOS
If something is "wrong" with the current directory, for example when SABnzbd is started after downloading in a sandbox by macOS security, this function can error and break the adding of NZB's.
Have to use a fileobj, otherwise GZip will put the whole path inside there.
2017-08-24 16:36:13 +02:00
Safihre
fb301eb5c8 Update text files for 2.2.1RC2 2017-08-23 22:49:59 +02:00
Safihre
1562c3560b Handle '482 Download limt exceeded'
Closes #1009
2017-08-23 22:48:15 +02:00
Safihre
9813bc237f Only auto-disconnect after first run of verification 2017-08-23 21:42:56 +02:00
Safihre
b39fe059c6 Pause between unpacks on Windows, otherwise subprocess_fix overloads
Strange but true, but on jobs with many small files to unpack, it would just fail.
2017-08-23 21:42:17 +02:00
Safihre
a56c770a8b The real anti-stalling fix
Woohoo!
For each NZF (file) make sure all articles have tried a server before marking it as tried. Before if articles were still in transit they could be marked as tried on NZF level before the server could get to them,
2017-08-23 16:02:01 +02:00
Safihre
e3bf0edad8 TryList reset at NZO level also nessecary
Timing issue between when a new server is selected and when a job is added to the NZO-level try-list. Locks were tried, but failed.
2017-08-23 09:11:01 +02:00
Safihre
e35d9e4db3 Correct handeling of TryList when server has timeout 2017-08-23 08:32:47 +02:00
Safihre
c617d4321a Correctly remove + from INFO label in all languages 2017-08-22 16:13:24 +02:00
Safihre
0fd3a2881f Correct redirect after ports change 2017-08-22 10:19:42 +02:00
Safihre
0c1f7633de Only discard really non-unique hashes from md5of16k 2017-08-22 09:43:33 +02:00
Safihre
b7d5d49c84 Show hover-title that the compress icon is Direct Unpack 2017-08-22 09:43:26 +02:00
Safihre
9911b93ece Add error when NZO creation fails 2017-08-22 09:43:11 +02:00
Safihre
eeaad00968 Also hide email-accounts in logging 2017-08-22 09:43:06 +02:00
Safihre
e1bb8459e3 Take the risk of allowing up to 5 bad articles in jobs without Par2 2017-08-22 09:42:47 +02:00
Safihre
65c3ac0cc0 Warn in case the password file has too many passwords 2017-08-22 09:42:16 +02:00
Safihre
413c02a80f Do not run get_new_id forever in case of problems
#984
2017-08-22 09:41:40 +02:00
Safihre
80f118f304 UnRar is required to read some RAR files 2017-08-21 08:23:10 +02:00
Safihre
5c0a10e16b Update text files for 2.2.1RC1 2017-08-19 11:06:40 +02:00
Safihre
d9b32261e7 Reset all NZO TryList when doing Prospective Add
I thought in c14b3ed82a that this was enough, but clearly it is not.
2017-08-19 11:03:22 +02:00
Safihre
8d8ce52193 Stall prevention by checking TryList 2017-08-19 11:03:15 +02:00
Safihre
1cc2e25cda Update to 2.2.0 2017-08-17 10:47:04 +02:00
Safihre
4605c3fd30 Set version to 2.1.0 and make identical to develop 2017-06-09 11:35:46 +02:00
Safihre
ed7dc3f827 Merge branch 'develop' 2017-06-09 11:30:43 +02:00
Safihre
e69eeebdd8 Merge branch 'develop' - Update to 2.0.1 2017-05-24 12:14:56 +02:00
Safihre
5da5f1adc1 Set version to 2.0.0 2017-04-09 12:25:05 +02:00
Safihre
f47e92dec0 Merge branch 'develop' 2017-04-09 11:59:13 +02:00
Safihre
a894ca5171 Set version to 1.2.3 2017-03-18 13:05:04 +01:00
Safihre
5abe1140ae Merge branch '1.2.x' 2017-03-18 13:03:36 +01:00
Safihre
d34e14370c Chain certificates not loaded in all situations of extra servers 2017-03-18 11:43:46 +01:00
Safihre
c4f4a3131c Update 1.2.3 text files for extra bugfix 2017-03-18 11:40:57 +01:00
Safihre
dcbd9b57f3 CherryPy would fallback to (non-existing) pyopenssl for extra servers
Causing failed starts
2017-03-18 11:39:40 +01:00
Safihre
aad3b54a17 Update Text Files for 1.2.3
These patches were already tested within 2.0.0Alpha/Beta, so considerd safe.
2017-03-18 11:04:57 +01:00
Safihre
cde142a371 Windows paths can't end in a dot 2017-03-18 11:02:14 +01:00
Safihre
8bfc98ffc6 Glitter server unblock button wasn't working
Closes #864
2017-03-18 11:01:51 +01:00
Jonathon Saine
e46f21d566 Fix -w option as it no longer needs arguments. 2017-03-18 11:00:46 +01:00
Safihre
0e45fdcdfd Fix BPS manager breaking the downloader due to Quota 2017-03-18 10:28:31 +01:00
Safihre
eec7af16d7 Improve log obfuscation
It needs to match any charachters not just alpha-numeric
2017-03-18 10:28:03 +01:00
Safihre
6532425902 Kill the UnRar after a Windows failure
On Windows Server it seems unrar otherwise won't stop: https://forums.sabnzbd.org/viewtopic.php?f=3&t=22492
2017-03-18 10:27:57 +01:00
Safihre
44b896522c Unzip needs clipped paths
(7zip doesn't)
2017-03-18 10:26:32 +01:00
Safihre
1b16ee44cb Set version to 1.2.2 2017-02-28 11:17:24 +01:00
Safihre
d5f608c28c Merged branch 1.2.x into master 2017-02-28 11:16:59 +01:00
Safihre
555d8418e7 Update text files for 1.2.2 2017-02-25 22:12:34 +01:00
Safihre
8c22e35da4 Script paths were not clipped correctly 2017-02-25 22:07:25 +01:00
Safihre
95a7924b31 Set version to 1.2.1 and fix small discrepancies 2017-02-24 11:22:55 +01:00
Safihre
5830bebd95 Merge branch '1.2.x' 2017-02-24 11:16:18 +01:00
shypike
d32cf57c75 Update translations 2017-02-24 10:03:07 +01:00
Safihre
6d9242ebc5 Update text files for 1.2.1 Final 2017-02-23 11:53:56 +01:00
Safihre
cbc4f6a964 When retry of unpack due to Windows bug, send the actual password
We converted the password to "-p<password>" and when we had to retry it due to a Windows long-path fail, it would become "-p-p<password" and would incorrectly report that the password was wrong.
2017-02-21 20:09:07 +01:00
Safihre
2a3b2b9556 Forced diskspace check seperate from cached one
Closes #826. Otherwise the complete/incomplete get out of sync.
2017-02-20 15:43:55 +01:00
Safihre
53a219f12b Tooltip for Download/Incomplete in Status Windows
Closes #827
2017-02-20 09:03:45 +01:00
Safihre
48519dcfa0 Correct mistake in Diskspace calculation for Unix 2017-02-19 16:12:15 +01:00
Safihre
92542c58fe Diskspace for Complete folder was not calculated 2017-02-19 16:12:07 +01:00
Safihre
7eafe730f9 Modify RarFile to properly handle testrar on Windows
Because unrar doesn't support \\?\ notation for the path to the rarfile we used to clip the path. However, the Python functions that RarFile uses then fail on unicode or jobs with '?' in the filename. Now this is handled correctly, at the very last moment before testing the RAR.
2017-02-19 01:47:29 +01:00
Safihre
494e72a996 Update to 1.2.0 and set version 2017-01-13 17:00:51 +01:00
Safihre
84cc86f1d3 Update to 1.1.1 and set version (#731) 2016-11-11 13:58:07 +01:00
shypike
64479e2e5d Correct the merge of release 1.1.0 to the "master" branch. 2016-09-14 08:26:02 +02:00
shypike
13b523d9bd Merge pull request #681 from Safihre/master
Master to 1.1.0
2016-09-13 16:25:05 +02:00
Safihre
181881a21b Merge branch 'develop' 2016-09-11 22:16:42 +02:00
shypike
86d11095ac Merge pull request #592 from sabnzbd/1.0.x
Update master to 1.0.3
2016-06-10 19:01:03 +02:00
shypike
927ba3cd9d Update text files for 1.0.3 2016-06-04 13:34:11 +02:00
Safihre
6296fc1762 #568 Add code 482 to check for too-many-connections 2016-06-03 23:24:07 +02:00
shypike
60fbe44724 Support X-DNZB-PASSWORD header. 2016-06-03 22:18:56 +02:00
shypike
29e45da431 Fix NZB association for Windows.
Make sure that the second SABnzbd instance sends an UTF-8 encoded URL to the first instance.
Otherwise CherryPy will reject the API call.
2016-06-03 22:07:44 +02:00
shypike
d82e69eef4 Handle checksum error reports from unrar. 2016-06-02 23:19:57 +02:00
shypike
8c7d557252 Prevent job from hanging when adding back par2 files.
Sometimes already completed par2 files are being re-added to the queue as extra par2 files.
Because these files are already complete, there will be no attempt to download them
and as a result they will never leave the queue.
2016-06-02 22:11:59 +02:00
shypike
a56d6e5517 Merge pull request #577 from sabnzbd/1.0.x
1.0.x to master
2016-05-23 18:11:23 +02:00
shypike
7548d9e975 Correct base version number for 1.0.x releases. 2016-05-10 14:43:14 +02:00
shypike
b7e2bd9684 Update text files for 1.0.2 2016-05-03 19:39:45 +02:00
shypike
f0a243e3d3 Fix API status issues.
Remove the "ToPP" status, it serves no purpose.
Only truly deleted jobs should get the "Deleted" status,
not jobs moving from Download to PP queue.
2016-05-01 14:42:07 +02:00
shypike
6e108c9ef2 Prevent Completed and Failed jobs from getting status Deleted. 2016-04-30 11:47:03 +02:00
shypike
89edcc1924 Log the preferred character encoding 2016-04-30 11:18:32 +02:00
shypike
8a6aca47a1 Prevent stalling at 100% when QuickCheck is Off and "Download-all-pars" is On.
The repair function sent all extra par2 files back to the queue
even though they were already downloaded.
2016-04-28 22:42:51 +02:00
shypike
d03e5780b8 Fix API compatibility of queue statuses.
The new statuses TO_PP and DELETED should not be returned by the API.
Tools may not be able to handle them and they are only useful for internal purposes.
2016-04-27 12:03:37 +02:00
shypike
209d8f9b40 NNTP error 502 should not aways be interpreted as bad login.
It can also mean "too many connections".
2016-04-27 11:52:56 +02:00
shypike
c257b1be3d Update text files for 1.0.1 2016-04-26 19:57:22 +02:00
Safihre
2c48c8de2e Force MIME types for CSS and JS files
Caused problems on Windows if external programs overwriten it in registery.
See: http://forums.sabnzbd.org/viewtopic.php?f=2&t=20490
And: https://www.reddit.com/r/usenet/comments/4fkmcx/my_sab_interface_is_text_only/
2016-04-26 19:48:47 +02:00
shypike
a767ef6aed Fix API compatibility of queue.
The new statuses TO_PP and DELETED should not be returned by the API.
Tools may not be able to handle them and they are only useful for internal purposes.
2016-04-26 19:47:38 +02:00
shypike
ad61d1dd03 The pre-queue script can now return an accept value of 2, meaning immediate failure.
Supports front-ends which need the signal that an NZB has been
rejected by the pre-queue script.
2016-04-22 21:54:45 +02:00
shypike
33c3d187a0 Add start script for portable Windows installations 2016-04-22 16:44:37 +02:00
shypike
4eb486d4e2 Update text files for 1.0.0RC1 2016-04-16 15:31:48 +02:00
shypike
bfb6c167a4 Another attempt to set the default cache to 450M. 2016-04-16 15:27:35 +02:00
shypike
44abf3bdf6 Update text files for 1.0.1RC1 2016-04-15 23:12:22 +02:00
shypike
c950572592 Set default cache to 450M 2016-04-15 23:11:53 +02:00
shypike
3999cb13fd Update text files for 1.0.1RC1 2016-04-15 21:06:55 +02:00
shypike
af65075f0c Update text files for 1.0.0RC1 2016-04-15 21:05:53 +02:00
shypike
de2a2b465b Update text files for 1.0.1RC1 2016-04-13 22:41:13 +02:00
shypike
cd7a77f02d Revert "Set default cache size to 750MB on Windows and OSX."
This reverts commit 9b420e91c9.
2016-04-13 22:30:05 +02:00
shypike
f4a5394b63 Prevent creating orphan items in "incomplete" when deleting downloading jobs.
Due to previous issues where articles could be lost,
the nzf.deleted and no.deleted flags were not obeyed.
This could lead to creation of orphans when lost articles would be flushed.

Better solution: drop articles only when job is in a final state.
Also prevent NZO files from being saved when job is in "deleted" state.
2016-04-13 18:32:23 +02:00
jdfalk
3fb6a8dedb Update sabnzbd@.service
1. Added requirement for network to be up before sab starts.
2. Explicitly set service type to simple.
3. Enabled sabnzbd restart on service failure via systemd.
2016-04-13 18:22:11 +02:00
Safihre
50c8f84eba #448-#126 Forced item with missing articles caused overflow in paused queue
Closes #448
Closes #126
2016-04-13 18:21:41 +02:00
Safihre
2c7ecdee92 #464 Grabbing items don't always have status=grabbing
But now they do!
2016-04-07 21:45:28 +02:00
Safihre
72390a793a Add Optional label to Retry password 2016-04-07 21:45:17 +02:00
Safihre
04ad4e5d3e Update cache text to more 2016 values 2016-04-07 21:45:05 +02:00
Safihre
5ef9c6a433 #530 do not ignore files in QuickCheck
Par2 wouldn't ignore them either
2016-04-07 21:44:51 +02:00
shypike
e6baffc839 Prevent API crashes when 'mode' or 'name' have double entries. 2016-04-07 21:35:07 +02:00
shypike
e361eb25a5 Fix potential race condition in BPSmeter. 2016-04-01 21:18:19 +02:00
shypike
9b420e91c9 Set default cache size to 750MB on Windows and OSX.
To make handling of posts with large files more efficient.
2016-04-01 21:09:15 +02:00
Safihre
3a4bf971b2 #529 Fix unicode strip in OptionStr 2016-04-01 20:47:11 +02:00
Safihre
1128691c5d #527 Fix "Download all par2 files" behavior 2016-03-29 21:03:48 +02:00
Safihre
15043aef3f DB Strings should be encapsulated in ' not " 2016-03-29 21:03:30 +02:00
savef
2a3b4afa03 Treat ambiguous numeric values as number of minutes for custom pause time.
Currently if you just type "100" into the custom pause field it'll think you want 143015 minutes, that's useless. A lot of people are probably used to the old Plush behaviour of entering the number of minutes you want to pause for, it's also a much saner default. So in the case that the user just enters some numbers and nothing else, this assumes they want to pause for that many minutes.
2016-03-24 21:01:04 +01:00
shypike
00a98efa81 Fix race-condition when deleting an actively downloading job.
Closes #237
2016-03-24 20:57:27 +01:00
shypike
f013dd7f0d Accept MIME records that have only LF line endings.
Some tool developers just ignore the rule requiring CRLF.
2016-03-23 23:29:12 +01:00
shypike
7b91b1c769 Fix race condition when API and postprocessor both want to delete a history item. 2016-03-23 23:03:28 +01:00
shypike
5583cce322 When urlgrabber receives a 404, stop trying. 2016-03-23 23:00:38 +01:00
shypike
b995c5f992 Fix PushOver support.
Adjust priority levels to the current PushOver API.
Re-enable device field now that the PushOver API supports readable device labels.
2016-03-22 21:25:05 +01:00
shypike
214ac4a53d Prevent incompatibility due to missing 'script_log' field.
Fixes commit c0f2f59fc1
2016-03-20 15:24:07 +01:00
shypike
fc7e87f0df Merge branch '1.0.x' 2016-03-19 11:49:11 +01:00
Safihre
c0f2f59fc1 Fix breaking Glitter bug with large script_log 2016-03-18 14:11:54 +01:00
shypike
b90a847a6f Fix omission in README.mkd 2016-03-15 21:42:16 +01:00
shypike
a58bb385f5 Update text files for 1.0.0 2016-03-15 20:12:50 +01:00
shypike
9754baeb1c Fix handling of changed "ignore_samples" option.
Closes #510
2016-03-15 20:08:35 +01:00
shypike
ffcd154966 Update text files for 1.0.0 Final. 2016-03-14 19:12:59 +01:00
shypike
97cfe9488c Update text files for 1.0.0RC5 2016-03-11 19:24:27 +01:00
shypike
374b6f616a Fix crash in CherryPy when it reports problems with some IPv6 addresses.
A bug in Python's traceback logging causes a crash when an IPv6 address with an embedded % is reported.
2016-03-11 19:22:49 +01:00
Sander Jonkers
e2f51595b6 Because of dual IPv4/IPv6 clients, finding the public ipv4 needs special attention 2016-03-10 22:52:22 +01:00
shypike
04091a16aa Fix display of SABnzbd's icon by OSX Notification Center.
El Capitan doesn't accept the -sender parameter, so just omit it.
2016-03-08 16:40:44 +01:00
shypike
9d9d2fd9a2 Revert "Fix Plush dashboard"
This reverts commit 42f1a4926c.
2016-03-08 16:00:24 +01:00
shypike
5746115331 Suppress errors/warnings about bad "Rating" files when the feature is disabled. 2016-03-08 15:53:52 +01:00
Safihre
42f1a4926c Fix Plush dashboard 2016-03-05 11:23:19 +01:00
Safihre
7d87fd461b Fix Glitter display in <1MB/s range 2016-03-05 11:22:57 +01:00
shypike
1ba9976979 Update text files for 1.0.0RC4 2016-03-05 08:52:09 +01:00
shypike
659c199043 Fix --ipv6_hosting option.
Repairs commit 1cbff28
2016-03-05 08:50:13 +01:00
shypike
81a3f53226 Update text files for 1.0.0RC3 2016-03-04 20:39:01 +01:00
shypike
1cbff28f67 Disable listening on IPv6 addresses by the internal web server.
Setting Config->Special->ipv6_hosting to 1 will enable IPv6 listening.
Command line option --ipv6_hosting allows forcing the choice, should SABnzbd not start.
Closes #492
2016-03-04 19:26:50 +01:00
shypike
8e15acbf30 Update translations 2016-03-04 18:55:20 +01:00
Safihre
e07be60db6 #489 wrongly encoded & in the preload 2016-03-01 22:20:51 +01:00
Safihre
539c9662ff 'Default' not translated in Server-category 2016-03-01 22:20:35 +01:00
shypike
b396014f8d Fix IP test at startup.
Correction of problem introduced by commit afff88b "Use self-test.sabnzbd.org for connection tests".
2016-02-24 22:30:02 +01:00
shypike
1db32415b6 Update translations 2016-02-24 21:37:22 +01:00
shypike
b24629db6b Update text files for 1.0.0RC2 2016-02-24 21:11:43 +01:00
Safihre
9b5cdcf8fb Add trailing "/" to href's 2016-02-24 21:05:12 +01:00
shypike
4831415d14 Use self-test.sabnzbd.org for connection tests 2016-02-24 20:34:04 +01:00
Chris Thorn
a4c51f0b20 Parse bandwidth limit as a float instead of an integer so that non-integer values can be used as bandwidth limit 2016-02-24 20:09:02 +01:00
shypike
ec3ba1fb93 Changing server priorities during a download could lead to unexpected results and lockups.
Target priority of articles must be kept at the TryList level so that they
are reset when the try_list is reset.
Closes #378
2016-02-24 20:08:51 +01:00
Safihre
61966f7036 Plush dashboard local IPv4 wouldn't show if external failed
Typo!
For 1.0.0
2016-02-24 20:08:38 +01:00
Safihre
4f69e81841 Add link to information about SSL/yEnc 2016-02-24 20:07:48 +01:00
Safihre
d0d90581df Tweak first Config page 2016-02-24 20:07:35 +01:00
Safihre
8ea5c27633 Improve display of message on blocked server 2016-02-24 20:07:16 +01:00
shypike
517500fdf3 Add link to issue list on support site. 2016-02-19 22:42:30 +01:00
shypike
c4c1c9b6ab Prevent UI errors due to history_db handle not being available. 2016-02-19 22:22:42 +01:00
Safihre
2388889ede Filegrabber did not sanatize filename 2016-02-19 22:21:28 +01:00
Safihre
55cfe878d7 Catch failing Windows Notification
I assumed Windows notifications could not fail, but clearly they can:
http://forums.sabnzbd.org/viewtopic.php?f=11&t=20211&p=104438
When no tray-icon is available, it will fail and in the case of
completed NZB message it will restart the whole of SABnzbd.
2016-02-17 21:25:42 +01:00
Safihre
a2daaee468 Add Pystone score to Glitter status 2016-02-17 21:06:43 +01:00
Safihre
2c360e395e Limit to max 250 items per page (realistic limit) 2016-02-17 21:05:55 +01:00
Jonathon Saine
399cfee594 Add pyOpenSSL info to startup/utility/config base. Add OpenSSL & yEnc to config base as well. 2016-02-17 21:04:13 +01:00
shypike
be646ae6ab Set default for https verification to off. 2016-02-17 20:50:24 +01:00
shypike
b470253d9f Disable https verification when uploading NZB to running instance of SABnzbd. 2016-02-13 16:12:04 +01:00
shypike
b83c493492 Update translations 2016-02-11 01:06:52 +01:00
Safihre
991277bb01 Glitter broke on empty preload strings
See
http://forums.sabnzbd.org/viewtopic.php?f=11&t=20192&p=104368#p104368
In case of UnicodeError
2016-02-10 22:59:11 +01:00
Safihre
5626013b81 Don't allow name change or filesview on grabbing 2016-02-10 22:58:56 +01:00
Safihre
2810d37758 Make disabled servers look more disabled 2016-02-10 22:58:40 +01:00
Safihre
c2f08f01e0 #408 Show red when Add-NZB left empty 2016-02-10 22:57:30 +01:00
Safihre
17ff087e06 Do not confirm clearing warnings 2016-02-05 23:36:47 +01:00
Safihre
77de565b7c Link in message about Orphans was broken 2016-02-05 23:36:36 +01:00
Safihre
54d238aa4d Message labels were not translated
INFO and WARNING
2016-02-05 23:36:23 +01:00
Safihre
379d09f8cc Improve message about no localStorage
It happens more than I expected, so better make a proper message.
2016-02-05 23:35:23 +01:00
shypike
00de72b127 Update text files for 1.0.xRC1 2016-02-03 21:18:42 +01:00
shypike
f9c84fa7dd Fix trouble with disk speed meter (especially on Windows) Part 2.
Improve the benchmark by reducing Python overhead by writing larger blocks.
2016-02-03 21:08:47 +01:00
shypike
c8e46691bb Solve file name encoding issues for OSX.
- Names returned by unrar-commandline need to be Unicoded.
- For yEnc embedded names, only test for UTF-8 and CP1252, but not the local codepage.
- Suppress some bogus warnings
- Log the output of the unrar tool
2016-02-03 20:59:12 +01:00
shypike
df1bb636e5 Fix links in text files to pooit to 1.0.0 entries in the Wiki. 2016-02-03 20:51:19 +01:00
shypike
ff886fad0d Fix all links in the templates to point to 1.0.0 (or 1-0) entries in the Wiki. 2016-02-03 20:50:13 +01:00
shypike
6dbee7a413 Fix trouble with disk speed meter (especially on Windows) Part 2.
Move fix outside of the measurement loop.
Don't remove the test-file within the loop, but only after it's finished,
otherwise we'll still get a "Permission denied".
2016-01-30 10:52:28 +01:00
shypike
3f8fcd7172 Fix trouble with disk speed meter (especially on Windows).
Better handling when folder is not available or writable.
Windows requires some access outside of the Python code to avoid "permission denied".
2016-01-29 23:54:32 +01:00
shypike
d94f7388e6 Add a link on the main Config page, to the "issues" page on the Wiki 2016-01-29 19:55:04 +01:00
Safihre
ad8b49fea8 #408 Firefox-fix: word-wrap instead of word-break 2016-01-29 19:21:59 +01:00
Safihre
ce00270c12 #447 only show arguments-field for speedlimit 2016-01-29 19:21:41 +01:00
Safihre
8c501f8f58 #447 Servers in scheduler more clear 2016-01-29 19:21:30 +01:00
Safihre
ce313ebc65 #445 Reduce statusinfo timeout on startup 2016-01-29 19:21:18 +01:00
Safihre
887ad881a2 #444 HTTPS instead of HTTP for RSS favicon 2016-01-29 19:21:07 +01:00
Safihre
ce40827552 Fix breaking RSS page
Fixes http://forums.sabnzbd.org/viewtopic.php?f=11&t=20114
2016-01-29 19:20:52 +01:00
shypike
2777d89482 Fix typos that prevented notifications about disk full being sent. 2016-01-28 23:19:36 +01:00
shypike
727b300a0e Update translations 2016-01-24 16:34:40 +01:00
shypike
652b021a8e Update text files for 0.8.0Beta6 2016-01-24 16:26:26 +01:00
shypike
fdf33acfbb Allow "None" as selection for secondary skin. 2016-01-24 16:15:02 +01:00
shypike
b001bc9b6f Prevent multiple resume notifications.
Only report "Resume" when coming from Paused mode.
2016-01-24 15:18:24 +01:00
shypike
8802cb1d8c Notifications template contained two instances of "ncenter_enable", leading to problems.
The result was a list instead of a single value.
2016-01-24 15:18:07 +01:00
shypike
e19a2fbae7 Improve handling of an old queue when upgrading to 0.8.0+
Warn only for a non-empty queue.
For Windows, when using a relative "download_dir" based on the user profile,
prepend the path with "Documents".
No action when the -f parameter was used.
This way it will be easier to restore existing jobs.
2016-01-24 15:17:47 +01:00
Safihre
53e38f98f9 Firefox needs more time to process the Server AJAX 2016-01-24 15:16:52 +01:00
Safihre
e783e227f6 #438 Try to stop Firefox from checking checkboxes 2016-01-24 15:16:39 +01:00
shypike
f3dfbe4181 Fix problem where a stray RAR file would cause a failed unpack run.
When a job of which the RAR files are renamed by par2,
needs repair of one more more files, the original damaged files will stay behind.
This will cause SABnzbd to try a doomed attempt at unpacking.
SABnzbd should keep track of such files and delete them after repair.
2016-01-24 15:15:57 +01:00
shypike
bcd8ca8bc4 Fix potential crash when reverting par2 renames.
Can happen when files have been modified outside of SABnzbd's control.
2016-01-24 15:12:06 +01:00
shypike
816d6a63cd For SSL protocol choice, default to auto-negotiation.
The "V23" method is interpreted by OpenSSL as "negotiate the highest available protocol"
and should therefor be a safe choice (best chance of working and best security).
If a user wants to, it is possible to fix the protocol, to prevent interference in the negotiation.
We cannot just assume that we can use our highest fixed protocol, because some Usenet servers
are being slow with implementing TLS1.2
2016-01-24 15:11:30 +01:00
shypike
88d3f25700 Perform IPv6 test on port 443 instead of 80.
Works better with some proxies.
Closes issue #274
2016-01-19 18:13:42 +01:00
shypike
80f69b11db When trying to connect to another SABnzbd instance over HTTPS, don't verify certificates.
Very few SABnzbd installations will have valid certificates.
2016-01-19 18:03:33 +01:00
Safihre
81a11f20c8 Re-order Switches page 2016-01-19 17:30:01 +01:00
Safihre
9e2a839953 Config fixes 2016-01-19 17:30:01 +01:00
Safihre
3cefcde270 #408 Refresh on Config Special save to update the * 2016-01-19 17:30:01 +01:00
Safihre
87a1eacfe7 #408 Also close history-details on history-row click
Before it would only open
2016-01-19 17:30:01 +01:00
Safihre
7cbc1a8419 #408 Browser navbar to black on mobile 2016-01-19 17:30:01 +01:00
Safihre
7b5570eb0b #408 Extra space next to Folder icon 2016-01-19 17:30:00 +01:00
Safihre
1a43a4dcf0 #432 Change filename to name in Add NZB 2016-01-19 17:30:00 +01:00
Safihre
2c2a6592c7 End of queue script was forgotten in Glitter 2016-01-19 17:30:00 +01:00
shypike
f31de6ee4e The compiled OSX build wasn't restarted with original command line arguments.
Rare use case where the App was originally started with parameters.
Essential for correct preservation of the -f parameter.
2016-01-19 17:29:11 +01:00
shypike
8fcd1f6b6c Merge branch 'develop' into R0.8.0 2016-01-16 12:25:38 +01:00
shypike
d7f3a473d7 Merge branch 'develop' into R0.8.0 2016-01-13 21:51:51 +01:00
shypike
ab2eb0c94e Update text files for 0.8.0Beta5 2016-01-13 20:17:32 +01:00
shypike
e51f4fc45a Merge pull request #181 from discordianfish/add-dockerfile
Add Dockerfile
2014-10-08 21:38:15 +02:00
Johannes 'fish' Ziemke
65278120e2 Add Dockerfile
Usage:

        docker build -t sabnzbd .
        docker run -p 127.0.0.1:8080:8080 sabnzbd
2014-09-24 13:46:43 +02:00
shypike
2eed355e9c Revert "newsunpack.py: also handle output of unrar5 with password protected files"
This reverts commit 12fd63c1cf.
2013-11-11 20:24:11 +01:00
shypike
018955f4d5 Merge pull request #122 from sanderjo/patch-4
newsunpack.py: also handle output of unrar5 with password protected file...
2013-11-11 11:19:20 -08:00
sanderjo
12fd63c1cf newsunpack.py: also handle output of unrar5 with password protected files
as discussed http://forums.sabnzbd.org/viewtopic.php?f=3&t=16166&p=89054#p89054
2013-11-07 17:02:24 +01:00
63 changed files with 8522 additions and 8524 deletions

10
.lgtm.yml Normal file
View File

@@ -0,0 +1,10 @@
path_classifiers:
oldinterfaces:
- interfaces/smpl
- interfaces/Plush
library:
- cherrypy
- gntp
- six
- "*knockout*"
- "**/*min*"

View File

@@ -3,16 +3,17 @@ matrix:
include:
- os: linux
language: python
python: 2.7
env:
- secure: X5MY2HAtCxBI84IySY/XroFsFy2RIVhfsX+P1y3WXfvwBHYKCgrPV6BgwCg93ttkPmMS/IslP5Vp4F1OGqC9AZdxtxfHKpIPlIVxIHj6Lf6xwynmbGDQXjy73K13gjznK2mkGA0jcsp4Q5POS4ZKVkd6aOXnc8l8xS08+ztAvfxCC3tsMj2oMLEPP92j6zqb/1x2aX5+gVyVzrKgQQVKIk6R6jTxhIiOMPzj4+VMLXK8NEZqjV6RPwUjSoKHqJiV5URyf6/+2Ojmem3ilnpktn7xIJ/ZO1UNnZCrElOGZtmbryZFMctJvEAIQCOSdzsq/MACk0gocnOL3JQfDF5sYPOjJmc6sZI9PL78oFhwKaLkWEx565u8kdkLTMvv4A02HAmPzV1rKE1CTlEhsy0djU8mueCr9Ep1WyLJdY/igbyhR+dOd8fVo9Y1tY2o+ZisCsO5+PRfzhypK9xukqmWDJSXIWSuExUU/becXJ4IaTmlYJ+ArhKvkL90GmckH/zt9ZPIgr9Lq0OFva9uVHX+sbbsQZZ48lAmgiiiX335dONj8MxO8cDKsUT9FWQ8PzeJ8g8PErv5pmVVVODoOdKZg2Oo4jUsZG2yV8uUt9j87I2DPou4WiJ7wcTzQCPdzlaA5hdixPMyVUF/yCL+eKdJQFaKy3eaKwCxnAVp3WA2WdA=
- secure: gzvbgg+rdM/TfPOlXGE/JOW8VEfIJxwUnzt2bH07nj/PbREXQXrImC1SreMtwQX+gvd7bjIBZU/sgNSgRYcWKaSim4uNtAbinkcKQeP+V844ZY2Fabq/xpLluSP61vJLQ+hOLbnvilxmuI0E1Divahxo5qZJlwzCdk5u2txJRT/2LKGDT1lpGgIyDj9u0/ViAcpaAyfFR2Zd6ydHKbx+eFBE21LkyH/+GJmRiO0+qLIuCa2knmOJYjwBxRcPiAEDpbrRUbYDiNyzPqEVxJfCbsGYlo/QN/SnV6kTqM1WoFzvi4d1pDxDGRFLQj+KigihF6uY4eLC1e6yVQrDy0tyWKt6E+1tc8fH5dRS7AYtWMzURn/7Ebd72AiNIYaeAL8ZPqI7vw3ovFTqBS0h8Mg2uUZ503ytUvfwKyU9MgIkzXwmGuE37MCd0bRJ/blPS2DT+IMbrbEP90K5VrDrN/AGiYHR1TZ9GKUZd6xHibulEh2nNFMMQEga8nE2CWaJ3uJrCN7ud+4OJ0zCZFF7JiJTbOGApHg/aGWD/bYfg9sIh7up4PcxVs6RFxbf+M1aB8GO2A9aEZFow+djYVxiqf6esmzrnlsTfz16f8Txmez3BRftjVULre03a3Rt7WRxwYLveNlJos1nMw3G0CnruCe+wJbHEK4tEiqIXqB8UemT4zw=
- secure: f5QGjZESH4khjLOO1Ntgtiol4ZvwcqHLIV1sdK162dVkNT6UKOTRQflj2UmRXzwiRzWtVX/Ri0zT0j+SUJy2+aqJY/gxvisdTIWzRQ3w/CJPGgCizSkTQEWJ2V/n7DUAJ4xerme36zYi21S3d8VEWVDzU/duLu3yhlN5x0wMCY+dDPSDTFubmptGeCmyxqBqGVd7gD3PaiK7fDBB/eAXbW3QxLLQfxLHmPsx8vzPhDTQiLFtY43jfnVGEBdUbxSMXbq2NRB5eXH3bBkW8u/5y9uoyuF45CQn8f3UB6F84L+/n9M2ryCGeSJOFuZqSUHXvRF2acON40jx3t4PVocEzYguPwewoiFxfFHjRWmiI4WljiN30taK0pgstmzLTedozK+NdZ0M8vD7MCyK0yegPQolzFRngWW5Y8NY1XwlBT9W2lqGmrFge+dB86wOArMcRlY62PTOJ9Zqspbe/6mBT4Tq4O2OsXxGX/x60W/NJynva9WAz2SLEi5Pjs6r1a3tyXssw4/8KVhWl92WfpOnWrZrnZlsxOTmcS2OhLB0FQikTv9T/i3CZNcCI4PELkExeIwh4JW1MY0iGeLDHcAUKryJGrRZj1x32Nt1uUPTPBi8l8EzNyNOUvbHYTdpBr5r2JW1orvT55OhvKauc3wB7ogj673iYsqx5jeazHhgJMs=
- secure: iMXx74c2eUhDPJrukvAFxCFNWYDk8JB2alQ89Hc3T1ckXfDS37vgUplTze1aGo+AefUkDSFmTreFk9hVJvd4SQTHz4wS+qp7HQJFWECjR16jZwobIbukNPNU1JamozZoOa2igoVIJ8/tVIdIpfcsGfzj9WogwUlpChWHIiI8SM/Fc0WK+M9rDPKBpgjEN2yom73jbC2ETxuQ/HMdMNnNS9S1vS7MY+2W69+xi5Kl9hP0HUBIG/JtVXu1a4SO5NgqL5aW4cgKtgg0IjpedBRMcC0rpyEz+lDtl2jXYR+mXQEO8uNZOwzV7SLrq/ROGwW+DMtfiiySKxmuYoL/JOm4kcLyEup51dgnTQc1RdEcaYfk0twDry67prnQ/sXAQphzjl0StrTpLfzWUsCvgXRp7+XWhX9ElHN4KelOcAc7YeTSXoPY6bENk8LSy1woJ2HbH5TkSvtVJ6xrmssV3bEMp7aGx7qv1D/uvyAEMulB79WwdLyoDxmG9eIgXfp3nICko4p9kisrzK0hVCGDRCHSYgTnDBGTMJU/SlRRNUepmXHXQUrqWyTWvy2HTMUTjuYBaaNcUqZvyHyyaDq0MNBotwDCmes5o8fZu456lB/B26LwUu7cOSbCw19ePlGBNnbjA9NmNoQGOo66era3NEVJLYv+H91PAPQyWpzOt0X53Gk=
- secure: Cryq31K8wxt+q212/q7IHlLf4flH4riaiHssxR0/VfGACtMp3jOAVZ5RAOvX03LPYp+BuX2KAHFXDHeGHGzYmESkpzPCToZ3GpaOwP3ymc3RNeU6bd98yEQyQtM/wtY4uxPUWdwz5Uw5kkeynxw3y/QFsYceipB3u3oCvfB9n8SqWShjWpBFyFhSKS/SJjUqgNcAaA0pTP8l/crquZNhkug/J8Nlc/nC0H6ZSJKGu8UhkhZ0VSEY8dofZZkGG6YCIIEAqGasQqkra6x/D0uECfQnnDrTqekvklUG31/zy+awQXl+0NjLTIKyl2rHp5AUpSTlbPO2mDYdbWEWcRYmNsEEiGfvy3R9kGGbNijB5b57jvgsJapH8DkGRWseISdCBWqLH7C/OafNuMGzQ4s3UCN1aazqqN/IAJplVjSWiKA76Nbh385x88E8RaH7Gnvx1ZK88Lgf7Bz8Ar/O1dMviyP8WbM/vQQkVMdOk89y5O6G8ZwHFoj/v8w383irWMN2iU0Mf7GKW91ughpKrrKbXCmkT1bR9+tNYpKWU1O+1jgnGk65149GNC0K+9exWt0TK3pNSUa7b2nVzxeAqdCJjCoKBi2pLiRxYVI50V80M2p5Xw+5iiSiOhTLzFLT3YRi2VBjjBFa8BHJHBS9Pua4DaFc1w06XNej6K8rRV5We0s=
- secure: O/8jVULQmqOLHkvIW21IsVuL7/B+3MhgRFaT4wltxk/x7TarEsQyahXdStsQ+I53mMRbSfsArdCHXwgIm13wROXfcEdt7iM0f2tGWUsm32q73RrjBsKzb8SRTKZNkL1dOjpgkdEHejZdVckKlg0GlpJTTowOdfi+SYinj4Hj52vrV9waHk296njKw98W5Y35lEtSH3DcAU2NHrDi7YqQvjiBzj9MviG1qpJZJ1RMxKrTXXCqjlYcxr8FwO2kGpMnkTFIDywi4OspLQ1InEGhM9MdrY9tqGVzW631nX1uRV8aNhl+bLhtRs0i3QtOisWMWO5z5SQN6pOqUWx3nnwLPJzuoL+wGMDC2tdVRmH1+cuYCwq97curNq4hv9FBs7P/RS4e22WAoW0jtLWnx/5voVes1EsQE5iW/iG0z4ih3MIk3dHN6h8HcNr83DRxOW8JKmA79IbtcVFReZJ2AXQhx6VmvdUaIi3IKpW79K89ZzEuoEEO5Eyti2LLz9rti0iVknHejGYKWDCABflGaKjnj62tpUsAB9EsPPuwBegoKRd2bVy3kJ+RWGcMc4QfzsEq39z2ftQ8XJ800ZuuQvl7nsk86Dso+Hgr/T+5xU2wU6vFbwoDCWsxdnK2LXNpf3ci5PBZFhG9zLMRk+yFyAfh8OdQr19lxclay0X6na1K8i0=
- os: osx
env:
- HOMEBREW_NO_AUTO_UPDATE=1
- secure: RI/WxBI5kTP5v0qZ6im5BwqPurzzwKIl8GSbM2dFSEiWYEbKwHTDJ3KDDsXqS8YMNaropNVgzsdpCGXYUWRNTraKVa9GZEGNJ+fQuBWK9wkJ0MDTYfL/QFSN1CDXXlg7k26VXu6PgvEFA5kyDfSpxrxXJC6yXOUeJqmebkU2fiQo7/5Vpb1WAwpYlBP6zL5lYt2lpJ85fhYEjuAeuP/9zdVIlgCB7rDCgUX7tCKKXgwbKXfcff7lOCneB00/RCmRuNp3/tohGlgrSXh4ivHx4XEQgRoiVdeR3RCKZa5tBIXANefuJ2VopBrAbSRmVBexQP1818IU/XLlwtEEpC1vulpkx+5JolWksCrx4uJkKdlH0KA4k1m88L0Q1Rmmnp9LgRgeEl5xqt5s6RR6lS63ChQYkVFgWandwlrWu7Uenne4401KbG58PzDXEGlsKhUXnYBX+SU6gwejImCMb3vszKRAge5QAQlkiruCu31W9tWpY9ezHYrbv9ckOqdFXf9qsPEnU352v/8qHFe7jT/+7RSYdUzuo/d2aQqPKfkb7sy1VLEznmbGmv1BH4rGNpxd5inlcFKsR099Hx7PWgY8MHZcnEP3PJ2kBseFzVP3WKXHDTcv8yR0w6EgQyMzSHl9Ah3WJJ7TXZQ82gcqF8LcmuKcqXcwTkffG3ww7Vzuq4M=
- secure: uXHKYgQAwnfhWKi7RKAEumMMZZTJBb878KpodRfs1fz0NffdPo5+Ak1ricNzOJ8wti8/lXycDS+YmnFs64lGUxL+zvbQlFv7QuKfN0uHfPlo6zux9Ha9pg1rSUI4zqZ9kmbtwc0I2mdy1VeWwHvnbQDXUIt6a+tTwYZL3MGdP6kNvtSXaYhbEoHExjqeHUtVhUTafvWGtwE7uN+sdvhwXQ0dWlz6HGub8qYjkKCmF9VG+OyLKjFHjLVDMQ7Jnng2l1ZOgHSh5g5m6r++NEwSzZ8wFVULdzv5eEcR9U+mHmonFKOA/ICcZGd8MhEuvz9BupfgDWFqSTb5JGxzlZ28YdtjcAudzrWQMSpP2R0ks2Ttxz9Kpgw1L75HMvj0smazHs7IEEiXf2Yr03bzeHg7CGXNqOYyEOxxrPaJekCjMlX/YGqT/iv/8pZPfew7k/iVJlvCam76WNXABjJncHJeMsCgkItYZAoRZJDc+7z8J4g4ys1Rk0V/difjjwc/pSeKbt6wDA/9cmZ7r4Cs1Yh9Pl/mw6kzWGGpejO7lmsayQN3Pw99QMcZByUHx5BR+ZtIfF7Sl+F0uDQJ0MntJcteF7z1Dam2jHlkLckb85j6YWup5ItLAj5Hz7V2YUwqFmQhfOWEAjxagNSNnB8we4YBWS4KDTBEVDm6ITTfddlYvCw=
- secure: HKaT52NUQh18kllFQTjpKC64KlDkWEz0XnIEKJffumctrJjCvoFZFNC7ip3j7Bi3yp2IeD2SMsdxrrT6YFKxx5FfSdPqpQnsY34bzdEFZQomNJg4n/tmBc350PoVQ0PvLQiVoCCfVbdS/b4makNK7A+d9KED+SEsQMAqKp2mSnGhATB9MwFaZL5S4nGnEkqW5+eeAQxJ8JRawwumOOx/xhPOoEMIfHMpyTwFI1yUh1nJhZ9k1nxHzPlM78goyIuf0MjeZfSZ2fIlNZGVruYM28i9hpO4bzPFhk51uryWv8DQZiZlpCkHl6Po7rVVf5pNqm+l9SD/t0DnhS2rJHdeFSI2lM/uZtdOxaY5fTTj83LbCGhFtuZnZRwoQ73tpda8J7Z1E5Ni9bi7vOiZQ4pEIPt4LLu0X607sPWMkqrmgalKQQS13b5oliyMpkIguvmj9822BpaNVqamIrfn0z38+0Gog8iuGlMAQnRO9tGDO4kbVLcZQTRWpSwIC3niTPjPgLq/N92XQ9xmccrFT7efwemgF65FNM5ltv8+9AmI+hsuyXfqeHaAV9wmxRAAhaqvRgnSLYa3u1CPn5fF2CDvPvPcyCEIWnyxc7dYHDpzAQDcyuSejtbnL8gpkDqEHpy23hTjgZnZD7Pk7PQ7ayA8zBumTMGZ+/GAn5Wmgce+w0M=
- secure: iMXx74c2eUhDPJrukvAFxCFNWYDk8JB2alQ89Hc3T1ckXfDS37vgUplTze1aGo+AefUkDSFmTreFk9hVJvd4SQTHz4wS+qp7HQJFWECjR16jZwobIbukNPNU1JamozZoOa2igoVIJ8/tVIdIpfcsGfzj9WogwUlpChWHIiI8SM/Fc0WK+M9rDPKBpgjEN2yom73jbC2ETxuQ/HMdMNnNS9S1vS7MY+2W69+xi5Kl9hP0HUBIG/JtVXu1a4SO5NgqL5aW4cgKtgg0IjpedBRMcC0rpyEz+lDtl2jXYR+mXQEO8uNZOwzV7SLrq/ROGwW+DMtfiiySKxmuYoL/JOm4kcLyEup51dgnTQc1RdEcaYfk0twDry67prnQ/sXAQphzjl0StrTpLfzWUsCvgXRp7+XWhX9ElHN4KelOcAc7YeTSXoPY6bENk8LSy1woJ2HbH5TkSvtVJ6xrmssV3bEMp7aGx7qv1D/uvyAEMulB79WwdLyoDxmG9eIgXfp3nICko4p9kisrzK0hVCGDRCHSYgTnDBGTMJU/SlRRNUepmXHXQUrqWyTWvy2HTMUTjuYBaaNcUqZvyHyyaDq0MNBotwDCmes5o8fZu456lB/B26LwUu7cOSbCw19ePlGBNnbjA9NmNoQGOo66era3NEVJLYv+H91PAPQyWpzOt0X53Gk=
- secure: Yc9lY76AEXwG1uf+pg1xyTDo3gg8zsIqJ6K/WwJr7zStLGU6J5Qf/iW7jFzGxTbq0Kc6/dgb4VInYwlcyhjsRE3DI5LDqKiP2dZATP07crwZnzwrhxDPdYA+s1sI9YDJN90aZZm48DbUPFR7DPZjkDqyRJMRCFstZ/fJ//kSDVJvMjEOPEixzT6k5sRW2j9sctzEzqCHhroKaz5/m1sSBWa+pJx7C4A76NQFrMZEmlnWf0qKoUERaGn4hv5I3/38KQa0wy1q43obMoltmaFrbyIV4tx9M60kSGfaQdVVgwYgxPsINZeESJk+N4JCQSUKr0biAcKamPfgIbfEN4FbCGiFzHf5w/eIyUG0yUg42NtzzMVVS4I0s/aaPGKrjDrJNZ9bj8/oQjWDHtlRx7nrREdPI2Ch/MF8e8t03tDm5unhLIa6Fk1Ic9UbgwjtUqDvAne5+kwhsh8WpyU+VnttP/LyKTi2eqtADF6kPuxKM9DbTFE/IvCE2DXDFc6OOzAWoqhnbBgPrX0L5OlQLWoL13oi+yJMnBsF4Rd3rhqpNJ2sJTukeHT9z5yhkBEXHe9PatT0hiXZ7AxHsgX292k9Ti4se3pPxETkbR3r8iOklItMu1PViQsvfRyOFu+XloqMaPO31z48LmcPOps+/DYkbRyaTqBMdmPPRJghZ9lzvno=
- secure: RsFCZq/1Q6/++mgCZB6WsnIcbBsBwHFn6nfwC+vAomxbPtHevdiC930eIn8jKDza6Vmd4LoaMklvNOBEK1QpphbZXhKZIecakZOb+KyHVanSbQwErZCuVQdEo2p8cHJfuEh3guxmkE2OjAiBnSsgHlLmGiLAUF5GW5NPDLASPXIxXbBKOIKv7sTWj6tYYfVdUs1pQVz3Z+MkhRoS2uhVBOvQ14axtAtil1WmhgEJzuHAvjW29b1Q6l2goIuqoglqwKSna437CCt6mMFt6IVQqi36/lwXw0cYCLyJq3PURGDce6FdeQlwW0YfOXwT9k6BH+HcNuYmCSAbuL5hqC994avYbpemsBKKGfBK0Q8xZe0lQpS+R1C+iF3XXnPLU8B5TtALiBcFVRd3s291mxigxYqjkXbkgwVNAgkXKze+MhvrEQgoQwwhU3SbnmrZN8U6wW58MDYzjDxPaZdE5tUI+ROkfWeMRqtQrGNSJX6AwjkCrurW1/n0DXMlsUFnq4WGWF9nk8aHVzD8Y0cetQ+tLj3HxuxNqmAquewn+Z7pL41YTHlSTZ9+nHhI0GLQem6ANWL/4xJO8nBeOUETv1nULgbMyNOVaS9yBA7b2omE+Zuf8CMRCr9ID+Eeqtx1cUSMkWRymTdZvyPFPLjQ9KASTc7aCM7Cfc0aBceOoOOxMRw=
addons:
chrome: stable

View File

@@ -1,5 +1,5 @@
*******************************************
*** This is SABnzbd 2.3.7 ***
*** This is SABnzbd 2.3.9 ***
*******************************************
SABnzbd is an open-source cross-platform binary newsreader.
It simplifies the process of downloading from Usenet dramatically,

View File

@@ -1,4 +1,4 @@
SABnzbd 2.3.7
SABnzbd 2.3.9
-------------------------------------------------------------------------------
0) LICENSE

View File

@@ -1,7 +1,7 @@
Metadata-Version: 1.0
Name: SABnzbd
Version: 2.3.7RC1
Summary: SABnzbd-2.3.7RC1
Version: 2.3.9
Summary: SABnzbd-2.3.9
Home-page: https://sabnzbd.org
Author: The SABnzbd Team
Author-email: team@sabnzbd.org

View File

@@ -1,20 +1,21 @@
Release Notes - SABnzbd 2.3.7 RC 1
Release Notes - SABnzbd 2.3.9
=========================================================
## Improvements and bug fixes since 2.3.7 Beta 1
- Added option to quickly add a verified test download
- Direct Unpack could get stuck processing
- Show Details on Servers page could break graph display
- Windows: Update MultiPar to 1.3.0.3
## Improvements and bug fixes since 2.3.6
- Hopeless jobs will be failed faster, based on the first article of
each file. If 80% of these first articles is missing, the job is aborted.
- Option "fast_fail" added to disable the new behavior.
- Readout of some RSS feeds could result in a crash
Still looking for help with SABnzbd (Python 3) development!
https://www.reddit.com/r/usenet/comments/918nxv/
## Improvements and bug fixes since 2.3.8
- Duplicate job detection would not compare job names
- Propagation delay could show even if it was not configured
- Ignore Samples deleted all files of jobs containing the words Sample/Proof
- Warning "Unable to stop the unrar process" was shown too often
- Direct Unpack could hang forever on Unicode downloads
- Test Download could fail if clicked on the icon instead of the button
- Series Duplicate detection did not always work with Direct Unpack enabled
- Adding a job with non-existing category was not set to Default (*) category
- Only delete completed jobs from history when using History Retention option
- Renamed Server Load-balancing to Server IP address selection
- Linux: remove sabnzbd.error.log file at start-up if it grew too large
- Windows: double-click delay increased to avoid accidental pausing
- Windows: update MultiPar to v1.3.0.5
- Windows and macOS: update UnRar to 5.71
## Upgrading from 2.2.x and older
- Finish queue
@@ -28,7 +29,7 @@ https://www.reddit.com/r/usenet/comments/918nxv/
URL's that did not finish fetching before the upgrade will be lost.
- The organization of the download queue is different from 0.7.x releases.
This version will not see the 0.7.x queue, but you can restore the jobs
by going to Status page and using Queue Repair.
by going to the Status and Interface Settings window and using Queue Repair.
## Known problems and solutions
- Read the file "ISSUES.txt"

View File

@@ -89,7 +89,7 @@ import sabnzbd.newsunpack
from sabnzbd.misc import real_path, \
check_latest_version, exit_sab, get_from_url, \
split_host, get_ext, create_https_certificates, \
windows_variant, ip_extract, set_serv_parms, get_serv_parms, globber_full
windows_variant, ip_extract, set_serv_parms, get_serv_parms, globber_full, remove_file
from sabnzbd.panic import panic_tmpl, panic_port, panic_host, \
panic_sqlite, panic, launch_a_browser
import sabnzbd.scheduler as scheduler
@@ -1126,8 +1126,14 @@ def main():
try:
x = sys.stderr.fileno
x = sys.stdout.fileno
ol_path = os.path.join(logdir, DEF_LOG_ERRFILE)
out_log = file(ol_path, 'a+', 0)
# Get log file path and remove the log file if it got too large
log_path = os.path.join(logdir, DEF_LOG_ERRFILE)
if os.path.exists(log_path) and os.path.getsize(log_path) > sabnzbd.cfg.log_size.get_int():
remove_file(log_path)
# Redirect stderr/stdout
out_log = file(log_path, 'a+', 0)
sys.stderr.flush()
sys.stdout.flush()
os.dup2(out_log.fileno(), sys.stderr.fileno())

View File

@@ -1,10 +1,10 @@
environment:
SAB_NEWSSERVER_HOST:
secure: UNnTfVHDugC9amTucdTRyxe8RZfVBLYfI1EOTaDUjNM=
secure: 6SvOPWr5ypJeoumXJAZh90DLpk4C/5UAvzwyX7OOUr4=
SAB_NEWSSERVER_USER:
secure: npe0D4TiEzXMUVMCH3+SHA==
secure: Ty3ZG8T5vnacqIFPj5j5hg==
SAB_NEWSSERVER_PASSWORD:
secure: 28COv3RG+KAnBLxIrR1EDw==
secure: bO3XHtWTleVF9AqRV/V/nA==
install:
- pip install --upgrade -r tests/requirements.txt

View File

@@ -61,11 +61,6 @@
<input type="checkbox" name="email_rss" id="email_rss" value="1" <!--#if int($email_rss) > 0 then 'checked="checked"' else ""#--> />
<span class="desc">$T('explain-email_rss')</span>
</div>
<div class="field-pair">
<label class="config" for="email_dir">$T('opt-email_dir')</label>
<input type="text" name="email_dir" id="email_dir" value="$email_dir" data-initialdir="$my_home" />
<span class="desc">$T('explain-email_dir')</span>
</div>
<div class="field-pair">
<label class="config" for="email_server">$T('opt-email_server')</label>
<input type="text" name="email_server" id="email_server" value="$email_server" />
@@ -404,9 +399,6 @@
<script type="text/javascript">
\$(document).ready(function(){
// Autocomplete and filebrowser
\$('#email_dir').typeahead().fileBrowser();
// Expand on enable
\$('.col2 input[name$="enable"]').change(function() {
if(this.checked) {

View File

@@ -1,3 +1,5 @@
<!--#from sabnzbd.constants import VALID_ARCHIVES, VALID_NZB_FILES#-->
<!--#set $file_exts = ', '.join(VALID_NZB_FILES + VALID_ARCHIVES)#-->
<!-- Notifcation box -->
<div class="main-notification-box" style="display: none">
<div class="main-notification-box-uploading">
@@ -433,7 +435,7 @@
<form data-bind="submit: addNZBFromURL" class="col-sm-6">
<fieldset>
<legend class="row-wrap-text">$T('Glitter-addFromURL')</legend>
<div class="input-group" data-tooltip="true" data-placement="bottom" title="$T('Glitter-nzbFormats')">
<div class="input-group" data-tooltip="true" data-placement="bottom" title="$file_exts">
<input type="text" name="nzbURL" class="form-control" placeholder="$T('enterURL')" />
<span class="input-group-btn">
<input type="submit" name="Add" value="$T('add')" class="btn btn-default" />
@@ -444,10 +446,10 @@
<form data-bind="submit: addNZBFromFileForm" class="col-sm-6">
<fieldset>
<legend class="row-wrap-text">$T('Glitter-addFromFile')</legend>
<div class="input-group" data-tooltip="true" data-placement="bottom" title="$T('Glitter-nzbFormats')">
<div class="input-group" data-tooltip="true" data-placement="bottom" title="$file_exts">
<label class="btn btn-default btn-file">
<span class="glyphicon glyphicon-file"></span> <em>$T('Glitter-chooseFile')&hellip;</em>
<input type="file" multiple name="nzbFile" class="form-control" accept=".nzb,.rar,.zip,.gz,.bz2" data-bind="event : { change: updateBrowseLabel }" />
<input type="file" multiple name="nzbFile" class="form-control" accept="$file_exts" data-bind="event : { change: updateBrowseLabel }" />
</label>
<span class="input-group-btn">
@@ -569,10 +571,10 @@
<input type="hidden" name="retry_job_id" />
<fieldset>
<legend>$T('opt-extra-NZB')</legend>
<div class="input-group input-group-addfile" data-tooltip="true" data-placement="bottom" title="$T('Glitter-nzbFormats')">
<div class="input-group input-group-addfile" data-tooltip="true" data-placement="bottom" title="$file_exts">
<label class="btn btn-default btn-file">
<span class="glyphicon glyphicon-file"></span> <em>$T('Glitter-chooseFile')&hellip;</em>
<input type="file" name="nzbFile" class="form-control" accept=".nzb,.rar,.zip,.gz,.bz2" data-bind="event : { change: updateBrowseLabel }" />
<input type="file" name="nzbFile" class="form-control" accept="$file_exts" data-bind="event : { change: updateBrowseLabel }" />
</label>
</div>
</fieldset>

View File

@@ -35,6 +35,6 @@
<!--#else if float($mbleft) < 0.1#-->
SABnzbd
<!--#else#-->
<!--#if float($kbpersec) > 1023 #-->$speed<!--#else#--><!--#echo "%.0f" % float($kbpersec)#--> K<!--#end if#-->B/s - $sizeleft $T('Glitter-left') - SABnzbd
${speed}B/s - $sizeleft $T('Glitter-left') - SABnzbd
<!--#end if#-->
|||<!--#echo "%.0f" % float($kbpersec)#-->

View File

@@ -96,7 +96,7 @@ function ViewModel() {
// Dynamic speed text function
self.speedText = ko.pureComputed(function() {
return self.speed() + ' ' + (self.speedMetrics[self.speedMetric()] ? self.speedMetrics[self.speedMetric()] : "KB/s");
return self.speed() + ' ' + (self.speedMetrics[self.speedMetric()] ? self.speedMetrics[self.speedMetric()] : "B/s");
});
// Dynamic icon
@@ -852,6 +852,12 @@ function ViewModel() {
// Download a test-NZB
self.testDownload = function(data, event) {
var nzbSize = $(event.target).data('size')
// Maybe it was a click on the icon?
if(nzbSize == undefined) {
nzbSize = $(event.target.parentElement).data('size')
}
// Build request
var theCall = {
mode: "addurl",

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1,2 @@
dojo.hostenv.conditionalLoadModule({"common": ["MochiKit.MochiKit"]});
dojo.hostenv.moduleLoaded("MochiKit.*");
dojo.hostenv.conditionalLoadModule({"common": ["MochiKit.MochiKit"]});
dojo.hostenv.moduleLoaded("MochiKit.*");

View File

@@ -1,11 +1,11 @@
The original author of SABnzbd based his work on Pynewsleecher by Freddy@madcowdesease.org.
Few parts of Pynewsleecher have survived the generations of SABnzbd in a
recognizable form.
Still, we wish to thank Freddy for his inspiration.
The home of the Pynewsleecher project:
http://www.madcowdisease.org/mcd/pynewsleecher
The software does not carry any license information.
The original author of SABnzbd based his work on Pynewsleecher by Freddy@madcowdesease.org.
Few parts of Pynewsleecher have survived the generations of SABnzbd in a
recognizable form.
Still, we wish to thank Freddy for his inspiration.
The home of the Pynewsleecher project:
http://www.madcowdisease.org/mcd/pynewsleecher
The software does not carry any license information.

View File

@@ -1,8 +1,8 @@
On http://www.brunningonline.net/simon/blog/archives/001835.html,
the author licensed SysTrayIcon.py under a variant of the WTFPL:
> Any road up, help yourself. Consider SysTrayIcon.py to be under an
> "Aleister Crowley" style license - "Do what thou wilt shall be the
> only law".
>
> Err, but don't sue me if it doesn't work. ;-)
On http://www.brunningonline.net/simon/blog/archives/001835.html,
the author licensed SysTrayIcon.py under a variant of the WTFPL:
> Any road up, help yourself. Consider SysTrayIcon.py to be under an
> "Aleister Crowley" style license - "Do what thou wilt shall be the
> only law".
>
> Err, but don't sue me if it doesn't work. ;-)

View File

Binary file not shown.

View File

@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-24 11:01+0000\n"
"PO-Revision-Date: 2017-08-01 16:45+0000\n"
"Last-Translator: ION IL <Unknown>\n"
"PO-Revision-Date: 2019-01-21 15:26+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Hebrew <he@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-25 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-01-22 04:49+0000\n"
"X-Generator: Launchpad (build 18856)\n"
#: email/email.tmpl:1
msgid ""
@@ -91,9 +91,9 @@ msgstr ""
"הורדו $size\n"
"\n"
":תוצאות העבודה\n"
"<!--#for $stage ב $stages #-->\n"
"<!--#for $stage in $stages #-->\n"
"שלב $stage <!--#slurp#-->\n"
"<!--#for $result ב $stages[$stage]#-->\n"
"<!--#for $result in $stages[$stage]#-->\n"
" $result <!--#slurp#-->\n"
"<!--#end for#-->\n"
"<!--#end for#-->\n"

View File

@@ -5,14 +5,14 @@
#
msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-2.4.0-develop\n"
"Project-Id-Version: SABnzbd-2.3.8\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: shypike@sabnzbd.org\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 7bit\n"
"POT-Creation-Date: 2019-01-04 12:49+W. Europe Standard Time\n"
"POT-Creation-Date: 2019-05-07 09:00+W. Europe Daylight Time\n"
"Generated-By: pygettext.py 1.5\n"
@@ -412,10 +412,6 @@ msgstr ""
msgid "Unpacked %s files/folders in %s"
msgstr ""
#: sabnzbd/directunpacker.py [Warning message]
msgid "Unable to stop the unrar process."
msgstr ""
#: sabnzbd/directunpacker.py [Warning message]
msgid "Direct Unpack was automatically enabled."
msgstr ""
@@ -3275,19 +3271,19 @@ msgid "Comma separated list"
msgstr ""
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
@@ -4154,10 +4150,6 @@ msgstr ""
msgid "Optionally specify a filename"
msgstr ""
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr ""
#: sabnzbd/skintext.py
msgid "Submit"
msgstr ""

View File

@@ -6,15 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"PO-Revision-Date: 2018-11-28 04:21+0000\n"
"Last-Translator: scootergrisen <scootergrisen@gmail.com>\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2019-01-26 09:26+0000\n"
"Last-Translator: B.E. <Unknown>\n"
"Language-Team: Danish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:46+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:48+0000\n"
"X-Generator: Launchpad (build 18958)\n"
"Language: da\n"
#: SABnzbd.py [Error message]
@@ -885,11 +885,11 @@ msgstr "FEJL: CRC mislykkedes i \"%s\""
#: sabnzbd/newsunpack.py
msgid "Unpacking failed, file too large for filesystem (FAT?)"
msgstr ""
msgstr "Udpakningen fejlede, da filen er for stor til filsystemet (FAT?)"
#: sabnzbd/newsunpack.py [Error message]
msgid "ERROR: File too large for filesystem (%s)"
msgstr ""
msgstr "FEJL: Fil for stor til filsystem (%s)"
#: sabnzbd/newsunpack.py
msgid "Unpacking failed, write error or disk is full?"
@@ -990,6 +990,8 @@ msgstr "[%s] Bekræftelse i %s, kræver reparation"
msgid ""
"Invalid par2 files or invalid PAR2 parameters, cannot verify or repair"
msgstr ""
"Invalide par2 filer eller invalide PAR2 parametre, kan ikke bekræfte eller "
"reparere"
#: sabnzbd/newsunpack.py
msgid "Fetching %s blocks..."
@@ -1025,7 +1027,7 @@ msgstr "Bekræfter"
#: sabnzbd/newsunpack.py
msgid "Checking extra files"
msgstr ""
msgstr "Tjekker ekstra filer"
#: sabnzbd/newsunpack.py # sabnzbd/skintext.py [PP status]
msgid "Checking"
@@ -1833,11 +1835,11 @@ msgstr "Deaktivere kvota styring"
#: sabnzbd/skintext.py [Config->Scheduler]
msgid "Pause jobs with category"
msgstr ""
msgstr "Pause jobs med kategori"
#: sabnzbd/skintext.py [Config->Scheduler]
msgid "Resume jobs with category"
msgstr ""
msgstr "Genoptag jobs med kategori"
#: sabnzbd/skintext.py [Prowl priority] # sabnzbd/skintext.py [Three way switch for duplicates]
msgid "Off"
@@ -2535,7 +2537,7 @@ msgstr "Gentagelse test"
#: sabnzbd/skintext.py
msgid "Test download"
msgstr ""
msgstr "Test overførsel"
#: sabnzbd/skintext.py
msgid ""
@@ -2821,19 +2823,19 @@ msgstr ""
#: sabnzbd/skintext.py
msgid "Keep all jobs"
msgstr ""
msgstr "Behold alle jobs"
#: sabnzbd/skintext.py
msgid "Keep maximum number of completed jobs"
msgstr ""
msgstr "Behold maximal antal af gennemførte jobs"
#: sabnzbd/skintext.py
msgid "Keep completed jobs maximum number of days"
msgstr ""
msgstr "Behold gennemførte jobs maximal antal af dage"
#: sabnzbd/skintext.py
msgid "Do not keep any completed jobs"
msgstr ""
msgstr "Behold ikke gennemførte jobs"
#: sabnzbd/skintext.py
msgid "Jobs"
@@ -3175,7 +3177,7 @@ msgstr ""
#: sabnzbd/skintext.py
msgid "Allow proper releases"
msgstr ""
msgstr "Tillad reelle udgivelser"
#: sabnzbd/skintext.py
msgid ""
@@ -3193,7 +3195,7 @@ msgstr "Mislykkes job (flyt til historik)"
#: sabnzbd/skintext.py [Four way switch for duplicates]
msgid "Tag job"
msgstr ""
msgstr "Marker job"
#: sabnzbd/skintext.py [Three way switch for encrypted posts]
msgid "Abort"
@@ -3247,7 +3249,7 @@ msgstr "Nogle servere levere en alternativ NZB når et download mislykkes."
#: sabnzbd/skintext.py
msgid "Use tags from indexer"
msgstr ""
msgstr "Brug mærker fra indexer"
#: sabnzbd/skintext.py
msgid ""
@@ -3289,7 +3291,7 @@ msgstr "IONice parametre"
#: sabnzbd/skintext.py
msgid "External process priority"
msgstr ""
msgstr "Ekstern proces prioritet"
#: sabnzbd/skintext.py
msgid "Disconnect on Empty Queue"
@@ -3535,20 +3537,20 @@ msgid "Comma separated list"
msgstr "Kommasepareret liste"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Server belastningsjustering"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Forhindre belastningsjustering"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Tillad belastningsjustering"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Giver mulighed for belastningsjustering med optimering for IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4095,7 +4097,7 @@ msgstr "S01E05 Episodemappe"
#: sabnzbd/skintext.py
msgid "Job Name as Filename"
msgstr ""
msgstr "Job Navn som Filnavn"
#: sabnzbd/skintext.py
msgid "Title"
@@ -4167,7 +4169,7 @@ msgstr "Originalfilnavn"
#: sabnzbd/skintext.py
msgid "Original Job Name"
msgstr ""
msgstr "Oprindelig Job Navn"
#: sabnzbd/skintext.py
msgid "Lower Case"
@@ -4445,10 +4447,6 @@ msgstr "Upload NZB"
msgid "Optionally specify a filename"
msgstr "Angiv et valgfrit filnavn"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formater: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Tilføj"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-05-31 06:22+0000\n"
"Last-Translator: scope <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:46+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3642,20 +3642,20 @@ msgid "Comma separated list"
msgstr "Durch Komma getrennte Liste"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Server Lastverteilung"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Lastverteilung verhindern"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Lastverteilung zulassen"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Lastverteilung mit IPv6-Optimierung zulassen"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4558,10 +4558,6 @@ msgstr "NZB hochladen"
msgid "Optionally specify a filename"
msgstr "Wahlweise einen Dateinamen angeben:"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formate: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Senden"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:18+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3554,20 +3554,20 @@ msgid "Comma separated list"
msgstr "Lista separada por comas"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Balanceo de carga del servidor"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Evitar el balanceo de carga"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Permitir balanceo de carga"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Permitir balanceo de carga con optimización para IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4463,10 +4463,6 @@ msgstr "Subir NZB"
msgid "Optionally specify a filename"
msgstr "Opcionalmente especificar un nombre de fichero"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formatos: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Enviar"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:19+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Finnish <fi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:46+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3543,20 +3543,20 @@ msgid "Comma separated list"
msgstr "Pilkulla erotettu lista"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Palvelimen kuormantasaus"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Estä kuormantasaus"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Salli kuormantasaus"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Salli kuormantasaus IPv6 optimoinnille"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4455,10 +4455,6 @@ msgstr "Lähetä NZB"
msgid "Optionally specify a filename"
msgstr "Vaihtoehtoisesti anna tiedostonimi"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Tiedostomuodot: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Lähetä"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"PO-Revision-Date: 2018-12-28 11:43+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2019-05-14 00:00+0000\n"
"Last-Translator: Fred <88com88@gmail.com>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-29 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-15 04:49+0000\n"
"X-Generator: Launchpad (build 18962)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3650,20 +3650,20 @@ msgid "Comma separated list"
msgstr "Liste séparée par des virgules"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Equilibrage de charge du serveur"
msgid "Server IP address selection"
msgstr "Sélection de l'adresse IP du serveur"
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Empêcher l'équilibrage de charge"
msgid "First IP address"
msgstr "Première adresse IP"
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Autoriser l'équilibrage de charge"
msgid "Randomly selected IP address"
msgstr "Adresse IP sélectionnée au hasard"
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Autoriser l'équilibrage de charge avec l'optimisation pour IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr "Adresse IP la plus rapide, IPv6 de préférence"
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4572,10 +4572,6 @@ msgstr "Uploader le NZB"
msgid "Optionally specify a filename"
msgstr "Vous pouvez également indiquer un nom de fichier"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formats : .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Soumettre"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"PO-Revision-Date: 2018-12-28 17:42+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2019-05-07 23:12+0000\n"
"Last-Translator: ION IL <Unknown>\n"
"Language-Team: Hebrew <he@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-29 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -1125,7 +1125,7 @@ msgstr "התגלה קובץ פגום ,%s שגיאה בטעינת"
#: sabnzbd/nzbqueue.py [Error message]
msgid "Failed to restart NZB after pre-check (%s)"
msgstr "(%s) לאחר קדם-בדיקה NZB נכשל בהפעלה מחדש של"
msgstr "(%s) לאחר קדם־בדיקה NZB נכשל בהפעלה מחדש של"
#: sabnzbd/nzbqueue.py
msgid "NZB added to queue"
@@ -1157,7 +1157,7 @@ msgstr "%s ריק NZB קובץ"
#: sabnzbd/nzbstuff.py
msgid "Pre-queue script marked job as failed"
msgstr "תסריט קדם-תור סומן כנכשל"
msgstr "תסריט קדם־תור סומן כנכשל"
#: sabnzbd/nzbstuff.py [Warning message]
msgid "Ignoring duplicate NZB \"%s\""
@@ -3251,7 +3251,7 @@ msgstr ""
#: sabnzbd/skintext.py
msgid "Pre-queue user script"
msgstr "תסריט משתמש של קדם-תור"
msgstr "תסריט משתמש של קדם־תור"
#: sabnzbd/skintext.py
msgid "Used before an NZB enters the queue."
@@ -3514,20 +3514,20 @@ msgid "Comma separated list"
msgstr "רשימה מופרדת בפסיקים"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "איזון-עומס של שרת"
msgid "Server IP address selection"
msgstr "של שרת IP בחירת כתובת"
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "מנע איזון-עומס"
msgid "First IP address"
msgstr "ראשונה IP כתובת"
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "התר איזון-עומס"
msgid "Randomly selected IP address"
msgstr "נבחרת באופן אקראי IP כתובת"
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "IPv6 התר איזון-עומס עם ייעול עבור"
msgid "Quickest IP address, preferring IPv6"
msgstr "IPv6 הזריזה ביותר, העדפה אל IP כתובת"
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4020,7 +4020,7 @@ msgstr "החל מסננים"
#: sabnzbd/skintext.py
msgid "Presets"
msgstr "קדם-קביעות"
msgstr "קדם־קביעות"
#: sabnzbd/skintext.py
msgid "Example"
@@ -4421,10 +4421,6 @@ msgstr "NZB העלה"
msgid "Optionally specify a filename"
msgstr "ציין באופן רשותי שם קובץ"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr ".nzb, .rar, .zip, .gz, .bz2 :תסדירים"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "הגש"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:18+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3508,20 +3508,20 @@ msgid "Comma separated list"
msgstr "Kommaseparert liste"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Serverlastbalansering"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Forhindre lastbalansering"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Tillat lastbalansering"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Tillat lastbalansering med optimalisering for IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4414,10 +4414,6 @@ msgstr "Last opp NZB"
msgid "Optionally specify a filename"
msgstr "Valgfritt spesifiser filnavn"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formater: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Send"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"PO-Revision-Date: 2018-12-27 16:31+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2019-05-15 19:07+0000\n"
"Last-Translator: Dennis Versteegen <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:46+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-16 05:47+0000\n"
"X-Generator: Launchpad (build 18962)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3597,20 +3597,20 @@ msgid "Comma separated list"
msgstr "Door komma's gescheiden lijst"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Balanceren van server belasting"
msgid "Server IP address selection"
msgstr "Server IP adres selectie"
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Schakel balancering uit"
msgid "First IP address"
msgstr "Eerste IP adres"
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Schakel balancering in"
msgid "Randomly selected IP address"
msgstr "willekeurig geselecteerd IP adres"
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Schakel balancering met optimalisatie voor IPv6 in"
msgid "Quickest IP address, preferring IPv6"
msgstr "Snelste IP adres, voorkeur voor IPv6"
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4516,10 +4516,6 @@ msgstr "NZB uploaden"
msgid "Optionally specify a filename"
msgstr "Geef eventueel een andere naam"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formaten: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Verstuur"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:18+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3525,20 +3525,20 @@ msgid "Comma separated list"
msgstr "Lista wartości oddzielonych przecinkami"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Równoważenie obciążenia serwerów"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Zapobiegaj równoważeniu obciążenia"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Zezwól na równoważenie obciążenia"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Zezwól na równoważenie obciążenia, preferując IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4431,10 +4431,6 @@ msgstr "Wczytaj NZB"
msgid "Optionally specify a filename"
msgstr "Opcjonalnie podaj nazwę pliku"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formaty: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Wyślij"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:16+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:50+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3523,20 +3523,20 @@ msgid "Comma separated list"
msgstr "Lista separada por vírgulas"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Balanceamento de carga do servidor"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Prevenir balanceamento de carga"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Permitir balanceamento de carga"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Permitir balanceamento de carga com optimização para IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4430,10 +4430,6 @@ msgstr "Enviar NZB"
msgid "Optionally specify a filename"
msgstr "Opcionalmente, especifique um nome de arquivo"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formatos: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Enviar"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:18+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Romanian <ro@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3525,20 +3525,20 @@ msgid "Comma separated list"
msgstr "Listă separată prin virgulă"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Server de load-balancing"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Previne load-balancing"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Permite load-balancing"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Permite load-balancing cu o optimizare pentru IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4430,10 +4430,6 @@ msgstr "Încarcă NZB"
msgid "Optionally specify a filename"
msgstr "Opţional specifică un nume de fişier"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formate: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Trimite"

View File

@@ -2,15 +2,15 @@ msgid ""
msgstr ""
"Project-Id-Version: SABnzbd-0.7.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2013-05-05 14:50+0000\n"
"Last-Translator: Pavel Maryanov <Unknown>\n"
"Language-Team: Russian <gmu@mx.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
"Generated-By: pygettext.py 1.5\n"
#: SABnzbd.py [Error message]
@@ -3500,19 +3500,19 @@ msgid "Comma separated list"
msgstr ""
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
@@ -4411,10 +4411,6 @@ msgstr ""
msgid "Optionally specify a filename"
msgstr "Имя файла (необязательно)"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr ""
#: sabnzbd/skintext.py
msgid "Submit"
msgstr ""

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: ОZZII <ozzii.translate@gmail.com>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:18+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3494,20 +3494,20 @@ msgid "Comma separated list"
msgstr "Lista razdvojena zarezom"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Balansiranje opterećenja servera"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Onemogući balansiranje opterećenja"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Omogući balansiranje opterećenja"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Omogući balansiranje opterećenja sa optimizacijom za IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4398,10 +4398,6 @@ msgstr "Pošalji NZB"
msgid "Optionally specify a filename"
msgstr "Опционо специфирати име"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Formati: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Пошаљи"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2018-02-14 14:19+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:49+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3508,20 +3508,20 @@ msgid "Comma separated list"
msgstr "Kommaseparerad lista"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "Serverbelastad-balansering"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "Undvik belastningsbalansering"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "Tillåt belastningsbalansering"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "Tillåt bellastningsbalansering med optimering för IPv6"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4412,10 +4412,6 @@ msgstr "Ladda upp NZB"
msgid "Optionally specify a filename"
msgstr "Alternativt ange ett filnamn"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "Format: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "Skicka"

View File

@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: sabnzbd\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2018-12-27 15:51+0000\n"
"POT-Creation-Date: 2019-05-07 12:00+0000\n"
"PO-Revision-Date: 2017-06-22 07:06+0000\n"
"Last-Translator: Safihre <safihre@sabnzbd.org>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2018-12-28 04:47+0000\n"
"X-Generator: Launchpad (build 18847)\n"
"X-Launchpad-Export-Date: 2019-05-08 05:50+0000\n"
"X-Generator: Launchpad (build 18958)\n"
#: SABnzbd.py [Error message]
msgid "Failed to start web-interface"
@@ -3437,20 +3437,20 @@ msgid "Comma separated list"
msgstr "逗号分隔的列表"
#: sabnzbd/skintext.py
msgid "Server load-balancing"
msgstr "服务器负载均衡"
msgid "Server IP address selection"
msgstr ""
#: sabnzbd/skintext.py
msgid "Prevent load-balancing"
msgstr "避免负载均衡"
msgid "First IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing"
msgstr "允许负载均衡"
msgid "Randomly selected IP address"
msgstr ""
#: sabnzbd/skintext.py
msgid "Allow load-balancing with optimization for IPv6"
msgstr "允许负载均衡,并对 IPv6 优化"
msgid "Quickest IP address, preferring IPv6"
msgstr ""
#: sabnzbd/skintext.py
msgid "Useful if a newsserver has more than one IPv4/IPv6 address"
@@ -4338,10 +4338,6 @@ msgstr "上传 NZB"
msgid "Optionally specify a filename"
msgstr "可以选择指定文件名"
#: sabnzbd/skintext.py
msgid "Formats: .nzb, .rar, .zip, .gz, .bz2"
msgstr "格式: .nzb, .rar, .zip, .gz, .bz2"
#: sabnzbd/skintext.py
msgid "Submit"
msgstr "提交"

View File

@@ -1406,7 +1406,7 @@ def fast_queue():
""" Return paused, bytes_left, bpsnow, time_left """
bytes_left = NzbQueue.do.remaining()
paused = Downloader.do.paused
bpsnow = BPSMeter.do.get_bps()
bpsnow = BPSMeter.do.bps
time_left = calc_timeleft(bytes_left, bpsnow)
return paused, bytes_left, bpsnow, time_left
@@ -1468,9 +1468,9 @@ def rss_qstatus():
item = Item()
item.title = 'Total ETA: %s - Queued: %.2f MB - Speed: %.2f kB/s' % \
(
calc_timeleft(qnfo.bytes_left, BPSMeter.do.get_bps()),
calc_timeleft(qnfo.bytes_left, BPSMeter.do.bps),
qnfo.bytes_left / MEBI,
BPSMeter.do.get_bps() / KIBI
BPSMeter.do.bps / KIBI
)
rss.addItem(item)
@@ -1501,7 +1501,7 @@ def rss_qstatus():
status_line.append('<dt>Remain/Total: %.2f/%.2f MB</dt>' % (bytesleft, bytes))
# ETA
sum_bytesleft += pnfo.bytes_left
status_line.append("<dt>ETA: %s </dt>" % calc_timeleft(sum_bytesleft, BPSMeter.do.get_bps()))
status_line.append("<dt>ETA: %s </dt>" % calc_timeleft(sum_bytesleft, BPSMeter.do.bps))
status_line.append("<dt>Age: %s</dt>" % calc_age(pnfo.avg_date))
status_line.append("</tr>")
item.description = ''.join(status_line)
@@ -1695,7 +1695,7 @@ def build_queue_header(search=None, start=0, limit=0, output=None):
header = build_header(output=output)
bytespersec = BPSMeter.do.get_bps()
bytespersec = BPSMeter.do.bps
qnfo = NzbQueue.do.queue_info(search=search, start=start, limit=limit)
bytesleft = qnfo.bytes_left

View File

@@ -320,9 +320,6 @@ class BPSMeter(object):
del self.timeline_total[server]
self.save()
def get_bps(self):
return self.bps
def get_bps_list(self):
refresh_rate = int(cfg.refresh_rate()) if cfg.refresh_rate() else 1
self.add_empty_time()

View File

@@ -36,7 +36,7 @@ import threading
import sabnzbd
import sabnzbd.cfg
from sabnzbd.constants import DB_HISTORY_NAME, STAGES
from sabnzbd.constants import DB_HISTORY_NAME, STAGES, Status
from sabnzbd.encoding import unicoder
from sabnzbd.bpsmeter import this_week, this_month
from sabnzbd.decorators import synchronized
@@ -259,11 +259,11 @@ class HistoryDB(object):
to_keep = int_conv(sabnzbd.cfg.history_retention())
if to_keep > 0:
logging.info('Removing all but last %s completed jobs from history', to_keep)
return self.execute("""DELETE FROM history WHERE id NOT IN ( SELECT id FROM history WHERE status = 'Completed' ORDER BY completed DESC LIMIT ? )""", (to_keep,), save=True)
return self.execute("""DELETE FROM history WHERE status = ? AND id NOT IN ( SELECT id FROM history WHERE status = ? ORDER BY completed DESC LIMIT ? )""", (Status.COMPLETED, Status.COMPLETED, to_keep), save=True)
def add_history_db(self, nzo, storage, path, postproc_time, script_output, script_line):
""" Add a new job entry to the database """
t = build_history_info(nzo, storage, path, postproc_time, script_output, script_line)
t = build_history_info(nzo, storage, path, postproc_time, script_output, script_line, series_info=True)
self.execute("""INSERT INTO history (completed, name, nzb_name, category, pp, script, report,
url, status, nzo_id, storage, path, script_log, script_line, download_time, postproc_time, stage_log,
@@ -319,7 +319,6 @@ class HistoryDB(object):
def have_episode(self, series, season, episode):
""" Check whether History contains this series episode """
total = 0
series = series.lower().replace('.', ' ').replace('_', ' ').replace(' ', ' ')
if series and season and episode:
pattern = '%s/%s/%s' % (series, season, episode)
res = self.execute("select count(*) from History WHERE series = ? AND STATUS != 'Failed'", (pattern,))
@@ -330,10 +329,11 @@ class HistoryDB(object):
pass
return total > 0
def have_md5sum(self, md5sum):
""" Check whether this md5sum already in History """
def have_name_or_md5sum(self, name, md5sum):
""" Check whether this name or md5sum is already in History """
total = 0
res = self.execute("select count(*) from History WHERE md5sum = ? AND STATUS != 'Failed'", (md5sum,))
# Do the check case-insensitive
res = self.execute("SELECT count(*) FROM History WHERE ( LOWER(name) = LOWER(?) OR md5sum = ? ) AND STATUS != 'Failed'", (name, md5sum))
if res:
try:
total = self.c.fetchone().get('count(*)')
@@ -438,7 +438,7 @@ def dict_factory(cursor, row):
_PP_LOOKUP = {0: '', 1: 'R', 2: 'U', 3: 'D'}
def build_history_info(nzo, storage='', downpath='', postproc_time=0, script_output='', script_line=''):
def build_history_info(nzo, storage='', downpath='', postproc_time=0, script_output='', script_line='', series_info=False):
""" Collects all the information needed for the database """
if not downpath:
@@ -491,7 +491,7 @@ def build_history_info(nzo, storage='', downpath='', postproc_time=0, script_out
# Analyze series info only when job is finished
series = u''
if postproc_time:
if series_info:
seriesname, season, episode, dummy = sabnzbd.newsunpack.analyse_show(nzo.final_name)
if seriesname and season and episode:
series = u'%s/%s/%s' % (seriesname.lower(), season, episode)

View File

@@ -175,7 +175,8 @@ class Decoder(Thread):
if nzo.precheck:
if found and not killed:
# Pre-check, proper article found, just register
logging.debug('Server %s has article %s', article.fetcher, art_id)
if sabnzbd.LOG_ALL:
logging.debug('Server %s has article %s', article.fetcher, art_id)
register = True
elif not killed and not found:
logme = T('Badly formed yEnc article in %s') % art_id

View File

@@ -51,7 +51,6 @@ from subprocess import Popen
# Otherwise we could stop while the thread was still starting
START_STOP_LOCK = threading.RLock()
MAX_ACTIVE_UNPACKERS = 10
ACTIVE_UNPACKERS = []
RAR_NR = re.compile(r'(.*?)(\.part(\d*).rar|\.r(\d*))$', re.IGNORECASE)
@@ -77,6 +76,8 @@ class DirectUnpacker(threading.Thread):
self.success_sets = {}
self.next_sets = []
self.duplicate_lines = 0
nzo.direct_unpacker = self
def stop(self):
@@ -176,10 +177,10 @@ class DirectUnpacker(threading.Thread):
break
# Error? Let PP-handle it
if linebuf.endswith(('ERROR: ', 'Cannot create', 'in the encrypted file', 'CRC failed',
'checksum failed', 'You need to start extraction from a previous volume',
'password is incorrect', 'Write error', 'checksum error',
'start extraction from a previous volume')):
if linebuf.endswith(('ERROR: ', 'Cannot create', 'in the encrypted file', 'CRC failed', 'checksum failed',
'You need to start extraction from a previous volume', 'password is incorrect',
'Write error', 'checksum error', 'start extraction from a previous volume'
'Unexpected end of archive')):
logging.info('Error in DirectUnpack of %s: %s', self.cur_setname, linebuf.strip())
self.abort()
@@ -271,13 +272,16 @@ class DirectUnpacker(threading.Thread):
logging.info('DirectUnpacked volume %s for %s', self.cur_volume, self.cur_setname)
# If lines did not change and we don't have the next volume, this download is missing files!
# In rare occasions we can get stuck forever with repeating lines
if last_volume_linebuf == linebuf:
if not self.have_next_volume():
if not self.have_next_volume() or self.duplicate_lines > 10:
logging.info('DirectUnpack failed due to missing files %s', self.cur_setname)
self.abort()
else:
logging.debug('Duplicate output line detected: "%s"', last_volume_linebuf)
self.duplicate_lines += 1
else:
self.duplicate_lines = 0
last_volume_linebuf = linebuf
# Show the log
@@ -344,6 +348,11 @@ class DirectUnpacker(threading.Thread):
# The first NZF
self.rarfile_nzf = self.have_next_volume()
# Ignore if maybe this set is not there any more
# This can happen due to race/timing issues when creating the sets
if not self.rarfile_nzf:
return
# Generate command
rarfile_path = os.path.join(self.nzo.downpath, self.rarfile_nzf.filename)
if sabnzbd.WIN32:
@@ -393,17 +402,12 @@ class DirectUnpacker(threading.Thread):
pass
# Now force kill and give it a bit of time
self.active_instance.kill()
time.sleep(0.2)
# Have to collect the return-code to avoid zombie
# But it will block forever if the process is in special state.
# That should never happen, but it can happen on broken unrar's
if self.active_instance.poll():
self.active_instance.communicate()
else:
# It is still running?!? This should never happen
logging.warning(T('Unable to stop the unrar process.'))
try:
self.active_instance.kill()
time.sleep(0.2)
except AttributeError:
# Already killed by the Quit command
pass
# Wake up the thread
with self.next_file_lock:

View File

@@ -600,17 +600,17 @@ class Downloader(Thread):
else:
if self.bandwidth_limit:
bps = BPSMeter.do.get_bps()
bps = BPSMeter.do.bps
bps += bytes
limit = self.bandwidth_limit
if bps > limit:
while BPSMeter.do.get_bps() > limit:
while BPSMeter.do.bps > limit:
time.sleep(0.05)
BPSMeter.do.update()
BPSMeter.do.update(server.id, bytes)
if nzo:
nzo.update_download_stats(BPSMeter.do.get_bps(), server.id, bytes)
nzo.update_download_stats(BPSMeter.do.bps, server.id, bytes)
if not done and nw.status_code != '222':
if not nw.connected or nw.status_code == '480':
@@ -903,7 +903,10 @@ class Downloader(Thread):
self.init_server(server.id, server.id)
def update_server(self, oldserver, newserver):
""" Update the server and make sure we trigger
the update in the loop to do housekeeping """
self.init_server(oldserver, newserver)
self.wakeup()
@NzbQueueLocker
def wakeup(self):

View File

@@ -2591,7 +2591,7 @@ def GetRssLog(feed):
LIST_EMAIL = (
'email_endjob', 'email_cats', 'email_full',
'email_server', 'email_to', 'email_from',
'email_account', 'email_pwd', 'email_dir', 'email_rss'
'email_account', 'email_pwd', 'email_rss'
)
LIST_GROWL = ('growl_enable', 'growl_cats', 'growl_server', 'growl_password',
'growl_prio_startup', 'growl_prio_download', 'growl_prio_pp', 'growl_prio_complete', 'growl_prio_failed',

View File

@@ -158,6 +158,7 @@ def cat_to_opts(cat, pp=None, script=None, priority=None):
try:
my_cat = config.get_categories()[cat]
except KeyError:
cat = '*'
my_cat = def_cat
if pp is None:
@@ -280,13 +281,10 @@ def has_win_device(p):
return False
if sabnzbd.WIN32:
# the colon should be here too, but we'll handle that separately
CH_ILLEGAL = '\/<>?*|"\t'
CH_LEGAL = '++{}!@#`+'
else:
CH_ILLEGAL = '/'
CH_LEGAL = '+'
CH_ILLEGAL = '/'
CH_LEGAL = '+'
CH_ILLEGAL_WIN = '\/<>?*|"\t:'
CH_LEGAL_WIN = '++{}!@#`+;'
def sanitize_filename(name):
@@ -295,9 +293,15 @@ def sanitize_filename(name):
"""
if not name:
return name
illegal = CH_ILLEGAL
legal = CH_LEGAL
if sabnzbd.WIN32 or cfg.sanitize_safe():
# Remove all bad Windows chars too
illegal += CH_ILLEGAL_WIN
legal += CH_LEGAL_WIN
if ':' in name:
if sabnzbd.WIN32:
# Compensate for the odd way par2 on Windows substitutes a colon character
@@ -306,9 +310,6 @@ def sanitize_filename(name):
# Compensate for the foolish way par2 on OSX handles a colon character
name = name[name.rfind(':') + 1:]
if sabnzbd.WIN32 or cfg.sanitize_safe():
name = replace_win_devices(name)
lst = []
for ch in name.strip():
if ch in illegal:
@@ -316,6 +317,9 @@ def sanitize_filename(name):
lst.append(ch)
name = ''.join(lst)
if sabnzbd.WIN32 or cfg.sanitize_safe():
name = replace_win_devices(name)
if not name:
name = 'unknown'
@@ -345,10 +349,10 @@ def sanitize_foldername(name, limit=True):
illegal = FL_ILLEGAL
legal = FL_LEGAL
if cfg.sanitize_safe():
if sabnzbd.WIN32 or cfg.sanitize_safe():
# Remove all bad Windows chars too
illegal += r'\/<>?*|":'
legal += r'++{}!@#`;'
illegal += CH_ILLEGAL_WIN
legal += CH_LEGAL_WIN
repl = cfg.replace_illegal()
lst = []

View File

@@ -33,7 +33,7 @@ from sabnzbd.encoding import TRANS, unicoder, platform_encode, deunicode
import sabnzbd.utils.rarfile as rarfile
from sabnzbd.misc import format_time_string, find_on_path, make_script_path, int_conv, \
real_path, globber, globber_full, get_all_passwords, renamer, clip_path, calc_age, \
long_path, remove_file, recursive_listdir, is_rarfile
long_path, remove_file, recursive_listdir, is_rarfile, get_filename
from sabnzbd.sorting import SeriesSorter
import sabnzbd.cfg as cfg
from sabnzbd.constants import Status
@@ -759,7 +759,7 @@ def rar_extract_core(rarfile_path, numrars, one_folder, nzo, setname, extraction
# unrar 3.x: "Encrypted file: CRC failed in oLKQfrcNVivzdzSG22a2xo7t001.part1.rar (password incorrect ?)"
# unrar 4.x: "CRC failed in the encrypted file oLKQfrcNVivzdzSG22a2xo7t001.part1.rar. Corrupt file or wrong password."
# unrar 5.x: "Checksum error in the encrypted file oLKQfrcNVivzdzSG22a2xo7t001.part1.rar. Corrupt file or wrong password."
# unrar 5.01 : "The specified password is incorrect."
# unrar 5.01: "The specified password is incorrect."
m = re.search(r'encrypted file (.+)\. Corrupt file', line)
if not m:
# unrar 3.x syntax
@@ -767,7 +767,7 @@ def rar_extract_core(rarfile_path, numrars, one_folder, nzo, setname, extraction
if m:
filename = TRANS(m.group(1)).strip()
else:
filename = os.path.split(rarfile_path)[1]
filename = get_filename(rarfile_path)
nzo.fail_msg = T('Unpacking failed, archive requires a password')
msg = (u'[%s][%s] ' + T('Unpacking failed, archive requires a password')) % (setname, filename)
nzo.set_unpack_info('Unpack', unicoder(msg))
@@ -779,20 +779,20 @@ def rar_extract_core(rarfile_path, numrars, one_folder, nzo, setname, extraction
if m:
filename = TRANS(m.group(1)).strip()
else:
filename = '???'
filename = get_filename(rarfile_path)
nzo.fail_msg = T('Unusable RAR file')
msg = ('[%s][%s] ' + T('Unusable RAR file')) % (setname, filename)
nzo.set_unpack_info('Unpack', unicoder(msg))
fail = 3
elif 'checksum error' in line:
# Corrupt archive
elif 'checksum error' in line or 'Unexpected end of archive' in line:
# Corrupt archive or passworded, we can't know
# packed data checksum error in volume FILE
m = re.search(r'error in volume (.+)', line)
if m:
filename = TRANS(m.group(1)).strip()
else:
filename = '???'
filename = get_filename(rarfile_path)
nzo.fail_msg = T('Corrupt RAR file')
msg = ('[%s][%s] ' + T('Corrupt RAR file')) % (setname, filename)
nzo.set_unpack_info('Unpack', unicoder(msg))

View File

@@ -722,11 +722,13 @@ class NzbQueue(object):
""" Get next article for jobs in the queue
Not locked for performance, since it only reads the queue
"""
# Pre-calculate propagation delay
propagtion_delay = float(cfg.propagation_delay() * 60)
for nzo in self.__nzo_list:
# Not when queue paused and not a forced item
if nzo.status not in (Status.PAUSED, Status.GRABBING) or nzo.priority == TOP_PRIORITY:
# Check if past propagation delay, or forced
if not cfg.propagation_delay() or nzo.priority == TOP_PRIORITY or (nzo.avg_stamp + float(cfg.propagation_delay() * 60)) < time.time():
if not propagtion_delay or nzo.priority == TOP_PRIORITY or (nzo.avg_stamp + propagtion_delay) < time.time():
if not nzo.server_in_try_list(server):
article = nzo.get_article(server, servers)
if article:

View File

@@ -933,7 +933,6 @@ class NzbObject(TryList):
# Raise error, so it's not added
raise TypeError
@synchronized(NZO_LOCK)
def update_download_stats(self, bps, serverid, bytes):
if bps:
self.avg_bps_total += bps / 1024
@@ -1331,8 +1330,9 @@ class NzbObject(TryList):
dif = int(self.url_wait - time.time() + 0.5)
if dif > 0:
prefix += T('WAIT %s sec') % dif + ' / ' # : Queue indicator for waiting URL fetch
if (self.avg_stamp + float(cfg.propagation_delay() * 60)) > time.time() and self.priority != TOP_PRIORITY:
wait_time = int((self.avg_stamp + float(cfg.propagation_delay() * 60) - time.time()) / 60 + 0.5)
propagtion_delay = float(cfg.propagation_delay() * 60)
if propagtion_delay and (self.avg_stamp + propagtion_delay) > time.time() and self.priority != TOP_PRIORITY:
wait_time = int((self.avg_stamp + propagtion_delay - time.time()) / 60 + 0.5)
prefix += T('PROPAGATING %s min') % wait_time + ' / ' # : Queue indicator while waiting for propagation of post
return '%s%s' % (prefix, self.final_name)
@@ -1479,7 +1479,7 @@ class NzbObject(TryList):
# Ignore undamaged or small downloads
if self.bad_articles and self.first_articles_count >= 10:
# We need a float-division, see if more than 80% is there
if (self.first_articles_count / float(self.bad_articles)) >= 0.8:
if (float(self.bad_articles) / self.first_articles_count) >= 0.8:
return False
return True
@@ -1881,7 +1881,7 @@ class NzbObject(TryList):
# dupe check off nzb contents
if no_dupes:
res = history_db.have_md5sum(self.md5sum)
res = history_db.have_name_or_md5sum(self.final_name, self.md5sum)
logging.debug('Dupe checking NZB in history: filename=%s, md5sum=%s, result=%s', self.filename, self.md5sum, res)
if not res and cfg.backup_for_duplicates():
res = sabnzbd.backup_exists(self.filename)

View File

@@ -349,7 +349,6 @@ class SABnzbdDelegate(NSObject):
pnfo_list = qnfo.list
bytesleftprogess = 0
bpsnow = BPSMeter.do.get_bps()
self.info = ""
self.menu_queue = NSMenu.alloc().init()
@@ -366,7 +365,7 @@ class SABnzbdDelegate(NSObject):
bytesleftprogess += pnfo.bytes_left
bytes = pnfo.bytes / MEBI
nzo_id = pnfo.nzo_id
timeleft = self.calc_timeleft_(bytesleftprogess, bpsnow)
timeleft = self.calc_timeleft_(bytesleftprogess, BPSMeter.do.bps)
job = "%s\t(%d/%d MB) %s" % (filename, bytesleft, bytes, timeleft)
menu_queue_item = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(job, '', '')

View File

@@ -131,7 +131,6 @@ def parse_par2_file_packet(f, header):
nothing = None, None, None
if header != PAR_PKT_ID:
print header
return nothing
# Length must be multiple of 4 and at least 20

View File

@@ -910,17 +910,28 @@ def get_last_line(txt):
def remove_samples(path):
""" Remove all files that match the sample pattern """
""" Remove all files that match the sample pattern
Skip deleting if it matches all files or there is only 1 file
"""
files_to_delete = []
nr_files = 0
for root, _dirs, files in os.walk(path):
for file_ in files:
if RE_SAMPLE.search(file_):
path = os.path.join(root, file_)
try:
logging.info("Removing unwanted sample file %s", path)
remove_file(path)
except:
logging.error(T('Removing %s failed'), clip_path(path))
logging.info("Traceback: ", exc_info=True)
for file_to_match in files:
nr_files += 1
if RE_SAMPLE.search(file_to_match):
files_to_delete.append(os.path.join(root, file_to_match))
# Make sure we skip false-positives
if 1 < len(files_to_delete) < nr_files:
for path in files_to_delete:
try:
logging.info("Removing unwanted sample file %s", path)
remove_file(path)
except:
logging.error(T('Removing %s failed'), clip_path(path))
logging.info("Traceback: ", exc_info=True)
else:
logging.info("Skipping sample-removal, false-positive")
def rename_and_collapse_folder(oldpath, newpath, files):

View File

@@ -542,10 +542,10 @@ SKIN_TEXT = {
'opt-rating_filter_downvoted' : TT('More thumbs down than up'),
'opt-rating_filter_keywords' : TT('Title keywords'),
'explain-rating_filter_keywords' : TT('Comma separated list'),
'opt-load_balancing' : TT('Server load-balancing'),
'no-load-balancing' : TT('Prevent load-balancing'),
'load-balancing' : TT('Allow load-balancing'),
'load-balancing-happy-eyeballs' : TT('Allow load-balancing with optimization for IPv6'),
'opt-load_balancing' : TT('Server IP address selection'),
'no-load-balancing' : TT('First IP address'),
'load-balancing' : TT('Randomly selected IP address'),
'load-balancing-happy-eyeballs' : TT('Quickest IP address, preferring IPv6'),
'explain-load_balancing' : TT('Useful if a newsserver has more than one IPv4/IPv6 address'),
# Config->Server
@@ -829,7 +829,6 @@ SKIN_TEXT = {
'Glitter-addFromFile' : TT('Upload NZB'),
'Glitter-chooseFile' : TT('Browse'),
'Glitter-addnzbFilename' : TT('Optionally specify a filename'),
'Glitter-nzbFormats' : TT('Formats: .nzb, .rar, .zip, .gz, .bz2'),
'Glitter-submit' : TT('Submit'),
'Glitter-openInfoURL' : TT('Open Informational URL'),
'Glitter-sendThanks' : TT('Submitted. Thank you!'),

View File

@@ -377,7 +377,12 @@ class SeriesSorter(object):
else:
head = path
return os.path.normpath(head)
if head:
return os.path.normpath(head)
else:
# The normpath function translates "" to "."
# which results in wrong path.join later on
return head
def rename(self, files, current_path):
""" Rename for Series """
@@ -626,7 +631,12 @@ class MovieSorter(object):
else:
head = path
return os.path.normpath(head)
if head:
return os.path.normpath(head)
else:
# The normpath function translates "" to "."
# which results in wrong path.join later on
return head
def rename(self, _files, current_path):
""" Rename for Generic files """
@@ -848,7 +858,12 @@ class DateSorter(object):
else:
head = path
return os.path.normpath(head)
if head:
return os.path.normpath(head)
else:
# The normpath function translates "" to "."
# which results in wrong path.join later on
return head
def rename(self, files, current_path):
""" Renaming Date file """

View File

@@ -32,28 +32,33 @@ from sabnzbd.misc import int_conv
def test_nntp_server_dict(kwargs):
# Grab the host/port/user/pass/connections/ssl
host = kwargs.get('host', '').strip()
if not host:
return False, T('The hostname is not set.')
username = kwargs.get('username', '').strip()
password = kwargs.get('password', '').strip()
server = kwargs.get('server', '').strip()
connections = int_conv(kwargs.get('connections', 0))
if not connections:
return False, T('There are no connections set. Please set at least one connection.')
ssl = int_conv(kwargs.get('ssl', 0))
ssl_verify = int_conv(kwargs.get('ssl_verify', 1))
ssl_ciphers = kwargs.get('ssl_ciphers')
port = int_conv(kwargs.get('port', 0))
if not connections:
return False, T('There are no connections set. Please set at least one connection.')
if not port:
if ssl:
port = 563
else:
port = 119
return test_nntp_server(host, port, server, username=username,
password=password, ssl=ssl, ssl_verify=ssl_verify)
return test_nntp_server(host, port, server, username=username, password=password,
ssl=ssl, ssl_verify=ssl_verify, ssl_ciphers=ssl_ciphers)
def test_nntp_server(host, port, server=None, username=None, password=None, ssl=None, ssl_verify=1):
def test_nntp_server(host, port, server=None, username=None, password=None, ssl=None, ssl_verify=1, ssl_ciphers=None):
""" Will connect (blocking) to the nttp server and report back any errors """
timeout = 4.0
if '*' in password and not password.strip('*'):
@@ -74,7 +79,7 @@ def test_nntp_server(host, port, server=None, username=None, password=None, ssl=
if not got_pass:
return False, T('Password masked in ******, please re-enter')
try:
s = Server(-1, '', host, port, timeout, 0, 0, ssl, ssl_verify, None, False, username, password)
s = Server(-1, '', host, port, timeout, 0, 0, ssl, ssl_verify, ssl_ciphers, False, username, password)
except:
return False, T('Invalid server details')

View File

@@ -190,7 +190,7 @@ class SysTrayIconThread(Thread):
# Wrapper of win32api, timeout is in ms
# We need to wait at least untill what user has defined as double click
self.stop_click_timer()
self.click_timer = timer.set_timer(win32gui.GetDoubleClickTime(), self.click)
self.click_timer = timer.set_timer(win32gui.GetDoubleClickTime() * 2, self.click)
return True
def show_menu(self):

View File

@@ -4,5 +4,5 @@
# You MUST use double quotes (so " and not ')
__version__ = "2.4.0-develop"
__version__ = "2.3.9"
__baseline__ = "unknown"

View File

@@ -1,15 +1,15 @@
@echo off
rem Example of a post processing script for SABnzbd
echo.
echo Running in directory "%~d0%~p0"
echo.
echo The first parameter (result-dir) = %1
echo The second parameter (nzb-name) = %2
echo The third parameter (nice name) = %3
echo The fourth parameter (newzbin #) = %4
echo The fifth parameter (category) = %5
echo The sixth parameter (group) = %6
echo The seventh parameter (status) = %7
echo The eight parameter (failure_url)= %8
echo.
@echo off
rem Example of a post processing script for SABnzbd
echo.
echo Running in directory "%~d0%~p0"
echo.
echo The first parameter (result-dir) = %1
echo The second parameter (nzb-name) = %2
echo The third parameter (nice name) = %3
echo The fourth parameter (newzbin #) = %4
echo The fifth parameter (category) = %5
echo The sixth parameter (group) = %6
echo The seventh parameter (status) = %7
echo The eight parameter (failure_url)= %8
echo.

View File

@@ -3,7 +3,7 @@ version: git
summary: SABnzbd
description: The automated Usenet download tool
confinement: strict
grade: devel
grade: stable
icon: interfaces/Config/templates/staticcfg/images/logo-small.svg
version-script: |
grep -oP '(?<=^Version: ).*' PKG-INFO

View File

@@ -121,6 +121,12 @@ class SABnzbdDownloadFlow(SABnzbdBaseTest):
if not ssl_imp.get_attribute('checked'):
ssl_imp.click()
# Lower number of connections to prevent testing errors
self.driver.find_element_by_partial_link_text("Advanced Settings").click()
pass_inp = self.driver.find_element_by_name("connections")
pass_inp.clear()
pass_inp.send_keys(2)
# Test server-check
self.driver.find_element_by_id("serverTest").click()
self.wait_for_ajax()

View File

Binary file not shown.

View File

@@ -3,7 +3,7 @@
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (C) 1999-2018 Igor Pavlov.
Copyright (C) 1999-2019 Igor Pavlov.
7-Zip Extra files are under the GNU LGPL license.

View File

@@ -25,7 +25,7 @@ Be careful to use those special features.
[ System requirement ]
MultiPar requires a PC with Windows XP or later (Windows Vista, 7, 8, etc).
MultiPar requires a PC with Windows XP or later (Windows Vista, 7, 8, 10, etc).
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -71,10 +71,11 @@ 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 ( MultiPar126_setup.exe or something like this name ),
Double click setup file ( MultiPar129_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.
You may need to re-start OS after over write install or uninstall rarely.
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.
@@ -99,7 +100,7 @@ In either case, user made icons and association are available for the user only.
[ How to install with archive version ]
Unpack compressed file ( MultiPar126.zip or something like this name ) in a folder.
Unpack compressed file ( MultiPar129.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.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.