Skip to content

Commit ac6ca08

Browse files
committed
Add volume levels as script arguments
1 parent f066898 commit ac6ca08

File tree

1 file changed

+31
-14
lines changed

1 file changed

+31
-14
lines changed

updateAzaanTimers.py

+31-14
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@
1515
from crontab import CronTab
1616
system_cron = CronTab(user='pi')
1717

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-
2518
#HELPER FUNCTIONS
2619
#---------------------------------
2720
#---------------------------------
@@ -35,28 +28,45 @@ def parseArgs():
3528
parser.add_argument('--method', choices=['MWL', 'ISNA', 'Egypt', 'Makkah', 'Karachi', 'Tehran', 'Jafari'],
3629
dest='method',
3730
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)')
3835
return parser
3936

4037
def mergeArgs(args):
4138
file_path = pathjoin(root_dir, '.settings')
4239
# load values
43-
lat = lng = method = None
40+
lat = lng = method = fajr_azaan_vol = azaan_vol = None
4441
try:
4542
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(',')
4744
except:
4845
print('No .settings file found')
4946
# merge args
5047
if args.lat:
5148
lat = args.lat
49+
if lat:
50+
lat = float(lat)
5251
if args.lng:
5352
lng = args.lng
53+
if lng:
54+
lng = float(lng)
5455
if args.method:
5556
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)
5665
# save values
5766
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
6070

6171
def addAzaanTime (strPrayerName, strPrayerTime, objCronTab, strCommand):
6272
job = objCronTab.new(command=strCommand,comment=strPrayerName)
@@ -93,9 +103,9 @@ def addClearLogsCronJob (objCronTab, strCommand):
93103
parser = parseArgs()
94104
args = parser.parse_args()
95105
#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
99109
if not lat or not lng or not method:
100110
parser.print_usage()
101111
sys.exit(1)
@@ -107,6 +117,13 @@ def addClearLogsCronJob (objCronTab, strCommand):
107117
utcOffset = -(time.timezone/3600)
108118
isDst = time.localtime().tm_isdst
109119

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+
110127
# Remove existing jobs created by this script
111128
system_cron.remove_all(comment=strJobComment)
112129

0 commit comments

Comments
 (0)