Пример #1
0
    def get_params(self):
        """
        >>> rule = Rule(params = "count:1;bysecond:1;byminute:1,2,4,5")
        >>> rule.get_params()
        {'count': 1, 'byminute': [1, 2, 4, 5], 'bysecond': 1}
        """
        params = self.params.split(';')
        param_dict = []
        for param in params:
            param = param.split(':')
            if len(param) != 2:
                continue

            param = (
                str(param[0]).lower(),
                [
                    x for x in
                    [self._weekday_or_number(v) for v in param[1].split(',')]
                    if x is not None
                ],
            )

            if len(param[1]) == 1:
                param_value = self._weekday_or_number(param[1][0])
                param = (param[0], param_value)
            param_dict.append(param)
        return dict(param_dict)
Пример #2
0
    def get_params(self):
        """
        >>> rule = Rule(params = "count:1;bysecond:1;byminute:1,2,4,5")
        >>> rule.get_params()
        {'count': 1, 'byminute': [1, 2, 4, 5], 'bysecond': 1}
        """
        params = self.params.split(';')
        param_dict = []
        for param in params:
            param = param.split(':')
            if len(param) != 2:
                continue

            param = (
                str(param[0]).lower(),
                [x for x in
                 [self._weekday_or_number(v) for v in param[1].split(',')]
                 if x is not None],
            )

            if len(param[1]) == 1:
                param_value = self._weekday_or_number(param[1][0])
                param = (param[0], param_value)
            param_dict.append(param)
        return dict(param_dict)
Пример #3
0
 def _weekday_or_number(self, param):
     '''
     Receives a rrule parameter value, returns a upper case version
     of the value if its a weekday or an integer if its a number
     '''
     try:
         return int(param)
     except (TypeError, ValueError):
         uparam = str(param).upper()
         if uparam in Rule._week_days:
             return Rule._week_days[uparam]
Пример #4
0
 def _weekday_or_number(self, param):
     '''
     Receives a rrule parameter value, returns a upper case version
     of the value if its a weekday or an integer if its a number
     '''
     try:
         return int(param)
     except (TypeError, ValueError):
         uparam = str(param).upper()
         if uparam in Rule._week_days:
             return Rule._week_days[uparam]
Пример #5
0
 def get_params(self):
     if self.params is None:
         return {}
     params = self.params.split(';')
     param_dict = []
     for param in params:
         param = param.split(':')
         if len(param) == 2:
             param = (str(param[0]), [int(p) for p in param[1].split(',')])
             if len(param[1]) == 1:
                 param = (param[0], param[1][0])
             param_dict.append(param)
     return dict(param_dict)
Пример #6
0
 def get_params(self):
     """
     >>> rule = Rule(params = "count:1;bysecond:1;byminute:1,2,4,5")
     >>> rule.get_params()
     {'count': [1], 'byminute': [1, 2, 4, 5], 'bysecond': [1]}
     """
     if self.params is None:
         return {}
     params = self.params.split(';')
     param_dict = defaultdict(list)
     for param in params:
         param = param.split(':')
         if len(param) == 2:
             param = dict([(str(param[0]), [int(p) for p in param[1].split(',')])])
             param_dict.update(param)
     return param_dict
Пример #7
0
    def get_or_create_calendar_for_object(self,
                                          obj,
                                          distinction=None,
                                          name=None):

        try:
            return self.get_calendar_for_object(obj, distinction)
        except Calendar.DoesNotExist:
            if name is None:
                calendar = Calendar(name=str(obj))
            else:
                calendar = Calendar(name=name)
            calendar.slug = slugify(calendar.name)
            calendar.save()
            calendar.create_relation(obj, distinction)
            return calendar
 def get_params(self):
     """
     >>> rule = Rule(params = "count:1;bysecond:1;byminute:1,2,4,5")
     >>> rule.get_params()
     {'count': 1, 'byminute': [1, 2, 4, 5], 'bysecond': 1}
     """
     if self.params is None:
         return {}
     params = self.params.split(';')
     param_dict = []
     for param in params:
         param = param.split(':')
         if len(param) == 2:
             param = (str(param[0]), [int(p) for p in param[1].split(',')])
             if len(param[1]) == 1:
                 param = (param[0], param[1][0])
             param_dict.append(param)
     return dict(param_dict)
Пример #9
0
 def get_or_create_calendar_for_object(self, obj, distinction='', name=None):
     """
     >>> user = User(username="******")
     >>> user.save()
     >>> calendar = Calendar.objects.get_or_create_calendar_for_object(user, name = "Jeremy's Calendar")
     >>> calendar.name
     "Jeremy's Calendar"
     """
     try:
         return self.get_calendar_for_object(obj, distinction)
     except Calendar.DoesNotExist:
         if name is None:
             calendar = self.model(name=str(obj))
         else:
             calendar = self.model(name=name)
         calendar.slug = slugify(calendar.name)
         calendar.save()
         calendar.create_relation(obj, distinction)
         return calendar
Пример #10
0
 def get_or_create_calendar_for_object(self, obj, distinction=None, name=None):
     """
     >>> user = User(username="******")
     >>> user.save()
     >>> calendar = Calendar.objects.get_or_create_calendar_for_object(user, name = "Jeremy's Calendar")
     >>> calendar.name
     "Jeremy's Calendar"
     """
     try:
         return self.get_calendar_for_object(obj, distinction)
     except Calendar.DoesNotExist:
         if name is None:
             calendar = Calendar(name=str(obj))
         else:
             calendar = Calendar(name=name)
         calendar.slug = slugify(calendar.name)
         calendar.save()
         calendar.create_relation(obj, distinction)
         return calendar
Пример #11
0
 def item_summary(self, item):
     return str(item)
Пример #12
0
 def write_link_construct(self, handler, link):
     if 'length' in link:
         link['length'] = str(link['length'])
     handler.addQuickElement(u'link', None, link)
Пример #13
0
 def item_uid(self, item):
     return str(item.id)
Пример #14
0
 def write_link_construct(self, handler, link):
     if 'length' in link:
         link['length'] = str(link['length'])
     handler.addQuickElement(u'link', None, link)
Пример #15
0
 def item_summary(self, item):
     return str(item)
Пример #16
0
 def item_uid(self, item):
     return str(item.id)