15
15
from crontab import CronTab
16
16
system_cron = CronTab (user = 'pi' )
17
17
18
- now = datetime .datetime .now ()
19
- strPlayFajrAzaanMP3Command = 'omxplayer --vol 1200 -o local {}/Adhan-fajr.mp3 > /dev/null 2>&1' .format (root_dir )
20
- strPlayAzaanMP3Command = 'omxplayer --vol 1800 -o local {}/Adhan-Madinah.mp3 > /dev/null 2>&1' .format (root_dir )
21
- strUpdateCommand = 'python {}/updateAzaanTimers.py >> {}/adhan.log 2>&1' .format (root_dir , root_dir )
22
- strClearLogsCommand = 'truncate -s 0 {}/adhan.log 2>&1' .format (root_dir )
23
- strJobComment = 'rpiAdhanClockJob'
24
-
25
18
#HELPER FUNCTIONS
26
19
#---------------------------------
27
20
#---------------------------------
@@ -35,28 +28,45 @@ def parseArgs():
35
28
parser .add_argument ('--method' , choices = ['MWL' , 'ISNA' , 'Egypt' , 'Makkah' , 'Karachi' , 'Tehran' , 'Jafari' ],
36
29
dest = 'method' ,
37
30
help = 'Method of calculation' )
31
+ parser .add_argument ('--fajr-azaan-volume' , type = int , dest = 'fajr_azaan_vol' ,
32
+ help = 'Volume for fajr azaan in millibels, 1500 is loud and -30000 is quiet (default 0)' )
33
+ parser .add_argument ('--azaan-volume' , type = int , dest = 'azaan_vol' ,
34
+ help = 'Volume for azaan (other than fajr) in millibels, 1500 is loud and -30000 is quiet (default 0)' )
38
35
return parser
39
36
40
37
def mergeArgs (args ):
41
38
file_path = pathjoin (root_dir , '.settings' )
42
39
# load values
43
- lat = lng = method = None
40
+ lat = lng = method = fajr_azaan_vol = azaan_vol = None
44
41
try :
45
42
with open (file_path , 'rt' ) as f :
46
- lat , lng , method = f .readlines ()[0 ].split (',' )
43
+ lat , lng , method , fajr_azaan_vol , azaan_vol = f .readlines ()[0 ].split (',' )
47
44
except :
48
45
print ('No .settings file found' )
49
46
# merge args
50
47
if args .lat :
51
48
lat = args .lat
49
+ if lat :
50
+ lat = float (lat )
52
51
if args .lng :
53
52
lng = args .lng
53
+ if lng :
54
+ lng = float (lng )
54
55
if args .method :
55
56
method = args .method
57
+ if args .fajr_azaan_vol :
58
+ fajr_azaan_vol = args .fajr_azaan_vol
59
+ if fajr_azaan_vol :
60
+ fajr_azaan_vol = int (fajr_azaan_vol )
61
+ if args .azaan_vol :
62
+ azaan_vol = args .azaan_vol
63
+ if azaan_vol :
64
+ azaan_vol = int (azaan_vol )
56
65
# save values
57
66
with open (file_path , 'wt' ) as f :
58
- f .write ('{},{},{}' .format (lat or '' , lng or '' , method or '' ))
59
- return float (lat ) or None , float (lng ) or None , method or None
67
+ f .write ('{},{},{},{},{}' .format (lat or '' , lng or '' , method or '' ,
68
+ fajr_azaan_vol or 0 , azaan_vol or 0 ))
69
+ return lat or None , lng or None , method or None , fajr_azaan_vol or 0 , azaan_vol or 0
60
70
61
71
def addAzaanTime (strPrayerName , strPrayerTime , objCronTab , strCommand ):
62
72
job = objCronTab .new (command = strCommand ,comment = strPrayerName )
@@ -93,9 +103,9 @@ def addClearLogsCronJob (objCronTab, strCommand):
93
103
parser = parseArgs ()
94
104
args = parser .parse_args ()
95
105
#Merge args with saved values if any
96
- lat , lng , method = mergeArgs (args )
97
- print (lat , lng , method )
98
- #Complain if any value is missing
106
+ lat , lng , method , fajr_azaan_vol , azaan_vol = mergeArgs (args )
107
+ print (lat , lng , method , fajr_azaan_vol , azaan_vol )
108
+ #Complain if any mandatory value is missing
99
109
if not lat or not lng or not method :
100
110
parser .print_usage ()
101
111
sys .exit (1 )
@@ -107,6 +117,13 @@ def addClearLogsCronJob (objCronTab, strCommand):
107
117
utcOffset = - (time .timezone / 3600 )
108
118
isDst = time .localtime ().tm_isdst
109
119
120
+ now = datetime .datetime .now ()
121
+ strPlayFajrAzaanMP3Command = 'omxplayer --vol {} -o local {}/Adhan-fajr.mp3 > /dev/null 2>&1' .format (fajr_azaan_vol , root_dir )
122
+ strPlayAzaanMP3Command = 'omxplayer --vol {} -o local {}/Adhan-Madinah.mp3 > /dev/null 2>&1' .format (azaan_vol , root_dir )
123
+ strUpdateCommand = 'python {}/updateAzaanTimers.py >> {}/adhan.log 2>&1' .format (root_dir , root_dir )
124
+ strClearLogsCommand = 'truncate -s 0 {}/adhan.log 2>&1' .format (root_dir )
125
+ strJobComment = 'rpiAdhanClockJob'
126
+
110
127
# Remove existing jobs created by this script
111
128
system_cron .remove_all (comment = strJobComment )
112
129
0 commit comments