mirror of
https://github.com/sabnzbd/sabnzbd.git
synced 2026-01-30 10:22:15 -05:00
Compare commits
42 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b0580c3fd | ||
|
|
1feaf775d4 | ||
|
|
322436a9b9 | ||
|
|
2d633daf06 | ||
|
|
03fc8da459 | ||
|
|
8134dd0d32 | ||
|
|
45f6418163 | ||
|
|
bfe4fe0a6d | ||
|
|
6efbe4563c | ||
|
|
c1c27c1c69 | ||
|
|
befe9141fc | ||
|
|
234c85e70c | ||
|
|
2ae316bf9c | ||
|
|
cfcb404794 | ||
|
|
05e0abbd5e | ||
|
|
f064dd9e6e | ||
|
|
4eb6f6c26a | ||
|
|
68c65f8568 | ||
|
|
7381d1a25e | ||
|
|
d9ab79992d | ||
|
|
606f246b95 | ||
|
|
64d97cd7e1 | ||
|
|
f274a4e34b | ||
|
|
f669b28a67 | ||
|
|
3dc6b9171e | ||
|
|
79795b8c62 | ||
|
|
7c5344e4e8 | ||
|
|
d340b2cd0b | ||
|
|
388aa7f92d | ||
|
|
baefba5956 | ||
|
|
4d65782f79 | ||
|
|
d2396f5505 | ||
|
|
5dc49683ba | ||
|
|
5b8e2d7a6d | ||
|
|
847378dcfe | ||
|
|
d73ea0b8f6 | ||
|
|
123cc3bbf9 | ||
|
|
992c3a1288 | ||
|
|
208a0cf482 | ||
|
|
aefdcd7cd6 | ||
|
|
f95ce2bc80 | ||
|
|
f519888bd1 |
@@ -1,3 +1,29 @@
|
||||
-------------------------------------------------------------------------------
|
||||
0.6.2Final by The SABnzbd-Team
|
||||
-------------------------------------------------------------------------------
|
||||
- Fixed association of NZB files with SABnzbd, when using HTTPS-only on Windows Vista/7
|
||||
(resulted in multiple running copies of SABnzbd instead of an NZB upload)
|
||||
- Fixed incorrect email date header when using other language than English
|
||||
-------------------------------------------------------------------------------
|
||||
0.6.1Final by The SABnzbd-Team
|
||||
-------------------------------------------------------------------------------
|
||||
- Fixed association of NZB files with SABnzbd (for real this time).
|
||||
(resulted in multiple running copies of SABnzbd instead of an NZB upload)
|
||||
-------------------------------------------------------------------------------
|
||||
0.6.1RC1 by The SABnzbd-Team
|
||||
-------------------------------------------------------------------------------
|
||||
- Fixed association of NZB files with SABnzbd
|
||||
(resulted in multiple running copies of SABnzbd instead of an NZB upload)
|
||||
- Fixed display of warning when upgrading from 0.4.x
|
||||
- Fixed problem when entering NZB files with names containing accented characters
|
||||
(happened only on OSX with Firefox 4)
|
||||
- Fixed several textual issues
|
||||
- Add PID file support for OSX/Unix (--pid <path>)
|
||||
- Fix attribute error caused by missing category field in nzbmatrix RSS feeds
|
||||
- Fix nzbmatrix category support by just reading the whole "Description" field.
|
||||
- Pause downloader when downloaded file cannot be written to disk.
|
||||
- Fix "~/" (home-dir) support for Unix/OSX and disable for Windows
|
||||
- Add Romanian translation
|
||||
-------------------------------------------------------------------------------
|
||||
0.6.0Final by The SABnzbd-Team
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
SABnzbd 0.6.0
|
||||
SABnzbd 0.6.1
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
0) LICENSE
|
||||
@@ -47,11 +47,12 @@ Use the "Help" button in the web-interface to be directed to the Help Wiki.
|
||||
You need to have Python installed and some modules.
|
||||
|
||||
Unix/Linux/OSX
|
||||
Python-2.5 or 2.6 http://www.python.org
|
||||
Python-2.5, 2.6 or 2.7 http://www.python.org
|
||||
|
||||
Windows
|
||||
Python-2.5.latest http://www.activestate.com
|
||||
Python-2.6.latest
|
||||
Python-2.7.latest
|
||||
|
||||
Essential modules
|
||||
cheetah-2.0.1+ http://www.cheetahtemplate.org/
|
||||
@@ -70,7 +71,7 @@ Optional modules Windows
|
||||
(Binaries, including the OpenSSL libraries)
|
||||
|
||||
Optional modules Unix/Linux/OSX
|
||||
pyopenssl >= 0.7 http://pypi.python.org/pypi/pyOpenSSL
|
||||
pyopenssl >= 0.10 http://pypi.python.org/pypi/pyOpenSSL
|
||||
openssl => v0.9.8g+ http://www.openssl.org/
|
||||
Make sure the OpenSSL libraries match with PyOpenSSL
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@ InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd" ""
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
!insertmacro MUI_LANGUAGE "Danish"
|
||||
!insertmacro MUI_LANGUAGE "NORWEGIAN"
|
||||
!insertmacro MUI_LANGUAGE "Romanian"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
@@ -158,9 +159,18 @@ File /r "dist\*"
|
||||
|
||||
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\SABnzbd" "" "$INSTDIR"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayName" "SABnzbd (remove only)"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayName" "SABnzbd ${SAB_VERSION}"
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
;WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayIcon" '"$INSTDIR\need-a-.ico"'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayVersion" '${SAB_VERSION}'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "Publisher" 'The SABnzbd Team'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "HelpLink" 'http://forums.sabnzbd.org/'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "URLInfoAbout" 'http://wiki.sabnzbd.org/'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "URLUpdateInfo" 'http://sabnzbd.org/'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "Comments" 'The automated Usenet download tool'
|
||||
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "DisplayIcon" '$INSTDIR\interfaces\Classic\templates\static\images\favicon.ico'
|
||||
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "EstimatedSize" 18400
|
||||
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "NoRepair" -1
|
||||
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\SABnzbd" "NoModify" -1
|
||||
; write out uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
@@ -341,6 +351,7 @@ SectionEnd
|
||||
LangString MsgStartSab ${LANG_FRENCH} "D<EFBFBD>marrer SABnzbd (cach<63>)"
|
||||
LangString MsgStartSab ${LANG_NORWEGIAN} "Start SABnzbd (hidden)"
|
||||
LangString MsgStartSab ${LANG_DUTCH} "Start SABnzbd (verborgen)"
|
||||
LangString MsgStartSab ${LANG_ROMANIAN} "Porneste SABnzbd (ascuns)"
|
||||
LangString MsgStartSab ${LANG_SWEDISH} "Starta SABnzbd (dold)"
|
||||
|
||||
LangString MsgShowRelNote ${LANG_ENGLISH} "Show Release Notes"
|
||||
@@ -348,7 +359,8 @@ SectionEnd
|
||||
LangString MsgShowRelNote ${LANG_GERMAN} "Versionshinweise anzeigen"
|
||||
LangString MsgShowRelNote ${LANG_FRENCH} "Afficher les notes de version"
|
||||
LangString MsgShowRelNote ${LANG_NORWEGIAN} "Show Release Notes"
|
||||
LangString MsgShowRelNote ${LANG_DUTCH} "Toon Vrijgave Bericht (Engels)"
|
||||
LangString MsgShowRelNote ${LANG_DUTCH} "Toon vrijgave bericht"
|
||||
LangString MsgShowRelNote ${LANG_ROMANIAN} "Arat<EFBFBD> Notele de Publicare"
|
||||
LangString MsgShowRelNote ${LANG_SWEDISH} "Visa release noteringar"
|
||||
|
||||
LangString MsgSupportUs ${LANG_ENGLISH} "Support the project, Donate!"
|
||||
@@ -357,6 +369,7 @@ SectionEnd
|
||||
LangString MsgSupportUs ${LANG_FRENCH} "Supportez le projet, faites un don !"
|
||||
LangString MsgSupportUs ${LANG_NORWEGIAN} "Support the project, Donate!"
|
||||
LangString MsgSupportUs ${LANG_DUTCH} "Steun het project, Doneer!"
|
||||
LangString MsgSupportUs ${LANG_ROMANIAN} "Sustine proiectul, Doneaz<61>!"
|
||||
LangString MsgSupportUs ${LANG_SWEDISH} "Donera och st<73>d detta projekt!"
|
||||
|
||||
LangString MsgCloseSab ${LANG_ENGLISH} "Please close $\"SABnzbd.exe$\" first"
|
||||
@@ -365,15 +378,17 @@ SectionEnd
|
||||
LangString MsgCloseSab ${LANG_FRENCH} "Quittez $\"SABnzbd.exe$\" avant l'installation, SVP"
|
||||
LangString MsgCloseSab ${LANG_NORWEGIAN} "Please close $\"SABnzbd.exe$\" first"
|
||||
LangString MsgCloseSab ${LANG_DUTCH} "Sluit $\"SABnzbd.exe$\" eerst af"
|
||||
LangString MsgCloseSab ${LANG_ROMANIAN} "<EFBFBD>nchideti mai <20>nt<6E>i $\"SABnzbd.exe$\""
|
||||
LangString MsgCloseSab ${LANG_SWEDISH} "Var v<>nlig st<73>ng $\"SABnzbd.exe$\" f<>rst"
|
||||
|
||||
LangString MsgOldQueue ${LANG_ENGLISH} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_DANISH} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_GERMAN} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_FRENCH} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_DANISH} " >>>> WARNING <<<<$\r$\n$\r$\nVenligst, kontroll<6C>r f<>rst udgivelsesnoter eller g<EFBFBD> til http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_GERMAN} " >>>> WARNUNG <<<<$\r$\n$\r$\nBitte zuerst die Versionsanmerkungen lesen oder $\"http://wiki.sabnzbd.org/introducing-0-6-0 besuchen!$\""
|
||||
LangString MsgOldQueue ${LANG_FRENCH} " >>>> AVERTISSEMENT<<<<$\r$\n$\r$\nS'il vous pla<6C>t, v<>rifiez d'abord les notes de version ou visiter http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_NORWEGIAN} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_DUTCH} " >>>> WAARSCHUWING <<<<$\r$\n$\r$\nLees eerst het vrijgave bericht of ga naar http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_SWEDISH} " >>>> WARNING <<<<$\r$\n$\r$\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_DUTCH} " >>>> WAARSCHUWING <<<<$\r$\n$\r$\nLees eerst het vrijgave bericht of ga naar $\"http://wiki.sabnzbd.org/introducing-0-6-0 !$\""
|
||||
LangString MsgOldQueue ${LANG_ROMANIAN} " >>>> ATENTIE <<<<$\r$\n$\r$\nV<EFBFBD> rug<75>m, verificati mai <20>nt<6E>i notele de publicare sau mergeti la http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
LangString MsgOldQueue ${LANG_SWEDISH} " >>>> VARNING <<<<$\r$\n$\r$\nVar v<>nlig och l<>s versions noteringarna eller g<> till http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
|
||||
LangString MsgUninstall ${LANG_ENGLISH} "This will uninstall SABnzbd from your system"
|
||||
LangString MsgUninstall ${LANG_DANISH} "Dette vil afinstallere SABnzbd fra dit system"
|
||||
@@ -381,6 +396,7 @@ SectionEnd
|
||||
LangString MsgUninstall ${LANG_FRENCH} "Ceci d<>sinstallera SABnzbd de votre syst<73>me"
|
||||
LangString MsgUninstall ${LANG_NORWEGIAN} "This will uninstall SABnzbd from your system"
|
||||
LangString MsgUninstall ${LANG_DUTCH} "Dit verwijdert SABnzbd van je systeem"
|
||||
LangString MsgUninstall ${LANG_ROMANIAN} "Acest lucru va dezinstala SABnzbd din sistem"
|
||||
LangString MsgUninstall ${LANG_SWEDISH} "Detta kommer att avinstallera SABnzbd fr<66>n systemet"
|
||||
|
||||
LangString MsgRunAtStart ${LANG_ENGLISH} "Run at startup"
|
||||
@@ -389,6 +405,7 @@ SectionEnd
|
||||
LangString MsgRunAtStart ${LANG_FRENCH} "Lancer au d<>marrage"
|
||||
LangString MsgRunAtStart ${LANG_NORWEGIAN} "Run at startup"
|
||||
LangString MsgRunAtStart ${LANG_DUTCH} "Opstarten bij systeem start"
|
||||
LangString MsgRunAtStart ${LANG_ROMANIAN} "Executare la pornire"
|
||||
LangString MsgRunAtStart ${LANG_SWEDISH} "K<EFBFBD>r vid uppstart"
|
||||
|
||||
LangString MsgIcon ${LANG_ENGLISH} "Desktop Icon"
|
||||
@@ -397,6 +414,7 @@ SectionEnd
|
||||
LangString MsgIcon ${LANG_FRENCH} "Ic<EFBFBD>ne sur le Bureau"
|
||||
LangString MsgIcon ${LANG_NORWEGIAN} "Desktop Icon"
|
||||
LangString MsgIcon ${LANG_DUTCH} "Pictogram op bureaublad"
|
||||
LangString MsgIcon ${LANG_ROMANIAN} "Icoan<EFBFBD> Desktop"
|
||||
LangString MsgIcon ${LANG_SWEDISH} "Skrivbordsikon"
|
||||
|
||||
LangString MsgAssoc ${LANG_ENGLISH} "NZB File association"
|
||||
@@ -405,6 +423,7 @@ SectionEnd
|
||||
LangString MsgAssoc ${LANG_FRENCH} "Association des fichiers NZB"
|
||||
LangString MsgAssoc ${LANG_NORWEGIAN} "NZB File association"
|
||||
LangString MsgAssoc ${LANG_DUTCH} "NZB bestanden koppelen aan SABnzbd"
|
||||
LangString MsgAssoc ${LANG_ROMANIAN} "Asociere cu Fisierele NZB"
|
||||
LangString MsgAssoc ${LANG_SWEDISH} "NZB Filassosication"
|
||||
|
||||
LangString MsgDelProgram ${LANG_ENGLISH} "Delete Program"
|
||||
@@ -413,6 +432,7 @@ SectionEnd
|
||||
LangString MsgDelProgram ${LANG_FRENCH} "Supprimer le programme"
|
||||
LangString MsgDelProgram ${LANG_NORWEGIAN} "Delete Program"
|
||||
LangString MsgDelProgram ${LANG_DUTCH} "Verwijder programma"
|
||||
LangString MsgDelProgram ${LANG_ROMANIAN} "Sterge Program"
|
||||
LangString MsgDelProgram ${LANG_SWEDISH} "Ta bort programmet"
|
||||
|
||||
LangString MsgDelSettings ${LANG_ENGLISH} "Delete Settings"
|
||||
@@ -421,6 +441,7 @@ SectionEnd
|
||||
LangString MsgDelSettings ${LANG_FRENCH} "Supprimer les Param<61>tres"
|
||||
LangString MsgDelSettings ${LANG_NORWEGIAN} "Delete Settings"
|
||||
LangString MsgDelSettings ${LANG_DUTCH} "Verwijder instellingen"
|
||||
LangString MsgDelSettings ${LANG_ROMANIAN} "Stergeti Set<65>ri"
|
||||
LangString MsgDelSettings ${LANG_SWEDISH} "Ta bort inst<73>llningar"
|
||||
|
||||
LangString MsgDelLogs ${LANG_ENGLISH} "Delete Logs"
|
||||
@@ -429,6 +450,7 @@ SectionEnd
|
||||
LangString MsgDelLogs ${LANG_FRENCH} "Supprimer les logs"
|
||||
LangString MsgDelLogs ${LANG_NORWEGIAN} "Delete Logs"
|
||||
LangString MsgDelLogs ${LANG_DUTCH} "Verwijder logging"
|
||||
LangString MsgDelLogs ${LANG_ROMANIAN} "Stergeti Activitate"
|
||||
LangString MsgDelLogs ${LANG_SWEDISH} "Ta bort logg"
|
||||
|
||||
LangString MsgDelCache ${LANG_ENGLISH} "Delete Cache"
|
||||
@@ -437,6 +459,7 @@ SectionEnd
|
||||
LangString MsgDelCache ${LANG_FRENCH} "Supprimer le Cache"
|
||||
LangString MsgDelCache ${LANG_NORWEGIAN} "Delete Cache"
|
||||
LangString MsgDelCache ${LANG_DUTCH} "Verwijder Cache"
|
||||
LangString MsgDelCache ${LANG_ROMANIAN} "Stergeti Cache"
|
||||
LangString MsgDelCache ${LANG_SWEDISH} "Ta bort tempor<6F>r-mapp"
|
||||
|
||||
Function un.onInit
|
||||
|
||||
4
PKG-INFO
4
PKG-INFO
@@ -1,7 +1,7 @@
|
||||
Metadata-Version: 1.0
|
||||
Name: SABnzbd
|
||||
Version: 0.6.0
|
||||
Summary: SABnzbd-0.6.0
|
||||
Version: 0.6.2
|
||||
Summary: SABnzbd-0.6.2
|
||||
Home-page: http://sourceforge.net/projects/sabnzbdplus
|
||||
Author: The SABnzbd Team
|
||||
Author-email: team@sabnzbd.org
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
\paperw11900\paperh16840\vieww16360\viewh15680\viewkind0
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
|
||||
|
||||
\f0\b\fs48 \cf0 SABnzbd 0.6.0\
|
||||
\f0\b\fs48 \cf0 SABnzbd 0.6.2\
|
||||
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
|
||||
|
||||
\b0\fs26 \cf0 \
|
||||
@@ -35,6 +35,13 @@ There is an extensive Wiki on the use of SABnzbd.\
|
||||
\b0 \
|
||||
\
|
||||
|
||||
\b\fs40 Upgrading from 0.6.x
|
||||
\b0\fs26 \
|
||||
Stop SABnzbd.\
|
||||
Install new version\
|
||||
Start SABnzbd.\
|
||||
\
|
||||
|
||||
\b\fs40 Upgrading from 0.5.x
|
||||
\b0\fs26 \
|
||||
Stop SABnzbd.\
|
||||
|
||||
10
README.txt
10
README.txt
@@ -1,5 +1,5 @@
|
||||
*******************************************
|
||||
*** This is SABnzbd 0.6.0 ***
|
||||
*** This is SABnzbd 0.6.2 ***
|
||||
*******************************************
|
||||
SABnzbd is an open-source cross-platform binary newsreader.
|
||||
It simplifies the process of downloading from Usenet dramatically,
|
||||
@@ -18,6 +18,14 @@ http://wiki.sabnzbd.org/introducing-0-6-0
|
||||
|
||||
Please also read the file "ISSUES.txt"
|
||||
|
||||
*******************************************
|
||||
*** Upgrading from 0.6.x ***
|
||||
*******************************************
|
||||
Stop SABnzbd.
|
||||
Install new version
|
||||
Start SABnzbd.
|
||||
|
||||
|
||||
*******************************************
|
||||
*** Upgrading from 0.5.x ***
|
||||
*******************************************
|
||||
|
||||
44
SABnzbd.py
44
SABnzbd.py
@@ -237,6 +237,7 @@ def print_help():
|
||||
print " -d --daemon Use when run as a service"
|
||||
else:
|
||||
print " -d --daemon Fork daemon process"
|
||||
print " --pid <path> Create a PID file in the listed folder (full path)"
|
||||
print
|
||||
print " --force Discard web-port timeout (see Wiki!)"
|
||||
print " -h --help Print this message"
|
||||
@@ -612,12 +613,10 @@ def get_webhost(cherryhost, cherryport, https_port):
|
||||
def is_sabnzbd_running(url):
|
||||
""" Return True when there's already a SABnzbd instance running.
|
||||
"""
|
||||
import urllib2
|
||||
try:
|
||||
url = '%s&mode=version' % (url)
|
||||
s = urllib2.urlopen(url)
|
||||
ver = s.read()
|
||||
if ver and ver.strip() == sabnzbd.__version__:
|
||||
ver = sabnzbd.newsunpack.get_from_url(url)
|
||||
if ver and ver.strip(' \n\r\t') == sabnzbd.__version__:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
@@ -650,7 +649,8 @@ def check_for_sabnzbd(url, upload_nzbs):
|
||||
upload_file(url, f)
|
||||
else:
|
||||
# Launch the web browser and quit since sabnzbd is already running
|
||||
launch_a_browser(url.replace('api?', ''), force=True)
|
||||
url = url[:url.rfind('/')+1]
|
||||
launch_a_browser(url, force=True)
|
||||
exit_sab(0)
|
||||
return True
|
||||
return False
|
||||
@@ -760,7 +760,7 @@ def commandline_handler(frozen=True):
|
||||
'weblogging=', 'server=', 'templates',
|
||||
'template2', 'browser=', 'config-file=', 'force',
|
||||
'version', 'https=', 'autorestarted', 'repair', 'repair-all',
|
||||
'log-all', 'no-login',
|
||||
'log-all', 'no-login', 'pid=',
|
||||
# Below Win32 Service options
|
||||
'password=', 'username=', 'startup=', 'perfmonini=', 'perfmondll=',
|
||||
'interactive', 'wait=',
|
||||
@@ -777,8 +777,8 @@ def commandline_handler(frozen=True):
|
||||
if not service:
|
||||
# Get and remove any NZB file names
|
||||
for entry in args:
|
||||
if get_ext(entry) in ('.nzb', '.zip','.rar', '.nzb.gz'):
|
||||
upload_nzbs.append(entry)
|
||||
if get_ext(entry) in ('.nzb', '.zip','.rar', '.gz'):
|
||||
upload_nzbs.append(os.path.abspath(entry))
|
||||
|
||||
for opt, arg in opts:
|
||||
if opt in ('password','username','startup','perfmonini', 'perfmondll', 'interactive', 'wait'):
|
||||
@@ -830,6 +830,7 @@ def main():
|
||||
api_url = None
|
||||
no_login = False
|
||||
re_argv = [sys.argv[0]]
|
||||
pid_path = None
|
||||
|
||||
service, sab_opts, serv_opts, upload_nzbs = commandline_handler()
|
||||
|
||||
@@ -904,6 +905,10 @@ def main():
|
||||
sabnzbd.LOG_ALL = True
|
||||
elif opt in ('--no-login',):
|
||||
no_login = True
|
||||
elif opt in ('--pid',):
|
||||
pid_path = arg
|
||||
re_argv.append(opt)
|
||||
re_argv.append(arg)
|
||||
|
||||
sabnzbd.MY_FULLNAME = os.path.normpath(os.path.abspath(sabnzbd.MY_FULLNAME))
|
||||
sabnzbd.MY_NAME = os.path.basename(sabnzbd.MY_FULLNAME)
|
||||
@@ -1004,6 +1009,9 @@ def main():
|
||||
except:
|
||||
Bail_Out(browserhost, cherryport, '49')
|
||||
|
||||
# Find external programs
|
||||
sabnzbd.newsunpack.find_programs(sabnzbd.DIR_PROG)
|
||||
|
||||
# Windows instance is reachable through registry
|
||||
url = None
|
||||
if sabnzbd.WIN32:
|
||||
@@ -1179,9 +1187,6 @@ def main():
|
||||
else:
|
||||
autobrowser = sabnzbd.cfg.autobrowser()
|
||||
|
||||
# Find external programs
|
||||
sabnzbd.newsunpack.find_programs(sabnzbd.DIR_PROG)
|
||||
|
||||
if not sabnzbd.WIN_SERVICE and not getattr(sys, 'frozen', None) == 'macosx_app':
|
||||
signal.signal(signal.SIGINT, sabnzbd.sig_handler)
|
||||
signal.signal(signal.SIGTERM, sabnzbd.sig_handler)
|
||||
@@ -1289,7 +1294,7 @@ def main():
|
||||
'request.show_tracebacks': True,
|
||||
'checker.check_localhost' : bool(consoleLogging),
|
||||
'error_page.401': sabnzbd.misc.error_page_401
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
static = {'tools.staticdir.on': True, 'tools.staticdir.dir': os.path.join(web_dir, 'static')}
|
||||
@@ -1382,14 +1387,17 @@ def main():
|
||||
mail = None
|
||||
else:
|
||||
# Write URL directly to registry
|
||||
set_connection_info(url)
|
||||
set_connection_info(api_url)
|
||||
|
||||
if pid_path:
|
||||
sabnzbd.pid_file(pid_path, cherryport)
|
||||
|
||||
# Have to keep this running, otherwise logging will terminate
|
||||
timer = 0
|
||||
while not sabnzbd.SABSTOP:
|
||||
if sabnzbd.WIN_SERVICE:
|
||||
rc = win32event.WaitForMultipleObjects((sabnzbd.WIN_SERVICE.hWaitStop,
|
||||
sabnzbd.WIN_SERVICE.overlapped.hEvent), 0, 3000)
|
||||
sabnzbd.WIN_SERVICE.overlapped.hEvent), 0, 3000)
|
||||
if rc == win32event.WAIT_OBJECT_0:
|
||||
if mail:
|
||||
mail.send('stop')
|
||||
@@ -1477,6 +1485,7 @@ def main():
|
||||
logging.info('Leaving SABnzbd')
|
||||
sys.stderr.flush()
|
||||
sys.stdout.flush()
|
||||
sabnzbd.pid_file()
|
||||
if getattr(sys, 'frozen', None) == 'macosx_app':
|
||||
AppHelper.stopEventLoop()
|
||||
else:
|
||||
@@ -1499,9 +1508,9 @@ if sabnzbd.WIN32:
|
||||
_svc_display_name_ = 'SABnzbd Binary Newsreader'
|
||||
_svc_deps_ = ["EventLog", "Tcpip", "SABHelper"]
|
||||
_svc_description_ = 'Automated downloading from Usenet. ' \
|
||||
'Set to "automatic" to start the service at system startup. ' \
|
||||
'You may need to login with a real user account when you need ' \
|
||||
'access to network shares.'
|
||||
'Set to "automatic" to start the service at system startup. ' \
|
||||
'You may need to login with a real user account when you need ' \
|
||||
'access to network shares.'
|
||||
|
||||
def __init__(self, args):
|
||||
win32serviceutil.ServiceFramework.__init__(self, args)
|
||||
@@ -1639,4 +1648,3 @@ if __name__ == '__main__':
|
||||
|
||||
else:
|
||||
main()
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ $T('Plush-containerWidth'):
|
||||
<input type="hidden" name="apikey" value="$session" />
|
||||
<input type="hidden" name="mode" value="addfile" />
|
||||
<input type="file" id="uploadNZBFile" name="name" size="12" style="width:180px;" />
|
||||
<input type="submit" value="Upload" class="juiButton" />
|
||||
<input type="submit" value="$T('Plush-upload')" class="juiButton" />
|
||||
<span id="uploadingSpinner" class="loading" style="display:none"> </span>
|
||||
<br/><i>$T('Plush-uploadTip')</i>
|
||||
<div id="add_nzb_hr"><hr></div>
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
<div id="config-components">
|
||||
|
||||
<div id="core-component-group1" class="component-group clearfix">
|
||||
<div class="component-group-desc">
|
||||
<h3>SABnzbd Config</h3>
|
||||
</div>
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
<label class="nocheck clearfix">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div id="page-wrap" class="tiley_sprite_container sprite_tile_queue_wrap">
|
||||
|
||||
<div id="hdr-queue" class="tilex_sprite_container sprite_tile_qh">
|
||||
<div class="logo main_sprite_container sprite_topleft_queue"><h1><!--#if $active_lang=='de' then $T('menu-queue') else $T('menu-queue').upper()#--></h1></div>
|
||||
<div class="logo main_sprite_container sprite_topleft_queue"><h1><!--#if $active_lang in ('de', 'fr') then $T('menu-queue') else $T('menu-queue').upper()#--></h1></div>
|
||||
<div class="queue-buttons queue-buttons-pause lang-$active_lang main_sprite_container sprite_topright_queue">
|
||||
<ul>
|
||||
<li class="main_sprite_container <!--#if $paused then 'sprite_q_pause_on' else 'sprite_q_pause'#-->" title="$T('link-pause') ⁄ $T('link-resume')" id="pause_resume"></li>
|
||||
@@ -182,7 +182,7 @@
|
||||
|
||||
<!-- History Menu/Banner -->
|
||||
<div id="hdr-history" class="box_banner_history tilex_sprite_container sprite_tile_qhistory">
|
||||
<h1><!--#if $active_lang=='de' then $T('menu-history') else $T('menu-history').upper()#--> </h1>
|
||||
<h1><!--#if $active_lang in ('de', 'fr') then $T('menu-history') else $T('menu-history').upper()#--> </h1>
|
||||
<div class="box_banner_r">
|
||||
<ul class="box_banner_menu">
|
||||
<li class="main_sprite_container sprite_h_purge show" id="hist_purge" title="$T('purgeHist')"></li>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
$.plush.queuenoofslots = $noofslots;
|
||||
$.plush.SetQueueSpeedLimit('$speedlimit');
|
||||
$.plush.SetQueueFinishAction('$finishaction');
|
||||
$.plush.SetWarnings($have_warnings,"<!--#echo $last_warning.replace("\n"," ").replace('"',"'") #-->");
|
||||
$.plush.SetWarnings($have_warnings,"<!--#echo $last_warning.replace("\n"," ").replace('"',"'").replace('\\','\\\\') #-->");
|
||||
$.plush.SetQueuePauseInfo(<!--#if $paused#-->true<!--#else#-->false<!--#end if#-->,'$pause_int');
|
||||
$.plush.SetQueueETAStats("<!--#if float($kbpersec) > 1023 #-->$speed<!--#else#--><!--#echo "%.0f" % float($kbpersec)#--> K<!--#end if#-->",<!--#echo "%.0f" % float($kbpersec)#-->,'$timeleft','$T('eta'): $eta');
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ Please choose your prefered language<br /><br />
|
||||
<div class="full-width">
|
||||
<table class="full-width">
|
||||
<tr>
|
||||
<td class="align-center"><input class="bigbutton" type="button" onclick="document.location ='./exit'" value="Exit SABnzbd" /></td>
|
||||
<td class="align-center"><input class="bigbutton" type="submit" value="Start Wizard" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -20,7 +20,7 @@ $T('wizard-explain-server')
|
||||
<div id="host-error" class="error-text hidden">$T('wizard-server-required')</div>
|
||||
<br class="clear" />
|
||||
<label class="label">$T('srv-port')</label><input id="port" class="text-input-thin" type="text" size="2" name="port" value="$port">
|
||||
<div id="port-tip" class="tips">E.g. 119 or 563 for SSL</div>
|
||||
<div id="port-tip" class="tips">$T('wizard-port-eg')</div>
|
||||
<div id="port-error" class="error-text hidden">$T('wizard-server-number')</div>
|
||||
<br class="clear" /><br class="clear" />
|
||||
<label class="label">$T('srv-username')</label><input class="validate-text clearinput text-input" type="text" size="12" name="username" value="$username">
|
||||
@@ -28,7 +28,7 @@ $T('wizard-explain-server')
|
||||
<label class="label">$T('srv-password')</label><input class="validate-text text-input" type="password" size="12" name="password" value="$password">
|
||||
<br class="clear" /><br class="clear" />
|
||||
<label class="label">$T('srv-connections')<span class="required-star">*</span></label><input id="connections" class="text-input-thin" type="text" size="2" name="connections" value="$connections">
|
||||
<div id="connections-tip" class="tips">$T('wizard-server-con-explain') E.g. 8 or 20</div>
|
||||
<div id="connections-tip" class="tips">$T('wizard-server-con-explain') $T('wizard-server-con-eg')</div>
|
||||
<div id="connections-error" class="error-text hidden">$T('wizard-server-number')</div>
|
||||
<br class="clear" />
|
||||
<label><span class="label">$T('srv-ssl')</span>
|
||||
|
||||
BIN
interfaces/wizard/static/images/flags/ro.png
Normal file
BIN
interfaces/wizard/static/images/flags/ro.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
77
licenses/Python/LICENSE-curl.txt
Normal file
77
licenses/Python/LICENSE-curl.txt
Normal file
@@ -0,0 +1,77 @@
|
||||
The CURL binaries have been downloaded from:
|
||||
http://www.paehl.com/open_source/?CURL_7.21.6
|
||||
|
||||
License info:
|
||||
|
||||
=================================================================================
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright (c) 1996 - 2011, Daniel Stenberg, <daniel@haxx.se>.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any purpose
|
||||
with or without fee is hereby granted, provided that the above copyright
|
||||
notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
|
||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||||
OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization of the copyright holder.
|
||||
=================================================================================
|
||||
_ _ ____ _
|
||||
___| | | | _ \| |
|
||||
/ __| | | | |_) | |
|
||||
| (__| |_| | _ <| |___
|
||||
\___|\___/|_| \_\_____|
|
||||
|
||||
README
|
||||
|
||||
Curl is a command line tool for transferring data specified with URL
|
||||
syntax. Find out how to use curl by reading the curl.1 man page or the
|
||||
MANUAL document. Find out how to install Curl by reading the INSTALL
|
||||
document.
|
||||
|
||||
libcurl is the library curl is using to do its job. It is readily
|
||||
available to be used by your software. Read the libcurl.3 man page to
|
||||
learn how!
|
||||
|
||||
You find answers to the most frequent questions we get in the FAQ document.
|
||||
|
||||
Study the COPYING file for distribution terms and similar. If you distribute
|
||||
curl binaries or other binaries that involve libcurl, you might enjoy the
|
||||
LICENSE-MIXING document.
|
||||
|
||||
CONTACT
|
||||
|
||||
If you have problems, questions, ideas or suggestions, please contact us
|
||||
by posting to a suitable mailing list. See http://curl.haxx.se/mail/
|
||||
|
||||
All contributors to the project are listed in the THANKS document.
|
||||
|
||||
WEB SITE
|
||||
|
||||
Visit the curl web site for the latest news and downloads:
|
||||
|
||||
http://curl.haxx.se/
|
||||
|
||||
GIT
|
||||
|
||||
To download the very latest source off the GIT server do this:
|
||||
|
||||
git clone git://github.com/bagder/curl.git
|
||||
|
||||
(you'll get a directory named curl created, filled with the source code)
|
||||
|
||||
NOTICE
|
||||
|
||||
Curl contains pieces of source code that is Copyright (c) 1998, 1999
|
||||
Kungliga Tekniska H<>gskolan. This notice is included here to comply with the
|
||||
distribution terms.
|
||||
@@ -523,12 +523,16 @@ elif target in ('binary', 'installer'):
|
||||
setup(**options)
|
||||
rename_file('dist', Win32HelperName, Win32ServiceHelpName)
|
||||
|
||||
############################
|
||||
# Copy curl files
|
||||
shutil.copy2(r'win\curl\curl.exe', r'dist\lib')
|
||||
shutil.copy2(r'win\curl\libssh2.dll', r'dist\lib')
|
||||
|
||||
############################
|
||||
if target == 'installer':
|
||||
|
||||
os.system('makensis.exe /v3 /DSAB_PRODUCT=%s /DSAB_FILE=%s NSIS_Installer.nsi' % \
|
||||
(prod, fileIns))
|
||||
os.system('makensis.exe /v3 /DSAB_PRODUCT=%s /DSAB_VERSION=%s /DSAB_FILE=%s NSIS_Installer.nsi' % \
|
||||
(prod, release, fileIns))
|
||||
|
||||
|
||||
DeleteFiles(fileBin)
|
||||
|
||||
164
po/email/ro.px
Normal file
164
po/email/ro.px
Normal file
@@ -0,0 +1,164 @@
|
||||
# Romanian translation for sabnzbd
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the sabnzbd package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sabnzbd\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-15 19:19+0000\n"
|
||||
"PO-Revision-Date: 2011-05-11 20:22+0000\n"
|
||||
"Last-Translator: shypike <Unknown>\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: 2011-05-12 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#: email/email.tmpl:1
|
||||
msgid ""
|
||||
"##\n"
|
||||
"## Default Email template for SABnzbd\n"
|
||||
"## This a Cheetah template\n"
|
||||
"## Documentation: http://sabnzbd.wikidot.com/email-templates\n"
|
||||
"##\n"
|
||||
"## Newlines and whitespace are significant!\n"
|
||||
"##\n"
|
||||
"## These are the email headers\n"
|
||||
"To: $to\n"
|
||||
"From: $from\n"
|
||||
"Date: $date\n"
|
||||
"Subject: SABnzbd has <!--#if $status then \"completed\" else \"failed\" #--> "
|
||||
"job $name\n"
|
||||
"X-priority: 5\n"
|
||||
"X-MS-priority: 5\n"
|
||||
"## After this comes the body, the empty line is required!\n"
|
||||
"\n"
|
||||
"Hi,\n"
|
||||
"<!--#if $status #-->\n"
|
||||
"SABnzbd has downloaded \"$name\" <!--#if $msgid==\"\" then \"\" else "
|
||||
"\"(newzbin #\" + $msgid + \")\"#-->\n"
|
||||
"<!--#else#-->\n"
|
||||
"SABnzbd has failed to download \"$name\" <!--#if $msgid==\"\" then \"\" else "
|
||||
"\"(newzbin #\" + $msgid + \")\"#-->\n"
|
||||
"<!--#end if#-->\n"
|
||||
"Finished at $end_time\n"
|
||||
"Downloaded $size\n"
|
||||
"\n"
|
||||
"Results of the job:\n"
|
||||
"<!--#for $stage in $stages #-->\n"
|
||||
"Stage $stage <!--#slurp#-->\n"
|
||||
"<!--#for $result in $stages[$stage]#-->\n"
|
||||
" $result <!--#slurp#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"<!--#if $script!=\"\" #-->\n"
|
||||
"Output from user script \"$script\" (Exit code = $script_ret):\n"
|
||||
"$script_output\n"
|
||||
"<!--#end if#-->\n"
|
||||
"<!--#if $status #-->\n"
|
||||
"Enjoy!\n"
|
||||
"<!--#else#-->\n"
|
||||
"Sorry!\n"
|
||||
"<!--#end if#-->\n"
|
||||
msgstr ""
|
||||
"##\n"
|
||||
"## Șablon Email Original pentru SABnzbd\n"
|
||||
"## Acesta este un Șablon Cheetah\n"
|
||||
"## Documentație: http://sabnzbd.wikidot.com/email-templates\n"
|
||||
"##\n"
|
||||
"##Rândurile noi și caracterele spațiu sunt importante!\n"
|
||||
"##\n"
|
||||
"## Acestea sunt antetele email\n"
|
||||
"To: $to\n"
|
||||
"From: $from\n"
|
||||
"Date: $date\n"
|
||||
"Subject: SABnzbd <!--#if $status then \"a terminat\" else \"nu a reuşit\" #--"
|
||||
"> sarcina $name\n"
|
||||
"X-priority: 5\n"
|
||||
"X-MS-priority: 5\n"
|
||||
"## După acesta urmează conţinutul, este necesar o linie goală!\n"
|
||||
"\n"
|
||||
"Salut,\n"
|
||||
"<!--#if $status #-->\n"
|
||||
"SABnzbd a descărcat \"$name\" <!--#if $msgid==\"\" then \"\" else \"(newzbin "
|
||||
"#\" + $msgid + \")\"#-->\n"
|
||||
"<!--#else#-->\n"
|
||||
"SABnzbd nu a reuşit să descarce \"$name\" <!--#if $msgid==\"\" then \"\" "
|
||||
"else \"(newzbin #\" + $msgid + \")\"#-->\n"
|
||||
"<!--#end if#-->\n"
|
||||
"Terminat la $end_time\n"
|
||||
"Mărime $size\n"
|
||||
"\n"
|
||||
"Rezultatele sarcinii:\n"
|
||||
"<!--#for $stage in $stages #-->\n"
|
||||
"Stagiu $stage <!--#slurp#-->\n"
|
||||
"<!--#for $result in $stages[$stage]#-->\n"
|
||||
" $result <!--#slurp#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"<!--#if $script!=\"\" #-->\n"
|
||||
"Rezultatul script-ului utilizatorului \"$script\" (Exit code = "
|
||||
"$script_ret):\n"
|
||||
"$script_output\n"
|
||||
"<!--#end if#-->\n"
|
||||
"<!--#if $status #-->\n"
|
||||
"Bucuraţi-vă!\n"
|
||||
"<!--#else#-->\n"
|
||||
"Ne pare rau!\n"
|
||||
"<!--#end if#-->\n"
|
||||
|
||||
#: email/rss.tmpl:1
|
||||
msgid ""
|
||||
"##\n"
|
||||
"## RSS Email template for SABnzbd\n"
|
||||
"## This a Cheetah template\n"
|
||||
"## Documentation: http://sabnzbd.wikidot.com/email-templates\n"
|
||||
"##\n"
|
||||
"## Newlines and whitespace are significant!\n"
|
||||
"##\n"
|
||||
"## These are the email headers\n"
|
||||
"To: $to\n"
|
||||
"From: $from\n"
|
||||
"Date: $date\n"
|
||||
"Subject: SABnzbd has added $amount jobs to the queue\n"
|
||||
"X-priority: 5\n"
|
||||
"X-MS-priority: 5\n"
|
||||
"## After this comes the body, the empty line is required!\n"
|
||||
"\n"
|
||||
"Hi,\n"
|
||||
"\n"
|
||||
"SABnzbd has added $amount job(s) to the queue.\n"
|
||||
"They are from RSS feed \"$feed\".\n"
|
||||
"<!--#for $job in $jobs#-->\n"
|
||||
" $job <!--#slurp#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"\n"
|
||||
"Bye\n"
|
||||
msgstr ""
|
||||
"## Şablon Email RSS pentru SABnzbd\n"
|
||||
"## Acesta este un şablon Cheetah \n"
|
||||
"## Documentaţie: http://sabnzbd.wikidot.com/email-templates\n"
|
||||
"##\n"
|
||||
"## Rândurile noi și caracterele spațiu sunt importante!\n"
|
||||
"##\n"
|
||||
"## Acestea sunt antetele email\n"
|
||||
"To: $to\n"
|
||||
"From: $from\n"
|
||||
"Date: $date\n"
|
||||
"Subject: SABnzbd a adăugat $amount sarcini în coadă\n"
|
||||
"X-priority: 5\n"
|
||||
"X-MS-priority: 5\n"
|
||||
"## După acesta urmează conţinutul, este necesar o linie goală!\n"
|
||||
"\n"
|
||||
"Salut,\n"
|
||||
"\n"
|
||||
"SABnzbd a adăugat $amount sarcină(e) în coadă.\n"
|
||||
"Ele sunt din fluxuri RSS \"$feed\".\n"
|
||||
"<!--#for $job in $jobs#-->\n"
|
||||
" $job <!--#slurp#-->\n"
|
||||
"<!--#end for#-->\n"
|
||||
"\n"
|
||||
"La revedere !\n"
|
||||
1327
po/main/SABnzbd.pot
1327
po/main/SABnzbd.pot
File diff suppressed because it is too large
Load Diff
1340
po/main/da.po
1340
po/main/da.po
File diff suppressed because it is too large
Load Diff
1343
po/main/de.po
1343
po/main/de.po
File diff suppressed because it is too large
Load Diff
1982
po/main/fr.po
1982
po/main/fr.po
File diff suppressed because it is too large
Load Diff
1292
po/main/nb.po
1292
po/main/nb.po
File diff suppressed because it is too large
Load Diff
1340
po/main/nl.po
1340
po/main/nl.po
File diff suppressed because it is too large
Load Diff
3987
po/main/ro.px
Normal file
3987
po/main/ro.px
Normal file
File diff suppressed because it is too large
Load Diff
1292
po/main/sv.po
1292
po/main/sv.po
File diff suppressed because it is too large
Load Diff
@@ -1,67 +1,67 @@
|
||||
#
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright (C) 2011 by the SABnzbd Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\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"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
msgid "Show Release Notes"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
msgid " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
msgid "Run at startup"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
msgid "Desktop Icon"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
msgid "NZB File association"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
msgid "Delete Program"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
msgid "Delete Settings"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
msgid "Delete Logs"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
msgid "Delete Cache"
|
||||
msgstr ""
|
||||
|
||||
#
|
||||
# SABnzbd Translation Template file NSIS
|
||||
# Copyright (C) 2011 by the SABnzbd Team
|
||||
# team@sabnzbd.org
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\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"
|
||||
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid " >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -7,34 +7,34 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-03-11 15:27+0000\n"
|
||||
"Last-Translator: Rene <Unknown>\n"
|
||||
"Language-Team: LANGUAGE <LL@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: 2011-03-12 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: da\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "Start SABnzbd"
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Vis udgivelsesbemærkninger"
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Støtte projektet, donere!"
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Luk 'SABnzbd.exe' først"
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
@@ -42,35 +42,35 @@ msgstr ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nVenligst, kontrollér først "
|
||||
"udgivelsesnoter eller gå til http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dette vil afinstallere SABnzbd fra dit system"
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Kør ved opstart"
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Skrivebords ikon"
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB filtilknytning"
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Slet program"
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Slet instillinger"
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Slet logs"
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Slet hukommelse"
|
||||
|
||||
|
||||
@@ -7,34 +7,34 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-03-12 09:03+0000\n"
|
||||
"Last-Translator: shypike <Unknown>\n"
|
||||
"Language-Team: LANGUAGE <LL@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: 2011-03-13 05:09+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: de\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "SABnzbd starten (unsichtbar)"
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Versionshinweise anzeigen"
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Bitte unterstützen Sie das Projekt durch eine Spende!"
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Schliessen Sie bitte zuerst \"SABnzbd.exe\"."
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
@@ -43,35 +43,35 @@ msgstr ""
|
||||
"Versionsanmerkungen lesen oder \"http://wiki.sabnzbd.org/introducing-0-6-0 "
|
||||
"besuchen!\""
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dies entfernt SABnzbd von Ihrem System"
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Beim Systemstart ausführen"
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Desktop-Symbol"
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "Mit NZB-Dateien verknüpfen"
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Programm löschen"
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Einstellungen löschen"
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Protokoll löschen"
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Cache löschen"
|
||||
|
||||
|
||||
@@ -7,34 +7,34 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-03-10 21:33+0000\n"
|
||||
"Last-Translator: Fox Ace <Unknown>\n"
|
||||
"Language-Team: FRANCAIS <LL@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: 2011-03-11 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: fr\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "Démarrer SABnzbd (caché)"
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Afficher les notes de version"
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Supportez le projet, faites un don !"
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Quittez \"SABnzbd.exe\" avant l'installation, SVP"
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
@@ -43,35 +43,35 @@ msgstr ""
|
||||
"vérifiez d'abord les notes de version ou visiter "
|
||||
"http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Ceci désinstallera SABnzbd de votre système"
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Lancer au démarrage"
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Icône sur le Bureau"
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "Association des fichiers NZB"
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Supprimer le programme"
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Supprimer les Paramètres"
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Supprimer les logs"
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Supprimer le Cache"
|
||||
|
||||
|
||||
@@ -7,67 +7,67 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2010-10-06 21:37+0000\n"
|
||||
"Last-Translator: shypike@sabnzbd.org\n"
|
||||
"Language-Team: LANGUAGE <LL@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: 2011-03-11 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: no\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr ""
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr ""
|
||||
|
||||
@@ -7,34 +7,34 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-03-10 17:18+0000\n"
|
||||
"Last-Translator: shypike <Unknown>\n"
|
||||
"Language-Team: LANGUAGE <LL@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: 2011-03-11 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: nl\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "Start SABnzbd (verborgen)"
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Toon vrijgave bericht"
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Steun het project, Doneer!"
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Sluit \"SABnzbd.exe\" eerst af"
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
@@ -42,35 +42,35 @@ msgstr ""
|
||||
" >>>> WAARSCHUWING <<<<\\r\\n\\r\\nLees eerst het vrijgave "
|
||||
"bericht of ga naar \"http://wiki.sabnzbd.org/introducing-0-6-0 !\""
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Dit verwijdert SABnzbd van je systeem"
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Opstarten bij systeem start"
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Pictogram op bureaublad"
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB bestanden koppelen aan SABnzbd"
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Verwijder programma"
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Verwijder instellingen"
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Verwijder logging"
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Verwijder Cache"
|
||||
|
||||
|
||||
75
po/nsis/ro.px
Normal file
75
po/nsis/ro.px
Normal file
@@ -0,0 +1,75 @@
|
||||
# Romanian translation for sabnzbd
|
||||
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
|
||||
# This file is distributed under the same license as the sabnzbd package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sabnzbd\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-05-07 04:50+0000\n"
|
||||
"Last-Translator: nicusor <Unknown>\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: 2011-05-09 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "Porneşte SABnzbd (ascuns)"
|
||||
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Arată Notele de Publicare"
|
||||
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Susţine proiectul, Donează!"
|
||||
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Închideţi mai întâi \"SABnzbd.exe\""
|
||||
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
msgstr ""
|
||||
" >>>> ATENŢIE <<<<\\r\\n\\r\\nVă rugăm, verificaţi mai "
|
||||
"întâi notele de publicare sau mergeţi la http://wiki.sabnzbd.org/introducing-"
|
||||
"0-6-0 !"
|
||||
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Acest lucru va dezinstala SABnzbd din sistem"
|
||||
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Executare la pornire"
|
||||
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Icoană Desktop"
|
||||
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "Asociere cu Fişierele NZB"
|
||||
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Şterge Program"
|
||||
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Ştergeţi Setări"
|
||||
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Ştergeţi Activitate"
|
||||
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Ştergeţi Cache"
|
||||
@@ -7,68 +7,70 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SABnzbd-0.6.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2011-03-10 16:12+0000\n"
|
||||
"PO-Revision-Date: 2010-09-27 18:50+0000\n"
|
||||
"Last-Translator: shypike <Unknown>\n"
|
||||
"POT-Creation-Date: 2011-05-08 19:32+0000\n"
|
||||
"PO-Revision-Date: 2011-05-09 12:25+0000\n"
|
||||
"Last-Translator: Jerry Malmström <Unknown>\n"
|
||||
"Language-Team: LANGUAGE <LL@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: 2011-03-11 05:05+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-10 05:44+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
"Language: sv\n"
|
||||
|
||||
#: NSIS_Installer.nsi:338
|
||||
#: NSIS_Installer.nsi:347
|
||||
msgid "Start SABnzbd (hidden)"
|
||||
msgstr "Starta SABnzbd (dold)"
|
||||
|
||||
#: NSIS_Installer.nsi:346
|
||||
#: NSIS_Installer.nsi:355
|
||||
msgid "Show Release Notes"
|
||||
msgstr "Visa release noteringar"
|
||||
|
||||
#: NSIS_Installer.nsi:354
|
||||
#: NSIS_Installer.nsi:363
|
||||
msgid "Support the project, Donate!"
|
||||
msgstr "Donera och stöd detta projekt!"
|
||||
|
||||
#: NSIS_Installer.nsi:362
|
||||
#: NSIS_Installer.nsi:371
|
||||
msgid "Please close \"SABnzbd.exe\" first"
|
||||
msgstr "Var vänlig stäng \"SABnzbd.exe\" först"
|
||||
|
||||
#: NSIS_Installer.nsi:370
|
||||
#: NSIS_Installer.nsi:379
|
||||
msgid ""
|
||||
" >>>> WARNING <<<<\\r\\n\\r\\nPlease, first check the "
|
||||
"release notes or go to http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
msgstr ""
|
||||
" >>>> VARNING <<<<\\r\\n\\r\\nVar vänlig och läs versions "
|
||||
"noteringarna eller gå till http://wiki.sabnzbd.org/introducing-0-6-0 !"
|
||||
|
||||
#: NSIS_Installer.nsi:378
|
||||
#: NSIS_Installer.nsi:387
|
||||
msgid "This will uninstall SABnzbd from your system"
|
||||
msgstr "Detta kommer att avinstallera SABnzbd från systemet"
|
||||
|
||||
#: NSIS_Installer.nsi:386
|
||||
#: NSIS_Installer.nsi:395
|
||||
msgid "Run at startup"
|
||||
msgstr "Kör vid uppstart"
|
||||
|
||||
#: NSIS_Installer.nsi:394
|
||||
#: NSIS_Installer.nsi:403
|
||||
msgid "Desktop Icon"
|
||||
msgstr "Skrivbordsikon"
|
||||
|
||||
#: NSIS_Installer.nsi:402
|
||||
#: NSIS_Installer.nsi:411
|
||||
msgid "NZB File association"
|
||||
msgstr "NZB Filassosication"
|
||||
|
||||
#: NSIS_Installer.nsi:410
|
||||
#: NSIS_Installer.nsi:419
|
||||
msgid "Delete Program"
|
||||
msgstr "Ta bort programmet"
|
||||
|
||||
#: NSIS_Installer.nsi:418
|
||||
#: NSIS_Installer.nsi:427
|
||||
msgid "Delete Settings"
|
||||
msgstr "Ta bort inställningar"
|
||||
|
||||
#: NSIS_Installer.nsi:426
|
||||
#: NSIS_Installer.nsi:435
|
||||
msgid "Delete Logs"
|
||||
msgstr "Ta bort logg"
|
||||
|
||||
#: NSIS_Installer.nsi:434
|
||||
#: NSIS_Installer.nsi:443
|
||||
msgid "Delete Cache"
|
||||
msgstr "Ta bort temporär-mapp"
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@ DIR_LCLDATA = None
|
||||
DIR_PROG = None
|
||||
DIR_INTERFACES = None
|
||||
DIR_LANGUAGE = None
|
||||
DIR_PID = None
|
||||
|
||||
QUEUECOMPLETE = None #stores the nice name of the action
|
||||
QUEUECOMPLETEACTION = None #stores the name of the function to be called
|
||||
@@ -160,6 +161,8 @@ def sig_handler(signum = None, frame = None):
|
||||
if sabnzbd.WIN32:
|
||||
from util.apireg import del_connection_info
|
||||
del_connection_info()
|
||||
else:
|
||||
pid_file()
|
||||
SABSTOP = True
|
||||
os._exit(0)
|
||||
|
||||
@@ -963,6 +966,26 @@ def check_all_tasks():
|
||||
return True
|
||||
|
||||
|
||||
def pid_file(pid_path=None, port=0):
|
||||
""" Create or remove pid file
|
||||
"""
|
||||
global DIR_PID
|
||||
if not sabnzbd.WIN32 and pid_path and pid_path.startswith('/'):
|
||||
DIR_PID = os.path.join(pid_path, 'sabnzbd-%s.pid' % port)
|
||||
|
||||
if DIR_PID:
|
||||
try:
|
||||
if port:
|
||||
f = open(DIR_PID, 'w')
|
||||
f.write('%d\n' % os.getpid())
|
||||
f.close()
|
||||
else:
|
||||
os.remove(DIR_PID)
|
||||
except:
|
||||
logging.warning('Cannot access PID file %s', DIR_PID)
|
||||
|
||||
|
||||
|
||||
# Required wrapper because nzbstuff.py cannot import downloader.py
|
||||
def active_primaries():
|
||||
return sabnzbd.downloader.Downloader.do.active_primaries()
|
||||
|
||||
@@ -309,10 +309,10 @@ def _api_addlocalfile(name, output, kwargs):
|
||||
priority = kwargs.get('priority')
|
||||
nzbname = kwargs.get('nzbname')
|
||||
|
||||
if get_ext(name) in ('.zip', '.rar', '.gz'):
|
||||
if get_ext(name) in ('.zip', '.rar'):
|
||||
sabnzbd.dirscanner.ProcessArchiveFile(\
|
||||
fn, name, pp=pp, script=script, cat=cat, priority=priority, keep=True)
|
||||
elif get_ext(name) in ('.nzb'):
|
||||
elif get_ext(name) in ('.nzb', '.gz'):
|
||||
sabnzbd.dirscanner.ProcessSingleFile(\
|
||||
fn, name, pp=pp, script=script, cat=cat, priority=priority, keep=True, nzbname=nzbname)
|
||||
else:
|
||||
|
||||
@@ -40,6 +40,7 @@ from sabnzbd.articlecache import ArticleCache
|
||||
from sabnzbd.postproc import PostProcessor
|
||||
import sabnzbd.downloader
|
||||
from sabnzbd.utils.rarfile import RarFile, is_rarfile
|
||||
from sabnzbd.encoding import latin1
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -87,9 +88,9 @@ class Assembler(Thread):
|
||||
# 28 == disk full => pause downloader
|
||||
if errno == 28:
|
||||
logging.error(Ta('Disk full! Forcing Pause'))
|
||||
sabnzbd.downloader.pause_downloader()
|
||||
else:
|
||||
logging.error(Ta('Disk error on creating file %s'), filepath)
|
||||
logging.error(Ta('Disk error on creating file %s'), latin1(filepath))
|
||||
sabnzbd.downloader.pause_downloader()
|
||||
except:
|
||||
logging.error('Fatal error in Assembler', exc_info = True)
|
||||
break
|
||||
@@ -102,7 +103,7 @@ class Assembler(Thread):
|
||||
logging.debug('Got md5pack for set %s', setname)
|
||||
|
||||
if check_encrypted_rar(nzo, filepath):
|
||||
logging.warning(Ta('WARNING: Paused job "%s" because of encrypted RAR file'), nzo.final_name)
|
||||
logging.warning(Ta('WARNING: Paused job "%s" because of encrypted RAR file'), latin1(nzo.final_name))
|
||||
nzo.pause()
|
||||
else:
|
||||
PostProcessor.do.process(nzo)
|
||||
|
||||
@@ -124,6 +124,13 @@ def send(message, recipient):
|
||||
return T('Email succeeded')
|
||||
|
||||
|
||||
def get_email_date():
|
||||
""" Return un-localized date string for the Date: field
|
||||
"""
|
||||
# Get locale indepedant date/time string: "Sun May 22 20:15:12 2011"
|
||||
day, month, dayno, hms, year = time.asctime(time.gmtime()).split()
|
||||
return '%s, %s %s %s %s +0000' % (day, dayno, month, year, hms)
|
||||
|
||||
|
||||
################################################################################
|
||||
# email_endjob
|
||||
@@ -136,7 +143,7 @@ def send_with_template(prefix, parm):
|
||||
""" Send an email using template """
|
||||
|
||||
parm['from'] = cfg.email_from()
|
||||
parm['date'] = time.strftime(time_format('%a, %d %b %Y %H:%M:%S +0000'), time.gmtime())
|
||||
parm['date'] = get_email_date()
|
||||
|
||||
lst = []
|
||||
path = cfg.email_dir.get_path()
|
||||
@@ -212,16 +219,17 @@ def diskfull():
|
||||
""" Send email about disk full, no templates """
|
||||
|
||||
if cfg.email_full():
|
||||
return send(T('''to: %s
|
||||
from: %s
|
||||
subject: SABnzbd reports Disk Full
|
||||
return send(T('''To: %s
|
||||
From: %s
|
||||
Date: %s
|
||||
Subject: SABnzbd reports Disk Full
|
||||
|
||||
Hi,
|
||||
|
||||
SABnzbd has stopped downloading, because the disk is almost full.
|
||||
Please make room and resume SABnzbd manually.
|
||||
|
||||
''') % (cfg.email_to.get_string(), cfg.email_from()), cfg.email_to())
|
||||
''') % (cfg.email_to.get_string(), cfg.email_from(), get_email_date()), cfg.email_to())
|
||||
else:
|
||||
return ""
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ sabnzbd.encoding - Unicoded filename support
|
||||
import locale
|
||||
from xml.sax.saxutils import escape
|
||||
from Cheetah.Filters import Filter
|
||||
#import unicodedata
|
||||
|
||||
import sabnzbd
|
||||
|
||||
@@ -88,6 +89,8 @@ def special_fixer(p):
|
||||
try:
|
||||
# First see if it isn't just UTF-8
|
||||
p.decode('utf-8')
|
||||
if sabnzbd.DARWIN and '&#' in p:
|
||||
p = fixup_ff4(p)
|
||||
return p
|
||||
except:
|
||||
# Now assume it's latin-1
|
||||
@@ -140,9 +143,12 @@ def xml_name(p, keep_escape=False, encoding=None):
|
||||
|
||||
|
||||
def latin1(txt):
|
||||
""" When Unicode, convert to Latin-1 """
|
||||
""" When Unicode or UTF-8, convert to Latin-1 """
|
||||
if isinstance(txt, unicode):
|
||||
return txt.encode('latin-1', 'replace').replace('?', '_')
|
||||
elif txt and gUTF:
|
||||
#return unicodedata.normalize('NFC', txt.decode('utf-8')).encode('latin-1', 'replace').replace('?', '_')
|
||||
return txt.decode('utf-8').encode('latin-1', 'replace').replace('?', '_')
|
||||
else:
|
||||
return txt
|
||||
|
||||
@@ -257,3 +263,34 @@ def UNTRANS(p):
|
||||
return p.translate(gTABLE_LATIN_850)
|
||||
else:
|
||||
return p
|
||||
|
||||
|
||||
def fixup_ff4(p):
|
||||
""" Fix incompatibility between CherryPy and Firefox-4 on OSX,
|
||||
where a filename contains &#xx; encodings
|
||||
"""
|
||||
name = []
|
||||
start = amp = False
|
||||
for ch in p:
|
||||
if start:
|
||||
if ch.isdigit():
|
||||
num += ch
|
||||
elif ch == ';':
|
||||
name.append(unichr(int(num)).encode('utf8'))
|
||||
start = False
|
||||
else:
|
||||
name.append('&#%s%s' % (num, ch))
|
||||
start = False
|
||||
elif ch == '&':
|
||||
amp = True
|
||||
elif amp:
|
||||
amp = False
|
||||
if ch == '#':
|
||||
start = True
|
||||
num = ''
|
||||
else:
|
||||
name.append('&' + ch)
|
||||
else:
|
||||
name.append(ch)
|
||||
return ''.join(name)
|
||||
|
||||
|
||||
@@ -40,7 +40,8 @@ from sabnzbd.misc import real_path, to_units, \
|
||||
from sabnzbd.newswrapper import GetServerParms
|
||||
from sabnzbd.newzbin import Bookmarks
|
||||
from sabnzbd.bpsmeter import BPSMeter
|
||||
from sabnzbd.encoding import TRANS, xml_name, LatinFilter, unicoder, special_fixer, platform_encode, latin1
|
||||
from sabnzbd.encoding import TRANS, xml_name, LatinFilter, unicoder, special_fixer, \
|
||||
platform_encode, latin1, encode_for_xml
|
||||
import sabnzbd.config as config
|
||||
import sabnzbd.cfg as cfg
|
||||
import sabnzbd.newsunpack
|
||||
@@ -2166,7 +2167,7 @@ class ConnectionInfo(object):
|
||||
wlist = []
|
||||
for w in sabnzbd.GUIHANDLER.content():
|
||||
w = w.replace('WARNING', Ta('WARNING:')).replace('ERROR', Ta('ERROR:'))
|
||||
wlist.insert(0, xml_name(w))
|
||||
wlist.insert(0, unicoder(w))
|
||||
header['warnings'] = wlist
|
||||
|
||||
template = Template(file=os.path.join(self.__web_dir, 'connection_info.tmpl'),
|
||||
|
||||
@@ -313,8 +313,8 @@ def real_path(loc, path):
|
||||
else:
|
||||
path = ''
|
||||
if path:
|
||||
if path.startswith('~'):
|
||||
path = path.replace('~', sabnzbd.DIR_HOME+'/', 1)
|
||||
if not sabnzbd.WIN32 and path.startswith('~/'):
|
||||
path = path.replace('~', sabnzbd.DIR_HOME, 1)
|
||||
if sabnzbd.WIN32:
|
||||
if path[0] not in '/\\' and not (len(path) > 1 and path[0].isalpha() and path[1] == ':'):
|
||||
path = os.path.join(loc, path)
|
||||
@@ -672,8 +672,8 @@ def panic_sqlite(name):
|
||||
launch_a_browser(panic_message(PANIC_SQLITE, name, 0))
|
||||
|
||||
def panic_old_queue():
|
||||
msg = MSG_OLD_QUEUE
|
||||
return MSG_BAD_NEWS % (sabnzbd.MY_NAME, sabnzbd.__version__, sabnzbd.MY_NAME, sabnzbd.__version__, msg, '')
|
||||
msg = MSG_OLD_QUEUE()
|
||||
return MSG_BAD_NEWS() % (sabnzbd.MY_NAME, sabnzbd.__version__, sabnzbd.MY_NAME, sabnzbd.__version__, msg, '')
|
||||
|
||||
def panic(reason, remedy=""):
|
||||
print "\n%s:\n %s\n%s" % (Ta('Fatal error'), reason, remedy)
|
||||
|
||||
@@ -28,7 +28,7 @@ from time import time
|
||||
import binascii
|
||||
|
||||
import sabnzbd
|
||||
from sabnzbd.encoding import TRANS, UNTRANS, unicode2local, name_fixer, reliable_unpack_names, unicoder
|
||||
from sabnzbd.encoding import TRANS, UNTRANS, unicode2local, name_fixer, reliable_unpack_names, unicoder, latin1
|
||||
from sabnzbd.utils.rarfile import RarFile, is_rarfile
|
||||
from sabnzbd.misc import format_time_string, find_on_path, make_script_path
|
||||
from sabnzbd.tvsort import SeriesSorter
|
||||
@@ -69,6 +69,8 @@ NICE_COMMAND = None
|
||||
ZIP_COMMAND = None
|
||||
IONICE_COMMAND = None
|
||||
RAR_PROBLEM = False
|
||||
CURL_COMMAND = None
|
||||
|
||||
|
||||
def find_programs(curdir):
|
||||
"""Find external programs
|
||||
@@ -103,6 +105,7 @@ def find_programs(curdir):
|
||||
sabnzbd.newsunpack.RAR_COMMAND = check(curdir, 'win/unrar/UnRAR.exe')
|
||||
sabnzbd.newsunpack.PAR2C_COMMAND = check(curdir, 'win/par2/par2-classic.exe')
|
||||
sabnzbd.newsunpack.ZIP_COMMAND = check(curdir, 'win/unzip/unzip.exe')
|
||||
sabnzbd.newsunpack.CURL_COMMAND = check(curdir, 'lib/curl.exe')
|
||||
else:
|
||||
if not sabnzbd.newsunpack.PAR2_COMMAND:
|
||||
sabnzbd.newsunpack.PAR2_COMMAND = find_on_path('par2')
|
||||
@@ -161,7 +164,7 @@ def unpack_magic(nzo, workdir, workdir_complete, dele, joinables, zips, rars, ts
|
||||
""" Do a recursive unpack from all archives in 'workdir' to 'workdir_complete'
|
||||
"""
|
||||
if depth > 5:
|
||||
logging.warning('Unpack nesting too deep [%s]', nzo.final_name)
|
||||
logging.warning('Unpack nesting too deep [%s]', latin1(nzo.final_name))
|
||||
return False, []
|
||||
depth += 1
|
||||
|
||||
@@ -290,7 +293,7 @@ def file_join(nzo, workdir, workdir_complete, delete, joinables):
|
||||
msg = T('Expected size did not equal actual size')
|
||||
nzo.fail_msg = T('File join of %s failed') % msg
|
||||
nzo.set_unpack_info('Filejoin', T('[%s] Error "%s" while joining files') % (unicoder(joinable_set), msg))
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, nzo.final_name)
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, latin1(nzo.final_name))
|
||||
else:
|
||||
joinable_sets[joinable_set].sort()
|
||||
filename = joinable_set
|
||||
@@ -347,7 +350,7 @@ def file_join(nzo, workdir, workdir_complete, delete, joinables):
|
||||
msg = sys.exc_info()[1]
|
||||
nzo.fail_msg = T('File join of %s failed') % msg
|
||||
nzo.set_unpack_info('Filejoin', T('[%s] Error "%s" while joining files') % (unicoder(joinable_set), msg))
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, nzo.final_name)
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, latin1(nzo.final_name))
|
||||
return True, []
|
||||
|
||||
return False, newfiles
|
||||
@@ -355,7 +358,7 @@ def file_join(nzo, workdir, workdir_complete, delete, joinables):
|
||||
msg = sys.exc_info()[1]
|
||||
nzo.fail_msg = T('File join of %s failed') % msg
|
||||
nzo.set_unpack_info('Filejoin', T('[%s] Error "%s" while joining files') % (unicoder(joinable_set), msg))
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, nzo.final_name)
|
||||
logging.error(Ta('Error "%s" while running file_join on %s'), msg, latin1(nzo.final_name))
|
||||
return True, []
|
||||
|
||||
|
||||
@@ -405,7 +408,7 @@ def rar_unpack(nzo, workdir, workdir_complete, delete, rars):
|
||||
setname = nzo.final_name
|
||||
nzo.set_unpack_info('Unpack', T('[%s] Error "%s" while unpacking RAR files') % (unicoder(setname), msg))
|
||||
|
||||
logging.error(Ta('Error "%s" while running rar_unpack on %s'), msg, setname)
|
||||
logging.error(Ta('Error "%s" while running rar_unpack on %s'), msg, latin1(setname))
|
||||
logging.debug("Traceback: ", exc_info = True)
|
||||
|
||||
if success:
|
||||
@@ -420,7 +423,7 @@ def rar_unpack(nzo, workdir, workdir_complete, delete, rars):
|
||||
try:
|
||||
os.remove(rar)
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), rar)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(rar))
|
||||
|
||||
brokenrar = '%s.1' % (rar)
|
||||
|
||||
@@ -429,7 +432,7 @@ def rar_unpack(nzo, workdir, workdir_complete, delete, rars):
|
||||
try:
|
||||
os.remove(brokenrar)
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), brokenrar)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(brokenrar))
|
||||
|
||||
return not success, extracted_files
|
||||
|
||||
@@ -549,17 +552,17 @@ def rar_extract_core(rarfile, numrars, nzo, setname, extraction_path, password):
|
||||
elif line.startswith('Cannot find volume'):
|
||||
filename = os.path.basename(TRANS(line[19:]))
|
||||
nzo.fail_msg = T('Unpacking failed, unable to find %s') % unicoder(filename)
|
||||
msg = ('[%s] '+Ta('Unpacking failed, unable to find %s')) % (setname, filename)
|
||||
msg = ('[%s] '+Ta('Unpacking failed, unable to find %s')) % (setname, latin1(filename))
|
||||
nzo.set_unpack_info('Unpack', unicoder(msg), set=setname)
|
||||
logging.warning(Ta('ERROR: unable to find "%s"'), filename)
|
||||
logging.warning(Ta('ERROR: unable to find "%s"'), latin1(filename))
|
||||
fail = 1
|
||||
|
||||
elif line.endswith('- CRC failed'):
|
||||
filename = TRANS(line[:-12].strip())
|
||||
nzo.fail_msg = T('Unpacking failed, CRC error')
|
||||
msg = ('[%s] '+Ta('ERROR: CRC failed in "%s"')) % (setname, filename)
|
||||
msg = ('[%s] '+Ta('ERROR: CRC failed in "%s"')) % (setname, latin1(filename))
|
||||
nzo.set_unpack_info('Unpack', unicoder(msg), set=setname)
|
||||
logging.warning(Ta('ERROR: CRC failed in "%s"'), setname)
|
||||
logging.warning(Ta('ERROR: CRC failed in "%s"'), latin1(setname))
|
||||
fail = 1
|
||||
|
||||
elif line.startswith('Write error'):
|
||||
@@ -572,16 +575,16 @@ def rar_extract_core(rarfile, numrars, nzo, setname, extraction_path, password):
|
||||
elif line.startswith('ERROR: '):
|
||||
nzo.fail_msg = T('Unpacking failed, see log')
|
||||
logging.warning(Ta('ERROR: %s'), (line[7:]))
|
||||
msg = ('[%s] '+Ta('ERROR: %s')) % (setname, line[7:])
|
||||
msg = ('[%s] '+Ta('ERROR: %s')) % (latin1(setname), line[7:])
|
||||
nzo.set_unpack_info('Unpack', unicoder(msg), set=setname)
|
||||
fail = 1
|
||||
|
||||
elif line.startswith('Encrypted file: CRC failed'):
|
||||
filename = TRANS(line[31:-23].strip())
|
||||
nzo.fail_msg = T('Unpacking failed, archive requires a password')
|
||||
msg = ('[%s][%s] '+Ta('Unpacking failed, archive requires a password')) % (setname, filename)
|
||||
msg = ('[%s][%s] '+Ta('Unpacking failed, archive requires a password')) % (setname, latin1(filename))
|
||||
nzo.set_unpack_info('Unpack', unicoder(msg), set=setname)
|
||||
logging.error('%s (%s)', Ta('Unpacking failed, archive requires a password'), filename)
|
||||
logging.error('%s (%s)', Ta('Unpacking failed, archive requires a password'), latin1(filename))
|
||||
fail = 2
|
||||
|
||||
else:
|
||||
@@ -608,14 +611,14 @@ def rar_extract_core(rarfile, numrars, nzo, setname, extraction_path, password):
|
||||
for path in expected_files:
|
||||
path = unicode2local(path)
|
||||
fullpath = os.path.join(extraction_path, path)
|
||||
logging.debug("Checking existance of %s", fullpath)
|
||||
logging.debug("Checking existance of %s", latin1(fullpath))
|
||||
if path.endswith('/'):
|
||||
# Folder
|
||||
continue
|
||||
if not os.path.exists(fullpath):
|
||||
# There was a missing file, show a warning
|
||||
missing.append(path)
|
||||
logging.info(Ta('Missing expected file: %s => unrar error?'), path)
|
||||
logging.info(Ta('Missing expected file: %s => unrar error?'), latin1(path))
|
||||
|
||||
if missing:
|
||||
nzo.fail_msg = T('Unpacking failed, an expected file was not unpacked')
|
||||
@@ -674,7 +677,7 @@ def unzip(nzo, workdir, workdir_complete, delete, zips):
|
||||
os.remove(_zip)
|
||||
i += 1
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), _zip)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(_zip))
|
||||
|
||||
brokenzip = '%s.1' % (_zip)
|
||||
|
||||
@@ -684,13 +687,13 @@ def unzip(nzo, workdir, workdir_complete, delete, zips):
|
||||
os.remove(brokenzip)
|
||||
i += 1
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), brokenzip)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(brokenzip))
|
||||
|
||||
return unzip_failed
|
||||
except:
|
||||
msg = sys.exc_info()[1]
|
||||
nzo.fail_msg = T('Unpacking failed, %s') % msg
|
||||
logging.error(Ta('Error "%s" while running unzip() on %s'), msg, nzo.final_name)
|
||||
logging.error(Ta('Error "%s" while running unzip() on %s'), msg, latin1(nzo.final_name))
|
||||
return True
|
||||
|
||||
def ZIP_Extract(zipfile, extraction_path):
|
||||
@@ -766,7 +769,7 @@ def par2_repair(parfile_nzf, nzo, workdir, setname):
|
||||
except:
|
||||
msg = sys.exc_info()[1]
|
||||
nzo.fail_msg = T('Repairing failed, %s') % msg
|
||||
logging.error(Ta('Error %s while running par2_repair on set %s'), msg, setname)
|
||||
logging.error(Ta('Error %s while running par2_repair on set %s'), msg, latin1(setname))
|
||||
logging.info("Traceback: ", exc_info = True)
|
||||
return readd, result
|
||||
|
||||
@@ -782,7 +785,7 @@ def par2_repair(parfile_nzf, nzo, workdir, setname):
|
||||
logging.info("Deleting %s", path)
|
||||
os.remove(path)
|
||||
except:
|
||||
logging.warning(Ta('Deleting %s failed!'), path)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(path))
|
||||
|
||||
path = os.path.join(workdir, setname + '.par2')
|
||||
path2 = os.path.join(workdir, setname + '.PAR2')
|
||||
@@ -792,21 +795,21 @@ def par2_repair(parfile_nzf, nzo, workdir, setname):
|
||||
logging.info("Deleting %s", path)
|
||||
os.remove(path)
|
||||
except:
|
||||
logging.warning(Ta('Deleting %s failed!'), path)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(path))
|
||||
|
||||
if os.path.exists(path2):
|
||||
try:
|
||||
logging.info("Deleting %s", path2)
|
||||
os.remove(path2)
|
||||
except:
|
||||
logging.warning(Ta('Deleting %s failed!'), path2)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(path2))
|
||||
|
||||
if os.path.exists(parfile):
|
||||
try:
|
||||
logging.info("Deleting %s", parfile)
|
||||
os.remove(parfile)
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), parfile)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(parfile))
|
||||
|
||||
deletables = []
|
||||
for f in pars:
|
||||
@@ -821,11 +824,11 @@ def par2_repair(parfile_nzf, nzo, workdir, setname):
|
||||
try:
|
||||
os.remove(filepath)
|
||||
except OSError:
|
||||
logging.warning(Ta('Deleting %s failed!'), filepath)
|
||||
logging.warning(Ta('Deleting %s failed!'), latin1(filepath))
|
||||
except:
|
||||
msg = sys.exc_info()[1]
|
||||
nzo.fail_msg = T('Repairing failed, %s') % msg
|
||||
logging.error(Ta('Error "%s" while running par2_repair on set %s'), msg, setname)
|
||||
logging.error(Ta('Error "%s" while running par2_repair on set %s'), msg, latin1(setname))
|
||||
|
||||
return readd, result
|
||||
|
||||
@@ -1307,10 +1310,10 @@ def sfv_check(sfv_path):
|
||||
if crc_check(path, checksum):
|
||||
logging.debug('File %s passed SFV check', path)
|
||||
else:
|
||||
logging.warning('File %s did not pass SFV check', path)
|
||||
logging.warning('File %s did not pass SFV check', latin1(path))
|
||||
status = False
|
||||
else:
|
||||
logging.warning('File %s mssing in SFV check', path)
|
||||
logging.warning('File %s mssing in SFV check', latin1(path))
|
||||
fp.close()
|
||||
return status
|
||||
|
||||
@@ -1403,3 +1406,23 @@ def list2cmdline(lst):
|
||||
else:
|
||||
nlst.append(arg)
|
||||
return ' '.join(nlst)
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Work-around for the failure of Python2.5 on Windows to support IPV6 with HTTPS
|
||||
|
||||
def get_from_url(url):
|
||||
if sabnzbd.WIN32 and ' 2.5.' in sys.version and sabnzbd.newsunpack.CURL_COMMAND:
|
||||
command = [sabnzbd.newsunpack.CURL_COMMAND, "-k", url]
|
||||
stup, need_shell, command, creationflags = build_command(command)
|
||||
p = subprocess.Popen(command, shell=need_shell, stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
||||
startupinfo=stup, creationflags=creationflags)
|
||||
|
||||
output = p.stdout.read()
|
||||
p.wait()
|
||||
else:
|
||||
import urllib2
|
||||
s = urllib2.urlopen(url)
|
||||
output = s.read()
|
||||
return output
|
||||
|
||||
@@ -42,7 +42,7 @@ from sabnzbd.misc import to_units, cat_to_opts, cat_convert, sanitize_foldername
|
||||
sanitize_filename, globber, sanitize_foldername, int_conv
|
||||
import sabnzbd.cfg as cfg
|
||||
from sabnzbd.trylist import TryList
|
||||
from sabnzbd.encoding import unicoder, platform_encode, latin1
|
||||
from sabnzbd.encoding import unicoder, platform_encode, latin1, name_fixer
|
||||
|
||||
__all__ = ['Article', 'NzbFile', 'NzbObject']
|
||||
|
||||
@@ -633,7 +633,7 @@ class NzbObject(TryList):
|
||||
|
||||
if nzb and '<nzb' in nzb:
|
||||
if 'A&A)' in nzb:
|
||||
# Fix needed to compensate for the idiocy at newzbin.com
|
||||
# Fix needed to compensate for some dumb NZB posters
|
||||
nzb = nzb.replace('A&A)', 'A&A)')
|
||||
handler = NzbParser(self)
|
||||
parser = xml.sax.make_parser()
|
||||
@@ -907,9 +907,9 @@ class NzbObject(TryList):
|
||||
if self.oversized and self.status == 'Paused':
|
||||
prefix += Ta('TOO LARGE') + ' / ' #: Queue indicator for oversized job
|
||||
if self.password:
|
||||
return '%s%s / %s' % (prefix, self.final_name, self.password)
|
||||
return '%s%s / %s' % (name_fixer(prefix), self.final_name, self.password)
|
||||
else:
|
||||
return '%s%s' % (prefix, self.final_name)
|
||||
return '%s%s' % (name_fixer(prefix), self.final_name)
|
||||
|
||||
@property
|
||||
def final_name_pw_clean(self):
|
||||
|
||||
@@ -398,10 +398,10 @@ def process_job(nzo):
|
||||
|
||||
## Show final status in history
|
||||
if all_ok:
|
||||
osx.sendGrowlMsg("Download Completed", filename, osx.NOTIFICATION['complete'])
|
||||
osx.sendGrowlMsg(T('Download Completed'), filename, osx.NOTIFICATION['complete'])
|
||||
nzo.status = 'Completed'
|
||||
else:
|
||||
osx.sendGrowlMsg("Download Failed", filename, osx.NOTIFICATION['complete'])
|
||||
osx.sendGrowlMsg(T('Download Failed'), filename, osx.NOTIFICATION['complete'])
|
||||
nzo.status = 'Failed'
|
||||
|
||||
except:
|
||||
@@ -410,7 +410,7 @@ def process_job(nzo):
|
||||
logging.info("Traceback: ", exc_info = True)
|
||||
crash_msg = T('see logfile')
|
||||
nzo.fail_msg = T('PostProcessing was aborted (%s)') % unicoder(crash_msg)
|
||||
osx.sendGrowlMsg("Download Failed", filename, osx.NOTIFICATION['complete'])
|
||||
osx.sendGrowlMsg(T('Download Failed'), filename, osx.NOTIFICATION['complete'])
|
||||
nzo.status = 'Failed'
|
||||
par_error = True
|
||||
all_ok = False
|
||||
@@ -460,7 +460,7 @@ def parring(nzo, workdir):
|
||||
""" Perform par processing. Returns: (par_error, re_add)
|
||||
"""
|
||||
filename = nzo.final_name
|
||||
osx.sendGrowlMsg("Post-processing", nzo.final_name, osx.NOTIFICATION['pp'])
|
||||
osx.sendGrowlMsg(T('Post-processing'), nzo.final_name, osx.NOTIFICATION['pp'])
|
||||
logging.info('Par2 check starting on %s', filename)
|
||||
|
||||
## Collect the par files
|
||||
|
||||
@@ -352,7 +352,10 @@ class RSSQueue(object):
|
||||
myCat = reCats[n]
|
||||
elif category and not defCat:
|
||||
myCat = cat_convert(category)
|
||||
myCat, catPP, catScript, catPrio = cat_to_opts(myCat)
|
||||
if myCat:
|
||||
myCat, catPP, catScript, catPrio = cat_to_opts(myCat)
|
||||
else:
|
||||
myCat = catPP = catScript = catPrio = None
|
||||
if notdefault(rePPs[n]):
|
||||
myPP = rePPs[n]
|
||||
elif not (reCats[n] or category):
|
||||
@@ -578,7 +581,10 @@ def _get_link(uri, entry):
|
||||
try: # nzb.su
|
||||
category = entry.tags[0]['term']
|
||||
except:
|
||||
category = ''
|
||||
try: # nzbmatrix.com
|
||||
category = entry.description
|
||||
except:
|
||||
category = ''
|
||||
return link, category
|
||||
else:
|
||||
logging.warning(Ta('Empty RSS entry found (%s)'), link)
|
||||
|
||||
@@ -241,6 +241,7 @@ SKIN_TEXT = {
|
||||
# Configuration
|
||||
'configuration' : TT('Configuration'),
|
||||
'confgFile' : TT('Config File'),
|
||||
'cache' : TT('Used cache'), #: Main config page, how much cache is in use
|
||||
'explain-Restart' : TT('This will restart SABnzbd.<br />Use it when you think the program has a stability problem.<br />Downloading will be paused before the restart and resume afterwards.'),
|
||||
'button-restart' : TT('Restart'),
|
||||
'explain-orphans' : TT('There are orphaned jobs in the download folder.<br />You can choose to delete them (including files) or send them back to the queue.'),
|
||||
@@ -358,7 +359,7 @@ SKIN_TEXT = {
|
||||
'opt-pause_on_pwrar' : TT('Pause job when encrypted RAR is downloaded'),
|
||||
'explain-pause_on_pwrar' : TT('You\'ll need to set a password and resume the job.'),
|
||||
'opt-no_dupes' : TT('Detect Duplicate Downloads'),
|
||||
'explain-no_dupes' : TT('Detect identically named NZB files and duplicate titles across RSS feeds.'),
|
||||
'explain-no_dupes' : TT('Detect identically named NZB files (requires NZB backup option) and duplicate titles across RSS feeds.'),
|
||||
'nodupes-off' : TT('Off'), #: Three way switch for duplicates
|
||||
'nodupes-ignore' : TT('Discard'), #: Three way switch for duplicates
|
||||
'nodupes-pause' : TT('Pause'), #: Three way switch for duplicates
|
||||
@@ -478,6 +479,7 @@ SKIN_TEXT = {
|
||||
'tableFeeds' : TT('Feeds'), #: Tab title for Config->Feeds
|
||||
'button-rssNow' : TT('Read All Feeds Now'), #: Config->RSS button
|
||||
'feedSettings' : TT('Settings'), #: Tab title for Config->Feeds
|
||||
'filters' : TT('Filters'), #: Tab title for Config->Feeds
|
||||
|
||||
# Config->Email
|
||||
'configEmail' : TT('Email Notification'),
|
||||
@@ -698,7 +700,8 @@ SKIN_TEXT = {
|
||||
'Plush-confirmDeleteHistory' : TT('Confirm History Deletions'),
|
||||
'Plush-explain-blockRefresh' : TT('This will prevent refreshing content when your mouse cursor is hovering over the queue.'),
|
||||
'Plush-blockRefresh' : TT('Block Refreshes on Hover'),
|
||||
'Plush-fetch' : TT('Fetch'),
|
||||
'Plush-fetch' : TT('Fetch'), #: Fetch from URL button in "Add NZB" dialog box
|
||||
'Plush-upload' : TT('Upload'), #: Upload button in "Add NZB" dialog box
|
||||
'Plush-uploadTip' : TT('Upload: .nzb .rar .zip .gz'),
|
||||
'Plush-addnzb-filename' : TT('Optionally specify a filename'),
|
||||
'Plush-progress' : TT('Progress'),
|
||||
@@ -772,6 +775,7 @@ SKIN_TEXT = {
|
||||
'wizard-server-help1' : TT('In order to download from usenet you will require access to a provider. Your ISP may provide you with access, however a premium provider is recommended.'),
|
||||
'wizard-server-help2' : TT('Don\'t have a usenet provider? We recommend trying %s.'),
|
||||
'wizard-server-con-explain' : TT('The number of connections allowed by your provider'),
|
||||
'wizard-server-con-eg' : TT('E.g. 8 or 20'), #: Wizard: examples of amount of connections
|
||||
'wizard-server-ssl-explain' : TT('Select only if your provider allows SSL connections.'),
|
||||
'wizard-server-text' : TT('Click to test the entered details.'),
|
||||
'wizard-server-required' : TT('This field is required.'),
|
||||
@@ -794,6 +798,7 @@ SKIN_TEXT = {
|
||||
'wizard-step-three' : TT('Step Three'), #: Wizard step
|
||||
'wizard-step-four' : TT('Step Four'), #: Wizard step
|
||||
'wizard-step-five' : TT('Step Five'), #: Wizard step
|
||||
'wizard-port-eg' : TT('E.g. 119 or 563 for SSL'), #: Wizard port number examples
|
||||
|
||||
#Special
|
||||
'yourRights' : TT('''
|
||||
|
||||
@@ -25,6 +25,7 @@ import logging
|
||||
import os
|
||||
import sabnzbd.cfg as cfg
|
||||
from sabnzbd.misc import get_ext, get_filename
|
||||
import sabnzbd.newsunpack
|
||||
|
||||
from sabnzbd.dirscanner import ProcessArchiveFile, ProcessSingleFile
|
||||
|
||||
@@ -37,13 +38,13 @@ def upload_file(url, fp):
|
||||
apikey = cfg.api_key()
|
||||
if apikey and 'apikey' not in url:
|
||||
url = '%s&apikey=%s' % (url, apikey)
|
||||
else:
|
||||
if 'apikey' not in url:
|
||||
# Use alternative login method
|
||||
username = cfg.username()
|
||||
password = cfg.password()
|
||||
if username and password:
|
||||
url = '%s&ma_username=%s&ma_password=%s' % (url, username, password)
|
||||
urllib2.urlopen(url)
|
||||
sabnzbd.newsunpack.get_from_url(url)
|
||||
except:
|
||||
logging.error("Failed to upload file: %s", fp)
|
||||
logging.info("Traceback: ", exc_info = True)
|
||||
@@ -54,9 +55,9 @@ def add_local(f):
|
||||
if os.path.exists(f):
|
||||
fn = get_filename(f)
|
||||
if fn:
|
||||
if get_ext(fn) in ('.zip', '.rar', '.gz'):
|
||||
if get_ext(fn) in ('.zip', '.rar'):
|
||||
ProcessArchiveFile(fn, f, keep=True)
|
||||
elif get_ext(fn) in ('.nzb'):
|
||||
elif get_ext(fn) in ('.nzb', '.gz'):
|
||||
ProcessSingleFile(fn, f, keep=True)
|
||||
else:
|
||||
logging.error("Filename not found: %s", f)
|
||||
|
||||
@@ -62,6 +62,15 @@ class Wizard(object):
|
||||
searchList=[info], compilerSettings=sabnzbd.interface.DIRECTIVES)
|
||||
return template.respond()
|
||||
|
||||
@cherrypy.expose
|
||||
def exit(self, **kwargs):
|
||||
""" Stop SABnzbd """
|
||||
yield "Initiating shutdown..."
|
||||
sabnzbd.halt()
|
||||
yield "<br>SABnzbd-%s shutdown finished" % sabnzbd.__version__
|
||||
cherrypy.engine.exit()
|
||||
sabnzbd.SABSTOP = True
|
||||
|
||||
@cherrypy.expose
|
||||
def one(self, **kwargs):
|
||||
""" Accept language and show server page """
|
||||
|
||||
@@ -166,29 +166,70 @@ def make_templates():
|
||||
os.makedirs('email')
|
||||
for path in glob.glob(os.path.join(MO_DIR, '*')):
|
||||
lng = os.path.split(path)[1]
|
||||
print 'Create email template for %s' % lng
|
||||
trans = gettext.translation(DOMAIN_E, MO_DIR, [lng], fallback=False, codeset='latin-1')
|
||||
# The unicode flag will make _() return Unicode
|
||||
trans.install(unicode=True, names=['lgettext'])
|
||||
if lng != 'en':
|
||||
print 'Create email template for %s' % lng
|
||||
trans = gettext.translation(DOMAIN_E, MO_DIR, [lng], fallback=False, codeset='latin-1')
|
||||
# The unicode flag will make _() return Unicode
|
||||
trans.install(unicode=True, names=['lgettext'])
|
||||
|
||||
src = open(EMAIL_DIR + '/email-en.tmpl', 'r')
|
||||
data = src.read().decode('utf-8')
|
||||
src.close()
|
||||
data = _(data).encode('utf-8')
|
||||
fp = open('email/email-%s.tmpl' % lng, 'wb')
|
||||
fp.write(data)
|
||||
fp.close()
|
||||
src = open(EMAIL_DIR + '/email-en.tmpl', 'r')
|
||||
data = src.read().decode('utf-8')
|
||||
src.close()
|
||||
data = _(data).encode('utf-8')
|
||||
fp = open('email/email-%s.tmpl' % lng, 'wb')
|
||||
if not (-1 < data.find('UTF-8') < 30):
|
||||
fp.write('#encoding UTF-8\n')
|
||||
fp.write(data)
|
||||
fp.close()
|
||||
|
||||
src = open(EMAIL_DIR + '/rss-en.tmpl', 'r')
|
||||
data = src.read().decode('utf-8')
|
||||
src.close()
|
||||
data = _(data).encode('utf-8')
|
||||
fp = open('email/rss-%s.tmpl' % lng, 'wb')
|
||||
fp.write(data)
|
||||
fp.close()
|
||||
mo_path = os.path.normpath('%s/%s%s/%s.mo' % (MO_DIR, path, MO_LOCALE, DOMAIN_E))
|
||||
if os.path.exists(mo_path):
|
||||
os.remove(mo_path)
|
||||
src = open(EMAIL_DIR + '/rss-en.tmpl', 'r')
|
||||
data = src.read().decode('utf-8')
|
||||
src.close()
|
||||
data = _(data).encode('utf-8')
|
||||
fp = open('email/rss-%s.tmpl' % lng, 'wb')
|
||||
if not (-1 < data.find('UTF-8') < 30):
|
||||
fp.write('#encoding UTF-8\n')
|
||||
fp.write(data)
|
||||
fp.close()
|
||||
mo_path = os.path.normpath('%s/%s%s/%s.mo' % (MO_DIR, path, MO_LOCALE, DOMAIN_E))
|
||||
if os.path.exists(mo_path):
|
||||
os.remove(mo_path)
|
||||
|
||||
|
||||
# Convert Romanian PX files to Latin1 PO files
|
||||
table = {
|
||||
u"\u015f" : u"s", # ș
|
||||
u"\u015e" : u"S", # Ș
|
||||
u"\u0163" : u"t", # ț
|
||||
u"\u0162" : u"T", # Ț
|
||||
u"\u0103" : u"ã", # ă
|
||||
u"\u0102" : u"Ã", # Ă
|
||||
u'\u021b' : u"t", # ț
|
||||
u'\u0218' : u"s", # Ș
|
||||
u'\u0219' : u"s" # ș
|
||||
}
|
||||
|
||||
def fix_ro():
|
||||
""" Convert ro.px files to ro.po files with only Latin1
|
||||
"""
|
||||
for section in ('main', 'email', 'nsis'):
|
||||
f = open('po/%s/ro.px' % section, 'rb')
|
||||
data = f.read().decode('utf-8')
|
||||
f.close()
|
||||
|
||||
for ch in table:
|
||||
data = data.replace(ch, table[ch])
|
||||
|
||||
f = open('po/%s/ro.po' % section, 'wb')
|
||||
f.write(data.encode('utf-8'))
|
||||
f.close()
|
||||
try:
|
||||
for line in data.split('\n'):
|
||||
line.encode('latin-1')
|
||||
except:
|
||||
print line.encode('utf-8')
|
||||
print 'WARNING: file po/%s/ro.po is not Latin-1' % section
|
||||
exit(1)
|
||||
|
||||
|
||||
def patch_nsis():
|
||||
@@ -239,6 +280,9 @@ tl = os.path.abspath(os.path.normpath(os.path.join(path, 'msgfmt.py')))
|
||||
if os.path.exists(tl):
|
||||
TOOL = tl
|
||||
|
||||
# Fix up Romanian texts
|
||||
fix_ro()
|
||||
|
||||
if len(sys.argv) > 1 and sys.argv[1] == 'all':
|
||||
print 'NSIS MO file'
|
||||
process_po_folder(DOMAIN_N, PON_DIR)
|
||||
|
||||
@@ -68,6 +68,10 @@ def set_connection_info(url, user=True):
|
||||
section, keypath = reg_info(user)
|
||||
try:
|
||||
hive = _winreg.ConnectRegistry(None, section)
|
||||
try:
|
||||
key = _winreg.CreateKey(hive, keypath)
|
||||
except:
|
||||
pass
|
||||
key = _winreg.OpenKey(hive, keypath)
|
||||
mykey = _winreg.CreateKey(key, 'api')
|
||||
_winreg.SetValueEx(mykey, 'url', None, _winreg.REG_SZ, url)
|
||||
|
||||
BIN
win/curl/curl.exe
Normal file
BIN
win/curl/curl.exe
Normal file
Binary file not shown.
BIN
win/curl/libssh2.dll
Normal file
BIN
win/curl/libssh2.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user