Guest User

Untitled

a guest
Sep 21st, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 8.74 KB | None | 0 0
  1. From 9348fedd3b9602c4c3bc3458cb76035e561ead0f Mon Sep 17 00:00:00 2001
  2. From: Eslam Mostafa <cseslam@gmail.com>
  3. Date: Sun, 19 Aug 2012 02:28:49 +0200
  4. Subject: [PATCH] Fix Alarms am/pm
  5.  
  6. ---
  7. gnomeclocks/alarm.py   |   47 ++++++++++++++-------------------------
  8.  gnomeclocks/widgets.py |   57 +++++++++++++++++++++++-------------------------
  9.  2 files changed, 43 insertions(+), 61 deletions(-)
  10.  
  11. diff --git a/gnomeclocks/alarm.py b/gnomeclocks/alarm.py
  12. index 84f9624..472ade4 100644
  13. --- a/gnomeclocks/alarm.py
  14. +++ b/gnomeclocks/alarm.py
  15. @@ -66,27 +66,25 @@ class ICSHandler():
  16.  
  17.  
  18.  class AlarmItem:
  19. -    def __init__(self, name=None, repeat=None, h=None, m=None, p=None):
  20. +    def __init__(self, name=None, repeat=None, h=None, m=None):
  21.          self.name = name
  22.          self.repeat = repeat
  23.          self.vevent = None
  24.          self.uid = None
  25.          self.h = h
  26. -        self.m = m
  27. -        self.p = p
  28. +        self.m = m        
  29.  
  30.      def new_from_vevent(self, vevent):
  31.          self.vevent = vevent
  32.          self.name = vevent.summary.value
  33.          self.time = vevent.dtstart.value
  34.          self.h = int(self.time.strftime("%H"))
  35. -        self.m = int(self.time.strftime("%M"))
  36. -        self.p = self.time.strftime("%p")
  37. +        self.m = int(self.time.strftime("%M"))        
  38.          self.uid = vevent.uid.value
  39. -        if vevent.rrule.value == 'FREQ=DAILY;':
  40. +        if vevent.rrule.value == 'FREQ=DAILY':
  41.              self.repeat = ['FR', 'MO', 'SA', 'SU', 'TH', 'TU', 'WE']
  42.          else:
  43. -            self.repeat = vevent.rrule.value[19:].split(',')
  44. +            self.repeat = vevent.rrule.value[18:].split(',')
  45.  
  46.      def set_alarm_time(self, h, m, p):
  47.          self.h = h
  48. @@ -100,24 +98,18 @@ class AlarmItem:
  49.          time['p'] = self.p
  50.          return self.time
  51.  
  52. -    def get_time_12h_as_string(self):
  53. -        if self.p == 'AM' or self.p == 'PM':
  54. -            if self.h == 12 or self.h == 0:
  55. -                h = 12
  56. -            else:
  57. -                h = self.h - 12
  58. +    def get_time_12h_as_string(self):      
  59. +        p = self.vevent.dtstart.value.strftime("%p")        
  60. +        if self.h == 12 or self.h == 0:
  61. +            h = 12
  62. +        elif self.h > 12:            
  63. +            h = self.h - 12        
  64.          else:
  65.              h = self.h
  66. -        return "%2i:%02i %s" % (h, self.m, self.p)
  67. +        return "%2i:%02i %s" % (h, self.m, p)
  68.  
  69. -    def get_time_24h_as_string(self):
  70. -        if self.p == 'AM' or self.p == 'PM':
  71. -            h = self.h + 12
  72. -            if h == 24:
  73. -                h = 12
  74. -        else:
  75. -            h = self.h
  76. -        return "%2i:%02i" % (h, self.m)
  77. +    def get_time_24h_as_string(self):        
  78. +        return "%2i:%02i" % (self.h, self.m)
  79.  
  80.      def set_alarm_name(self, name):
  81.          self.name = name
  82. @@ -167,14 +159,7 @@ class AlarmItem:
  83.          self.vevent = vevent = vobject.newFromBehavior('vevent')
  84.          vevent.add('summary').value = self.name
  85.          h = self.h
  86. -        m = self.m
  87. -        if self.p == "PM":
  88. -            h = self.h + 12
  89. -            if h == 24:
  90. -                h = 12
  91. -        elif self.p == "AM":
  92. -            if h == 12:
  93. -                h = 0
  94. +        m = self.m        
  95.          vevent.add('dtstart').value =\
  96.              datetime.datetime.combine(datetime.date.today(),
  97.                                        datetime.time(h, m))
  98. @@ -182,7 +167,7 @@ class AlarmItem:
  99.              datetime.datetime.combine(datetime.date.today(),
  100.                                        datetime.time(h, m))
  101.          if len(self.repeat) == 0:
  102. -            vevent.add('rrule').value = 'FREQ=DAILY;'
  103. +            vevent.add('rrule').value = 'FREQ=DAILY'
  104.          else:
  105.              vevent.add('rrule').value = 'FREQ=WEEKLY;BYDAY=%s' %\
  106.              ','.join(self.repeat)
  107. diff --git a/gnomeclocks/widgets.py b/gnomeclocks/widgets.py
  108. index 60eef3b..242b4c5 100644
  109. --- a/gnomeclocks/widgets.py
  110. +++ b/gnomeclocks/widgets.py
  111. @@ -32,6 +32,10 @@ import time
  112.  def get_is_day(hour):
  113.      return (hour > 7 and hour < 19)
  114.  
  115. +def get_system_clock_format():
  116. +        settings = Gio.Settings.new('org.gnome.desktop.interface')
  117. +        systemClockFormat = settings.get_string('clock-format')
  118. +        return systemClockFormat
  119.  
  120.  class NewWorldClockDialog(Gtk.Dialog):
  121.  
  122. @@ -131,21 +135,16 @@ class DigitalClock():
  123.          return t
  124.  
  125.      def get_local_time_text(self):
  126. -        text = time.strftime("%I:%M%p", self.get_local_time())
  127. +        text = time.strftime("%I:%M %p", self.get_local_time())
  128.          if text.startswith("0"):
  129.              text = text[1:]
  130.          return text
  131.  
  132. -    def get_system_clock_format(self):
  133. -        settings = Gio.Settings.new('org.gnome.desktop.interface')
  134. -        systemClockFormat = settings.get_string('clock-format')
  135. -        return systemClockFormat
  136. -
  137.      def update(self):
  138.          t = self.get_local_time_text()
  139. -        systemClockFormat = self.get_system_clock_format()
  140. +        systemClockFormat = get_system_clock_format()
  141.          if systemClockFormat == '12h':
  142. -            t = time.strftime("%I:%M%p", self.get_local_time())
  143. +            t = time.strftime("%I:%M %p", self.get_local_time())
  144.          else:
  145.              t = time.strftime("%H:%M", self.get_local_time())
  146.          if not t == self._last_time:
  147. @@ -395,18 +394,13 @@ class AlarmWidget():
  148.      def __init__(self, time_given, repeat):
  149.          self.drawing = DigitalClockDrawing()
  150.          t = time_given
  151. -        isDay = get_is_day(int(t[:2]))
  152. +        isDay = get_is_day(int(t[:2]))        
  153.          if isDay:
  154.              img = os.path.join(Dirs.get_image_dir(), "cities", "day.png")
  155.          else:
  156.              img = os.path.join(Dirs.get_image_dir(), "cities", "night.png")
  157.          self.drawing.render(t, img, isDay, repeat)
  158.  
  159. -    def get_system_clock_format(self):
  160. -        settings = Gio.Settings.new('org.gnome.desktop.interface')
  161. -        systemClockFormat = settings.get_string('clock-format')
  162. -        return systemClockFormat
  163. -
  164.      def set_iter(self, list_store, view_iter):
  165.          self.view_iter = view_iter
  166.          self.list_store = list_store
  167. @@ -430,7 +424,7 @@ class AlarmDialog(Gtk.Dialog):
  168.          self.set_modal(True)
  169.          self.repeat_days = []
  170.  
  171. -        self.cf = cf = self.get_system_clock_format()
  172. +        self.cf = cf = get_system_clock_format()
  173.          if cf == "12h":
  174.              table1 = Gtk.Table(4, 6, False)
  175.          else:
  176. @@ -446,7 +440,7 @@ class AlarmDialog(Gtk.Dialog):
  177.          if vevent:
  178.              t = vevent.dtstart.value
  179.              h = int(t.strftime("%I"))
  180. -            m = int(t.strftime("%m"))
  181. +            m = int(t.strftime("%M"))
  182.              p = t.strftime("%p")
  183.          else:
  184.              t = time.localtime()
  185. @@ -473,9 +467,9 @@ class AlarmDialog(Gtk.Dialog):
  186.  
  187.          if cf == "12h":
  188.              self.ampm = ampm = Gtk.ComboBoxText()
  189. -            ampm.append_text("AM")
  190. -            ampm.append_text("PM")
  191. -            if p == "PM":
  192. +            ampm.append_text("am")
  193. +            ampm.append_text("pm")
  194. +            if p == "pm":
  195.                  h = h - 12
  196.                  ampm.set_active(1)
  197.              else:
  198. @@ -542,18 +536,20 @@ class AlarmDialog(Gtk.Dialog):
  199.              table1.attach(box, 1, 4, 2, 3)
  200.  
  201.      def show_leading_zeros(self, spin_button):
  202. +        val = spin_button.get_value_as_int()
  203. +        if val < 10:
  204. +            spin_button.set_text("0"+str(val))
  205. +        else:
  206. +            spin_button.set_text(str(val))
  207.          spin_button.set_text('{: 02d}'.format(spin_button.get_value_as_int()))
  208.          return True
  209.  
  210. -    def get_system_clock_format(self):
  211. -        settings = Gio.Settings.new('org.gnome.desktop.interface')
  212. -        systemClockFormat = settings.get_string('clock-format')
  213. -        return systemClockFormat
  214. -
  215.      def get_repeat_days_from_vevent(self, vevent):
  216.          rrule = vevent.rrule.value
  217.          repeat = []
  218. -        if rrule[5] == 'W':
  219. +        if vevent.rrule.value == 'FREQ=DAILY':
  220. +            pass
  221. +        else:
  222.              days = rrule[18:]
  223.              repeat = days.split(",")
  224.          return repeat
  225. @@ -570,12 +566,13 @@ class AlarmDialog(Gtk.Dialog):
  226.              if self.cf == "12h":
  227.                  r = self.ampm.get_active()
  228.                  if r == 0:
  229. -                    p = "AM"
  230. +                    p = "am"                    
  231.                  else:
  232. -                    p = "PM"
  233. -            else:
  234. -                p = None
  235. -            new_alarm = AlarmItem(name, repeat, h, m, p)
  236. +                    p = "pm"
  237. +                    h = h + 12            
  238. +                    if h == 24:
  239. +                        h = 12
  240. +            new_alarm = AlarmItem(name, repeat, h, m)
  241.              self.emit('add-alarm', new_alarm)
  242.              self.destroy()
  243.          else:
  244. --
  245. 1.7.9.5
Add Comment
Please, Sign In to add comment