Hi,

I didn't get anything back from the developers about my original WWW
favorites patch. This one is updated with 24 hour format support.

Thanks to Hans Meine for his advice, I added this to the config.py:

# Time Format
if (TV_TIMEFORMAT.find("%H") >= 0):
    FORMAT24HOUR = 1
else:
    FORMAT24HOUR = 0

then altered my original changes to make use of this. So when
editing/adding a favorite you now have two or three drop down boxes
(depending on your TV_TIMEFORMAT setting) which make up the time. This
allows for more accurate start times for your favorites (every 5
minutes, rather than every 30).

I want to put this changes into the main freevo interface too, I've not
really got to grips with it yet and was wondering if it was possible to
have multiple columns of object lists, would need three, one for hours,
one for minutes and one for am/pm.

I've noticed these patches getting bigger and bigger, I was originally
told to post them to the mailing list but don't want to annoy anyone so
please let me know if I should be submitting them another way :)

again feedback greatly appreciated.

Cheers,

Alex
(Muttley on #freevo)
? Freevo.e3p
? pyos
? src/www/htdocs/help/wiki
Index: src/config.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/config.py,v
retrieving revision 1.110.2.2
diff -u -r1.110.2.2 config.py
--- src/config.py	28 Aug 2004 17:07:42 -0000	1.110.2.2
+++ src/config.py	11 Nov 2004 01:48:31 -0000
@@ -616,6 +616,12 @@
 if not VIDEO_SHOW_DATA_DIR and not HELPER:
     print 'Error: VIDEO_SHOW_DATA_DIR not found'
     
+# Time Format
+if (TV_TIMEFORMAT.find("%H") >= 0):
+    FORMAT24HOUR = 1
+else:
+    FORMAT24HOUR = 0
+    
 #
 # Autodetect the CD/DVD drives in the system if not given in local_conf.py
 #
Index: src/util/tv_util.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/util/tv_util.py,v
retrieving revision 1.6
diff -u -r1.6 tv_util.py
--- src/util/tv_util.py	10 Jul 2004 12:33:42 -0000	1.6
+++ src/util/tv_util.py	11 Nov 2004 01:48:33 -0000
@@ -99,18 +99,23 @@
     rem = min - (hour*60)
 
     ap = 'AM'
-    if hour > 12:
+    if (hour > 12) and (not config.FORMAT24HOUR):
         hour = hour - 12
         ap = 'PM'
 
-    if hour == 0:
+    if (hour == 0) and (not config.FORMAT24HOUR):
         hour = 12
 
-    if rem == 0:
-        rem = '00'
-
-    return '%s:%s %s' % (hour, rem, ap)
+    if (config.FORMAT24HOUR) and (hour < 10):
+        hour = '0%s' % hour
+        
+    if rem < 10:
+        rem = '0%s' % rem
 
+    if (config.FORMAT24HOUR):
+        return '%s:%s' % (hour, rem)
+    else:
+        return '%s:%s %s' % (hour, rem, ap)
 
 def descfsize(size):
     if size < 1024:
Index: src/www/htdocs/edit_favorite.rpy
===================================================================
RCS file: /cvsroot/freevo/freevo/src/www/htdocs/edit_favorite.rpy,v
retrieving revision 1.17.2.1
diff -u -r1.17.2.1 edit_favorite.rpy
--- src/www/htdocs/edit_favorite.rpy	11 Aug 2004 00:12:33 -0000	1.17.2.1
+++ src/www/htdocs/edit_favorite.rpy	11 Nov 2004 01:48:34 -0000
@@ -117,6 +117,7 @@
 from tv.record_types import Favorite
 import tv.epg_xmltv
 import tv.record_client as ri
+import config
 
 from www.web_types import HTMLResource, FreevoResource
 
@@ -252,59 +253,90 @@
         
         fv.tableCell(cell, 'class="'+status+'" colspan="1"')
 
-        cell = '\n<select name="mod" selected="%s">\n' % fav.mod
-        cell += '          <option value="ANY">'+_('ANY TIME')+'</option>\n'
+        if fav.mod != 'ANY':
+            mod_hour = int(fav.mod/60)
+            mod_min = fav.mod - (mod_hour*60)
+            if (mod_hour > 12) and (not config.FORMAT24HOUR):
+                mod_hour = mod_hour - 12
+                mod_moaf = 2
+            else:
+                mod_moaf = 1
+        else:
+            mod_hour = 'ANY'
+            mod_min = 'ANY'
+            mod_moaf = 'ANY'
+
+        cell = '\n<select name="mod_hour" selected="%s" STYLE="width: 50px">\n' % mod_hour*60
+        cell += '          <option value="ANY">'+_('ANY TIME')+'</option>'
+        if not config.FORMAT24HOUR:
+            cell += """
+                <option value="0">12</option>
+                <option value="60">1</option>
+                <option value="120">2</option>
+                <option value="180">3</option>
+                <option value="240">4</option>
+                <option value="300">5</option>
+                <option value="360">6</option>
+                <option value="420">7</option>
+                <option value="480">8</option>
+                <option value="540">9</option>
+                <option value="600">10</option>
+                <option value="660">11</option>
+              </select>
+              """
+        else:
+            cell += """
+                <option value="0">00</option>
+                <option value="60">01</option>
+                <option value="120">02</option>
+                <option value="180">03</option>
+                <option value="240">04</option>
+                <option value="300">05</option>
+                <option value="360">06</option>
+                <option value="420">07</option>
+                <option value="480">08</option>
+                <option value="540">09</option>
+                <option value="600">10</option>
+                <option value="660">11</option>
+                <option value="720">12</option>
+                <option value="780">13</option>
+                <option value="840">14</option>
+                <option value="900">15</option>
+                <option value="960">16</option>
+                <option value="1020">17</option>
+                <option value="1080">18</option>
+                <option value="1140">19</option>
+                <option value="1200">20</option>
+                <option value="1260">21</option>
+                <option value="1320">22</option>
+                <option value="1380">23</option>
+              </select>
+              """
+        cell += '\n<select name="mod_min" selected="%s" STYLE="width: 50px">\n' % mod_min
+        cell += '          <option value="ANY">'+_('ANY TIME')+'</option>'
         cell += """
-          <option value="0">12:00 AM</option>
-          <option value="30">12:30 AM</option>
-          <option value="60">1:00 AM</option>
-          <option value="90">1:30 AM</option>
-          <option value="120">2:00 AM</option>
-          <option value="150">2:30 AM</option>
-          <option value="180">3:00 AM</option>
-          <option value="210">3:30 AM</option>
-          <option value="240">4:00 AM</option>
-          <option value="270">4:30 AM</option>
-          <option value="300">5:00 AM</option>
-          <option value="330">5:30 AM</option>
-          <option value="360">6:00 AM</option>
-          <option value="390">6:30 AM</option>
-          <option value="420">7:00 AM</option>
-          <option value="450">7:30 AM</option>
-          <option value="480">8:00 AM</option>
-          <option value="510">8:30 AM</option>
-          <option value="540">9:00 AM</option>
-          <option value="570">9:30 AM</option>
-          <option value="600">10:00 AM</option>
-          <option value="630">10:30 AM</option>
-          <option value="660">11:00 AM</option>
-          <option value="690">11:30 AM</option>
-          <option value="720">12:00 PM</option>
-          <option value="750">12:30 PM</option>
-          <option value="780">1:00 PM</option>
-          <option value="810">1:30 PM</option>
-          <option value="840">2:00 PM</option>
-          <option value="870">2:30 PM</option>
-          <option value="900">3:00 PM</option>
-          <option value="930">3:30 PM</option>
-          <option value="960">4:00 PM</option>
-          <option value="990">4:30 PM</option>
-          <option value="1020">5:00 PM</option>
-          <option value="1050">5:30 PM</option>
-          <option value="1080">6:00 PM</option>
-          <option value="1110">6:30 PM</option>
-          <option value="1140">7:00 PM</option>
-          <option value="1170">7:30 PM</option>
-          <option value="1200">8:00 PM</option>
-          <option value="1230">8:30 PM</option>
-          <option value="1260">9:00 PM</option>
-          <option value="1290">9:30 PM</option>
-          <option value="1320">10:00 PM</option>
-          <option value="1350">10:30 PM</option>
-          <option value="1380">11:00 PM</option>
-          <option value="1410">11:30 PM</option>
+          <option value="0">00</option>
+          <option value="5">05</option>
+          <option value="10">10</option>
+          <option value="15">15</option>
+          <option value="20">20</option>
+          <option value="25">25</option>
+          <option value="30">30</option>
+          <option value="35">35</option>
+          <option value="40">40</option>
+          <option value="45">45</option>
+          <option value="50">50</option>
+          <option value="55">55</option>
         </select>
         """
+        if not config.FORMAT24HOUR:
+            cell += '\n<select name="mod_moaf" selected="%s" STYLE="width: 50px">\n' % mod_moaf
+            cell += '          <option value="ANY">'+_('ANY TIME')+'</option>'
+            cell += """
+                <option value="0">AM</option>
+                <option value="1">PM</option>
+              </select>
+              """
         fv.tableCell(cell, 'class="'+status+'" colspan="1"')
 
         # cell = '\n<select name="priority" selected="%s">\n' % fav.priority
@@ -337,10 +369,21 @@
             fv.res += 'document.editfavorite.dow.options[(1+%s)].selected=true\n' % fav.dow
 
         if fav.mod == 'ANY':
-            fv.res += 'document.editfavorite.mod.options[0].selected=true\n'
+            fv.res += 'document.editfavorite.mod_hour.options[0].selected=true\n'
+        else:
+            mod_index = mod_hour+1
+            fv.res += 'document.editfavorite.mod_hour.options[%s].selected=true\n' % mod_index
+
+        if fav.mod == 'ANY':
+            fv.res += 'document.editfavorite.mod_min.options[0].selected=true\n'
+        else:
+            mod_min_index = (mod_min/5)+1
+            fv.res += 'document.editfavorite.mod_min.options[%s].selected=true\n' % mod_min_index
+
+        if fav.mod == 'ANY':
+            fv.res += 'document.editfavorite.mod_moaf.options[0].selected=true\n'
         else:
-            mod_index = int(fav.mod)/30 + 1
-            fv.res += 'document.editfavorite.mod.options[%s].selected=true\n' % mod_index
+            fv.res += 'document.editfavorite.mod_moaf.options[%s].selected=true\n' % mod_moaf
 
         fv.res += '</script>'
 
Index: src/www/htdocs/favorites.rpy
===================================================================
RCS file: /cvsroot/freevo/freevo/src/www/htdocs/favorites.rpy,v
retrieving revision 1.17
diff -u -r1.17 favorites.rpy
--- src/www/htdocs/favorites.rpy	20 May 2004 15:56:12 -0000	1.17
+++ src/www/htdocs/favorites.rpy	11 Nov 2004 01:48:34 -0000
@@ -139,9 +139,27 @@
         title = fv.formValue(form, 'title')
         chan = fv.formValue(form, 'chan')
         dow = fv.formValue(form, 'dow')
-        mod = fv.formValue(form, 'mod')
+        mod_hour = fv.formValue(form, 'mod_hour')
+        mod_min = fv.formValue(form, 'mod_min')
+        mod_moaf = fv.formValue(form, 'mod_moaf')
         priority = fv.formValue(form, 'priority')
-
+        
+        if mod_hour is None:
+            mod_hour = 0
+        elif mod_hour != 'ANY':
+            mod_hour = int(mod_hour)
+            
+        if mod_min is None:
+            mod_min = 0
+        elif mod_min != 'ANY':
+            mod_min = int(mod_min)
+        
+        if mod_hour == 'ANY' or mod_min == 'ANY' or mod_moaf == 'ANY':
+            mod = 'ANY'
+        else:
+            if mod_moaf == '1':
+                mod_hour = (mod_hour + 720)
+            mod = (mod_hour + mod_min)
 
         if action == 'remove':
             ri.removeFavorite(name)

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to