@ -49,9 +49,9 @@ import sabnzbd.dirscanner as dirscanner
from sabnzbd . bpsmeter import BPSMeter
status_icons = {
' idle ' : ' icons/sabnzbd_osx_idle.tiff ' ,
' pause ' : ' icons/sabnzbd_osx_pause.tiff ' ,
' clicked ' : ' icons/sabnzbd_osx_clicked.tiff '
" idle " : " icons/sabnzbd_osx_idle.tiff " ,
" pause " : " icons/sabnzbd_osx_pause.tiff " ,
" clicked " : " icons/sabnzbd_osx_clicked.tiff " ,
}
start_time = NSDate . date ( )
debug = 0
@ -71,7 +71,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] awake " )
self . buildMenu ( )
# Timer for updating menu
self . timer = NSTimer . alloc ( ) . initWithFireDate_interval_target_selector_userInfo_repeats_ ( start_time , 3.0 , self , ' updateAction: ' , None , True )
self . timer = NSTimer . alloc ( ) . initWithFireDate_interval_target_selector_userInfo_repeats_ (
start_time , 3.0 , self , " updateAction: " , None , True
)
NSRunLoop . currentRunLoop ( ) . addTimer_forMode_ ( self . timer , NSDefaultRunLoopMode )
NSRunLoop . currentRunLoop ( ) . addTimer_forMode_ ( self . timer , NSEventTrackingRunLoopMode )
# NSRunLoop.currentRunLoop().addTimer_forMode_(self.timer, NSModalPanelRunLoopMode)
@ -86,15 +88,15 @@ class SABnzbdDelegate(NSObject):
icon_path = status_icons [ icon ]
if hasattr ( sys , " frozen " ) :
# Path is modified for the binary
icon_path = os . path . join ( os . path . dirname ( sys . executable ) , ' .. ' , ' Resources ' , status_icons [ icon ] )
icon_path = os . path . join ( os . path . dirname ( sys . executable ) , " .. " , " Resources " , status_icons [ icon ] )
self . icons [ icon ] = NSImage . alloc ( ) . initByReferencingFile_ ( icon_path )
if sabnzbd . DARWIN_VERSION > 9 :
# Support for Yosemite Dark Mode
self . icons [ icon ] . setTemplate_ ( YES )
self . status_item . setImage_ ( self . icons [ ' idle ' ] )
self . status_item . setAlternateImage_ ( self . icons [ ' clicked ' ] )
self . status_item . setImage_ ( self . icons [ " idle " ] )
self . status_item . setAlternateImage_ ( self . icons [ " clicked " ] )
self . status_item . setHighlightMode_ ( 1 )
self . status_item . setToolTip_ ( ' SABnzbd ' )
self . status_item . setToolTip_ ( " SABnzbd " )
self . status_item . setEnabled_ ( YES )
if debug == 1 :
@ -125,7 +127,7 @@ class SABnzbdDelegate(NSObject):
self . menu = NSMenu . alloc ( ) . init ( )
try :
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( " Dummy " , ' ' , ' ' )
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( " Dummy " , " " , " " )
menu_item . setHidden_ ( YES )
self . isLeopard = 1
except :
@ -135,7 +137,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 3 construction " )
# Warnings Item
self . warnings_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Warnings ' ) , ' openBrowserAction: ' , ' ' )
self . warnings_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Warnings " ) , " openBrowserAction: " , " "
)
if self . isLeopard :
self . warnings_menu_item . setHidden_ ( YES )
else :
@ -147,7 +151,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 4 warning added " )
# State Item
self . state_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Idle ' ) , ' openBrowserAction: ' , ' ' )
self . state_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Idle " ) , " openBrowserAction: " , " "
)
self . state_menu_item . setRepresentedObject_ ( " " )
self . menu . addItem_ ( self . state_menu_item )
@ -155,7 +161,7 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 5 state added " )
# Config Item
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Configuration ' ) , ' openBrowserAction: ' , ' ' )
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Configuration " ) , " openBrowserAction: " , " " )
menu_item . setRepresentedObject_ ( " config/general/ " )
menu_item . setAlternate_ ( YES )
menu_item . setKeyEquivalentModifierMask_ ( NSAlternateKeyMask )
@ -165,7 +171,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 6 config added " )
# Queue Item
self . queue_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Queue ' ) , ' openBrowserAction: ' , ' ' )
self . queue_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Queue " ) , " openBrowserAction: " , " "
)
self . queue_menu_item . setRepresentedObject_ ( " " )
self . menu . addItem_ ( self . queue_menu_item )
@ -173,7 +181,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 7 queue added " )
# Purge Queue Item
self . purgequeue_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Purge Queue ' ) , ' purgeAction: ' , ' ' )
self . purgequeue_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Purge Queue " ) , " purgeAction: " , " "
)
self . purgequeue_menu_item . setRepresentedObject_ ( " queue " )
self . purgequeue_menu_item . setAlternate_ ( YES )
self . purgequeue_menu_item . setKeyEquivalentModifierMask_ ( NSAlternateKeyMask )
@ -183,7 +193,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 8 purge queue added " )
# History Item
self . history_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' History ' ) , ' openBrowserAction: ' , ' ' )
self . history_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " History " ) , " openBrowserAction: " , " "
)
self . history_menu_item . setRepresentedObject_ ( " " )
self . menu . addItem_ ( self . history_menu_item )
@ -191,7 +203,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 9 history added " )
# Purge History Item
self . purgehistory_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Purge History ' ) , ' purgeAction: ' , ' ' )
self . purgehistory_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Purge History " ) , " purgeAction: " , " "
)
self . purgehistory_menu_item . setRepresentedObject_ ( " history " )
self . purgehistory_menu_item . setAlternate_ ( YES )
self . purgehistory_menu_item . setKeyEquivalentModifierMask_ ( NSAlternateKeyMask )
@ -204,16 +218,27 @@ class SABnzbdDelegate(NSObject):
self . menu . addItem_ ( self . separator_menu_item )
# Limit Speed Item & Submenu
self . speed_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Limit Speed ' ) , ' ' , ' ' )
self . speed_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Limit Speed " ) , " " , " " )
self . menu_speed = NSMenu . alloc ( ) . init ( )
speeds = { 10 : ' 10 % ' , 20 : ' 20 % ' , 30 : ' 30 % ' , 40 : ' 40 % ' , 50 : ' 50 % ' ,
60 : ' 60 % ' , 70 : ' 70 % ' , 80 : ' 80 % ' , 90 : ' 90 % ' , 100 : ' 100 % '
speeds = {
10 : " 10 % " ,
20 : " 20 % " ,
30 : " 30 % " ,
40 : " 40 % " ,
50 : " 50 % " ,
60 : " 60 % " ,
70 : " 70 % " ,
80 : " 80 % " ,
90 : " 90 % " ,
100 : " 100 % " ,
}
for speed in sorted ( speeds . keys ( ) ) :
menu_speed_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( ' %s ' % ( speeds [ speed ] ) , ' speedlimitAction: ' , ' ' )
menu_speed_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
" %s " % ( speeds [ speed ] ) , " speedlimitAction: " , " "
)
menu_speed_item . setRepresentedObject_ ( " %s " % speed )
self . menu_speed . addItem_ ( menu_speed_item )
@ -224,13 +249,15 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 11 limit speed added " )
# Pause Item & Submenu
self . pause_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Pause ' ) , ' pauseAction: ' , ' ' )
self . pause_menu_item . setRepresentedObject_ ( ' 0 ' )
self . pause_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Pause " ) , " pauseAction: " , " " )
self . pause_menu_item . setRepresentedObject_ ( " 0 " )
self . menu_pause = NSMenu . alloc ( ) . init ( )
for i in range ( 6 ) :
menu_pause_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( " %s %s " % ( ( i + 1 ) * 10 , T ( ' min. ' ) ) , ' pauseAction: ' , ' ' )
menu_pause_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
" %s %s " % ( ( i + 1 ) * 10 , T ( " min. " ) ) , " pauseAction: " , " "
)
menu_pause_item . setRepresentedObject_ ( " %s " % ( ( i + 1 ) * 10 ) )
self . menu_pause . addItem_ ( menu_pause_item )
@ -241,7 +268,7 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 12 pause added " )
# Resume Item
self . resume_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Resume ' ) , ' resumeAction: ' , ' ' )
self . resume_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Resume " ) , " resumeAction: " , " " )
if self . isLeopard :
self . resume_menu_item . setHidden_ ( YES )
else :
@ -252,7 +279,9 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 13 resume added " )
# Watched folder Item
self . watched_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Scan watched folder ' ) , ' watchedFolderAction: ' , ' ' )
self . watched_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Scan watched folder " ) , " watchedFolderAction: " , " "
)
if self . isLeopard :
self . watched_menu_item . setHidden_ ( YES )
else :
@ -260,7 +289,9 @@ class SABnzbdDelegate(NSObject):
self . menu . addItem_ ( self . watched_menu_item )
# All RSS feeds
self . rss_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Read all RSS feeds ' ) , ' rssAction: ' , ' ' )
self . rss_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Read all RSS feeds " ) , " rssAction: " , " "
)
if self . isLeopard :
self . rss_menu_item . setHidden_ ( YES )
else :
@ -274,12 +305,16 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 14 watched folder added " )
# Complete Folder Item
self . completefolder_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Complete Folder ' ) + ' \t \t \t ' , ' openFolderAction: ' , ' ' )
self . completefolder_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Complete Folder " ) + " \t \t \t " , " openFolderAction: " , " "
)
self . completefolder_menu_item . setRepresentedObject_ ( sabnzbd . cfg . complete_dir . get_path ( ) )
self . menu . addItem_ ( self . completefolder_menu_item )
# Incomplete Folder Item
self . incompletefolder_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Incomplete Folder ' ) + ' \t \t ' , ' openFolderAction: ' , ' ' )
self . incompletefolder_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Incomplete Folder " ) + " \t \t " , " openFolderAction: " , " "
)
self . incompletefolder_menu_item . setRepresentedObject_ ( sabnzbd . cfg . download_dir . get_path ( ) )
self . menu . addItem_ ( self . incompletefolder_menu_item )
@ -289,14 +324,15 @@ class SABnzbdDelegate(NSObject):
self . menu . addItem_ ( NSMenuItem . separatorItem ( ) )
# Set diagnostic menu
self . diagnostic_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Troubleshoot ' ) , ' ' , ' ' )
self . diagnostic_menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Troubleshoot " ) , " " , " " )
self . menu_diagnostic = NSMenu . alloc ( ) . init ( )
diag_items = ( ( T ( ' Restart ' ) , ' restartAction: ' ) ,
( T ( ' Restart ' ) + ' - 127.0.0.1:8080 ' , ' restartSafeHost: ' ) ,
( T ( ' Restart without login ' ) , ' restartNoLogin: ' )
diag_items = (
( T ( " Restart " ) , " restartAction: " ) ,
( T ( " Restart " ) + " - 127.0.0.1:8080 " , " restartSafeHost: " ) ,
( T ( " Restart without login " ) , " restartNoLogin: " ) ,
)
for item in diag_items :
menu_diag_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( item [ 0 ] , item [ 1 ] , ' ' )
menu_diag_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( item [ 0 ] , item [ 1 ] , " " )
menu_diag_item . setRepresentedObject_ ( item [ 0 ] )
self . menu_diagnostic . addItem_ ( menu_diag_item )
@ -307,7 +343,7 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] menu 16 Diagnostic added " )
# Quit Item
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Quit ' ) , ' terminate: ' , ' ' )
menu_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Quit " ) , " terminate: " , " " )
self . menu . addItem_ ( menu_item )
if debug == 1 :
@ -361,7 +397,9 @@ class SABnzbdDelegate(NSObject):
if len ( pnfo_list ) :
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Queue First 10 Items ' ) , ' ' , ' ' )
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " Queue First 10 Items " ) , " " , " "
)
self . menu_queue . addItem_ ( menu_queue_item )
self . menu_queue . addItem_ ( NSMenuItem . separatorItem ( ) )
@ -373,13 +411,17 @@ class SABnzbdDelegate(NSObject):
timeleft = self . calc_timeleft_ ( bytesleftprogess , BPSMeter . do . bps )
job = " %s \t ( %d / %d MB) %s " % ( pnfo . filename , bytesleft , bytes_total , timeleft )
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( job , ' ' , ' ' )
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( job , " " , " " )
self . menu_queue . addItem_ ( menu_queue_item )
self . info = " %d nzb(s) \t ( %d / %d MB ) " % ( qnfo . q_size_list , ( qnfo . bytes_left / MEBI ) , ( qnfo . bytes / MEBI ) )
self . info = " %d nzb(s) \t ( %d / %d MB ) " % (
qnfo . q_size_list ,
( qnfo . bytes_left / MEBI ) ,
( qnfo . bytes / MEBI ) ,
)
else :
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Empty ' ) , ' ' , ' ' )
menu_queue_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Empty " ) , " " , " " )
self . menu_queue . addItem_ ( menu_queue_item )
self . queue_menu_item . setSubmenu_ ( self . menu_queue )
@ -395,33 +437,40 @@ class SABnzbdDelegate(NSObject):
items , fetched_items , _total_items = self . history_db . fetch_history ( 0 , 10 , None )
self . menu_history = NSMenu . alloc ( ) . init ( )
self . failedAttributes = { NSForegroundColorAttributeName : NSColor . redColor ( ) , NSFontAttributeName : NSFont . menuFontOfSize_ ( 14.0 ) }
self . failedAttributes = {
NSForegroundColorAttributeName : NSColor . redColor ( ) ,
NSFontAttributeName : NSFont . menuFontOfSize_ ( 14.0 ) ,
}
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' History Last 10 Items ' ) , ' ' , ' ' )
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
T ( " History Last 10 Items " ) , " " , " "
)
self . menu_history . addItem_ ( menu_history_item )
self . menu_history . addItem_ ( NSMenuItem . separatorItem ( ) )
if fetched_items :
for history in items :
# logging.info("[osx] history : %s" % (history))
job = " %s " % ( history [ ' name ' ] )
job = " %s " % ( history [ " name " ] )
path = " "
if os . path . isdir ( history [ ' storage ' ] ) or os . path . isfile ( history [ ' storage ' ] ) :
if os . path . isfile ( history [ ' storage ' ] ) :
path = os . path . dirname ( history [ ' storage ' ] )
if os . path . isdir ( history [ " storage " ] ) or os . path . isfile ( history [ " storage " ] ) :
if os . path . isfile ( history [ " storage " ] ) :
path = os . path . dirname ( history [ " storage " ] )
else :
path = history [ ' storage ' ]
path = history [ " storage " ]
if path :
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( job , ' openFolderAction: ' , ' ' )
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ (
job , " openFolderAction: " , " "
)
else :
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( job , ' ' , ' ' )
if history [ ' status ' ] != Status . COMPLETED :
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( job , " " , " " )
if history [ " status " ] != Status . COMPLETED :
jobfailed = NSAttributedString . alloc ( ) . initWithString_attributes_ ( job , self . failedAttributes )
menu_history_item . setAttributedTitle_ ( jobfailed )
menu_history_item . setRepresentedObject_ ( " %s " % path )
self . menu_history . addItem_ ( menu_history_item )
else :
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( ' Empty ' ) , ' ' , ' ' )
menu_history_item = NSMenuItem . alloc ( ) . initWithTitle_action_keyEquivalent_ ( T ( " Empty " ) , " " , " " )
self . menu_history . addItem_ ( menu_history_item )
self . history_menu_item . setSubmenu_ ( self . menu_history )
@ -434,10 +483,12 @@ class SABnzbdDelegate(NSObject):
if warnings :
warningsAttributes = {
NSForegroundColorAttributeName : NSColor . redColor ( ) ,
NSFontAttributeName : NSFont . menuFontOfSize_ ( 14.0 )
NSFontAttributeName : NSFont . menuFontOfSize_ ( 14.0 ) ,
}
warningsTitle = NSAttributedString . alloc ( ) . initWithString_attributes_ ( " %s : %s " % ( T ( ' Warnings ' ) , warnings ) , warningsAttributes )
warningsTitle = NSAttributedString . alloc ( ) . initWithString_attributes_ (
" %s : %s " % ( T ( " Warnings " ) , warnings ) , warningsAttributes
)
self . warnings_menu_item . setAttributedTitle_ ( warningsTitle )
if self . isLeopard :
@ -445,7 +496,7 @@ class SABnzbdDelegate(NSObject):
else :
self . warnings_menu_item . setEnabled_ ( YES )
else :
self . warnings_menu_item . setTitle_ ( " %s : 0 " % ( T ( ' Warnings ' ) ) )
self . warnings_menu_item . setTitle_ ( " %s : 0 " % ( T ( " Warnings " ) ) )
if self . isLeopard :
self . warnings_menu_item . setHidden_ ( YES )
else :
@ -458,7 +509,7 @@ class SABnzbdDelegate(NSObject):
paused , bytes_left , bpsnow , time_left = fast_queue ( )
if paused :
self . state = T ( ' Paused ' )
self . state = T ( " Paused " )
if sabnzbd . scheduler . pause_int ( ) != " 0 " :
self . setMenuTitle_ ( " \n \n %s \n " % ( sabnzbd . scheduler . pause_int ( ) ) )
else :
@ -467,8 +518,8 @@ class SABnzbdDelegate(NSObject):
self . state = " "
speed = to_units ( bpsnow )
# "10.1 MB/s" doesn't fit, remove space char
if ' M ' in speed and len ( speed ) > 5 :
speed = speed . replace ( ' ' , ' ' )
if " M " in speed and len ( speed ) > 5 :
speed = speed . replace ( " " , " " )
time_left = ( bpsnow > 10 and time_left ) or " ------ "
statusbarText = " \n \n %s \n %s B/s \n " % ( time_left , speed )
@ -481,7 +532,7 @@ class SABnzbdDelegate(NSObject):
self . setMenuTitle_ ( statusbarText )
else :
self . state = T ( ' Idle ' )
self . state = T ( " Idle " )
self . setMenuTitle_ ( " " )
if self . state != " " and self . info != " " :
@ -497,9 +548,9 @@ class SABnzbdDelegate(NSObject):
def iconUpdate ( self ) :
try :
if sabnzbd . downloader . Downloader . do . paused :
self . status_item . setImage_ ( self . icons [ ' pause ' ] )
self . status_item . setImage_ ( self . icons [ " pause " ] )
else :
self . status_item . setImage_ ( self . icons [ ' idle ' ] )
self . status_item . setImage_ ( self . icons [ " idle " ] )
except :
logging . info ( " [osx] iconUpdate Exception %s " % ( sys . exc_info ( ) [ 0 ] ) )
@ -542,7 +593,7 @@ class SABnzbdDelegate(NSObject):
if sabnzbd . NEW_VERSION and self . version_notify :
# logging.info("[osx] New Version : %s" % (sabnzbd.NEW_VERSION))
new_release , _new_rel_url = sabnzbd . NEW_VERSION
notifier . send_notification ( " SABnzbd " , " %s : %s " % ( T ( ' New release available ' ) , new_release ) , ' other ' )
notifier . send_notification ( " SABnzbd " , " %s : %s " % ( T ( " New release available " ) , new_release ) , " other " )
self . version_notify = 0
except :
logging . info ( " [osx] versionUpdate Exception %s " % ( sys . exc_info ( ) [ 0 ] ) )
@ -574,7 +625,7 @@ class SABnzbdDelegate(NSObject):
def serverUpdate ( self ) :
try :
if not config . get_servers ( ) :
self . state_menu_item . setTitle_ ( T ( ' Go to wizard ' ) )
self . state_menu_item . setTitle_ ( T ( " Go to wizard " ) )
hide = YES
alternate = NO
value = 0
@ -622,8 +673,12 @@ class SABnzbdDelegate(NSObject):
def diskspaceUpdate ( self ) :
try :
self . completefolder_menu_item . setTitle_ ( " %s %.2f GB " % ( T ( ' Complete Folder ' ) + ' \t \t \t ' , diskspace ( ) [ ' complete_dir ' ] [ 1 ] ) )
self . incompletefolder_menu_item . setTitle_ ( " %s %.2f GB " % ( T ( ' Incomplete Folder ' ) + ' \t \t ' , diskspace ( ) [ ' download_dir ' ] [ 1 ] ) )
self . completefolder_menu_item . setTitle_ (
" %s %.2f GB " % ( T ( " Complete Folder " ) + " \t \t \t " , diskspace ( ) [ " complete_dir " ] [ 1 ] )
)
self . incompletefolder_menu_item . setTitle_ (
" %s %.2f GB " % ( T ( " Incomplete Folder " ) + " \t \t " , diskspace ( ) [ " download_dir " ] [ 1 ] )
)
except :
logging . info ( " [osx] diskspaceUpdate Exception %s " % ( sys . exc_info ( ) [ 0 ] ) )
@ -648,7 +703,7 @@ class SABnzbdDelegate(NSObject):
NSBaselineOffsetAttributeName : 5.0 ,
NSFontAttributeName : NSFont . menuFontOfSize_ ( 9.0 ) ,
NSParagraphStyleAttributeName : style
#,NSForegroundColorAttributeName: titleColor
# ,NSForegroundColorAttributeName: titleColor
}
title = NSAttributedString . alloc ( ) . initWithString_attributes_ ( text , titleAttributes )
@ -663,12 +718,12 @@ class SABnzbdDelegate(NSObject):
minutes , seconds = divmod ( totalseconds , 60 )
hours , minutes = divmod ( minutes , 60 )
if minutes < 10 :
minutes = ' 0 %s ' % minutes
minutes = " 0 %s " % minutes
if seconds < 10 :
seconds = ' 0 %s ' % seconds
return ' %s : %s : %s ' % ( hours , minutes , seconds )
seconds = " 0 %s " % seconds
return " %s : %s : %s " % ( hours , minutes , seconds )
except :
return ' 0:00:00 '
return " 0:00:00 "
def openBrowserAction_ ( self , sender ) :
if sender . representedObject :
@ -681,7 +736,7 @@ class SABnzbdDelegate(NSObject):
# logging.info("[osx] speed limit to %s" % (sender.representedObject()))
speed = int ( sender . representedObject ( ) )
if speed != self . speed :
sabnzbd . downloader . Downloader . do . limit_speed ( ' %s %% ' % speed )
sabnzbd . downloader . Downloader . do . limit_speed ( " %s %% " % speed )
self . speedlimitUpdate ( )
def purgeAction_ ( self , sender ) :
@ -717,38 +772,38 @@ class SABnzbdDelegate(NSObject):
NSLog ( " [osx] % @ " , folder2open )
os . system ( ' open " %s " ' % folder2open )
# def aboutAction_(self, sender):
# app = NSApplication.sharedApplication()
# app.orderFrontStandardAboutPanel_(nil)
# def aboutAction_(self, sender):
# app = NSApplication.sharedApplication()
# app.orderFrontStandardAboutPanel_(nil)
def restartAction_ ( self , sender ) :
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
logging . info ( ' Restart requested by tray ' )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
logging . info ( " Restart requested by tray " )
sabnzbd . trigger_restart ( )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
def restartSafeHost_ ( self , sender ) :
sabnzbd . cfg . cherryhost . set ( ' 127.0.0.1 ' )
sabnzbd . cfg . cherryport . set ( ' 8080 ' )
sabnzbd . cfg . cherryhost . set ( " 127.0.0.1 " )
sabnzbd . cfg . cherryport . set ( " 8080 " )
sabnzbd . cfg . enable_https . set ( False )
sabnzbd . config . save_config ( )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
sabnzbd . trigger_restart ( )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
def restartNoLogin_ ( self , sender ) :
sabnzbd . cfg . username . set ( ' ' )
sabnzbd . cfg . password . set ( ' ' )
sabnzbd . cfg . username . set ( " " )
sabnzbd . cfg . password . set ( " " )
sabnzbd . config . save_config ( )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
sabnzbd . trigger_restart ( )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
def application_openFiles_ ( self , nsapp , filenames ) :
# logging.info('[osx] file open')
# logging.info('[osx] file : %s' % (filenames))
for name in filenames :
logging . info ( ' [osx] receiving from OSX : %s ' , name )
logging . info ( " [osx] receiving from OSX : %s " , name )
if os . path . exists ( name ) :
fn = get_filename ( name )
# logging.info('[osx] filename : %s' % (fn))
@ -762,8 +817,8 @@ class SABnzbdDelegate(NSObject):
# logging.info('opening done')
def applicationShouldTerminate_ ( self , sender ) :
logging . info ( ' [osx] application terminating ' )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( ' Stopping... ' ) ) )
logging . info ( " [osx] application terminating " )
self . setMenuTitle_ ( " \n \n %s \n " % ( T ( " Stopping... " ) ) )
self . status_item . setHighlightMode_ ( NO )
self . osx_icon = False
sabnzbd . shutdown_program ( )