diff options
author | JP Rosevear <jpr@src.gnome.org> | 2003-11-19 00:33:30 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-11-19 00:33:30 +0800 |
commit | 58f1b46675ef29528f51e5c44fe0e087bda5d82d (patch) | |
tree | 725648cf84182762d9dc2ac5846b233203411d59 /libical/src/python/Property.py | |
parent | b47685534d7e5738d712962334537bb329831b9e (diff) | |
download | gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.gz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.bz2 gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.lz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.xz gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.tar.zst gsoc2013-evolution-58f1b46675ef29528f51e5c44fe0e087bda5d82d.zip |
Remove libical from this tree, it resides in e-d-s now.
svn path=/trunk/; revision=23417
Diffstat (limited to 'libical/src/python/Property.py')
-rw-r--r-- | libical/src/python/Property.py | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/libical/src/python/Property.py b/libical/src/python/Property.py deleted file mode 100644 index 80c5864855..0000000000 --- a/libical/src/python/Property.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/env python -# -*- Mode: python -*- -#====================================================================== -# FILE: Property.py -# CREATOR: eric -# -# DESCRIPTION: -# -# -# $Id$ -# $Locker$ -# -# (C) COPYRIGHT 2001, Eric Busboom <eric@softwarestudio.org> -# (C) COPYRIGHT 2001, Patrick Lewis <plewis@inetarena.com> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of either: -# -# The LGPL as published by the Free Software Foundation, version -# 2.1, available at: http://www.fsf.org/copyleft/lesser.html -# -# Or: -# -# The Mozilla Public License Version 1.0. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -#====================================================================== - -from LibicalWrap import * -import re -import base64 -from string import index, upper, split -from types import StringType - -#def icalerror_supress(arg): -# pass - -#def icalerror_restore(a,b): -# pass - -def error_type(): - error = icalerror_perror() - return error[:index(error,':')] - -def test_enum(prop,enum): - - kind = icalproperty_string_to_kind(prop) - e = icalproperty_string_to_enum(enum) - - t = icalproperty_enum_belongs_to_property(kind,e) - - if t == 1: - return 1 - - return None - - -class Property: - """ Represent any iCalendar Property. - - Usage: - Property(dict) - - Where: - dict is a dictionary with keys of 'name', 'value_type', and 'value'. - In addition, parameter:parameter value entries may be included. - """ - - class ConstructorFailedError(Exception): - "Failed to construct a property" - - class UpdateFailedError(Exception): - "Failed to update the value of a property" - - - def __init__(self, type = None, ref = None): - - - assert(ref == None or isinstance(ref,StringType)) - assert(type == None or isinstance(type,StringType)) - - self._ref = None - - if ref != None: - self._ref = ref - elif type != None: - kind = icalproperty_string_to_kind(type) - self._ref = icalproperty_new(kind) - - if type.find("X-") == 0: - icalproperty_set_x_name(self._ref, type) - - if self._ref == None or self._ref == 'NULL': - raise Property.ConstructorFailedError("Failed to construct Property") - - self._deleted = 0; - - - # Initialize all of the required keys - - - def __del__(self): - - self._deleted = 1; - - if not self._deleted and \ - self.ref() and \ - icalproperty_get_parent(self.ref()) == 'NULL': - - icalproperty_free(self.ref()) - - def name(self,v=None): - """ Return the name of the property """ - return icalproperty_get_name(self._ref) - - def ref(self,v=None): - """ Return the internal reference to the libical icalproperty """ - if(v != None): - - if not self._deleted and self._ref and \ - icalproperty_get_parent(self._ref) == 'NULL': - - icalproperty_free(self._ref) - - self._ref = v - - return self._ref - - - def value(self,v=None, kind = None): - """ Return the RFC2445 representation of the value """ - - if(v != None): - - if kind != None: - # Get the default kind of value for this property - default_kind = icalvalue_kind_to_string(icalproperty_kind_to_value_kind(icalproperty_string_to_kind(self.name()))) - - if(kind != default_kind): - self.__setitem__('VALUE',kind) - vt = kind - elif self.__getitem__('VALUE'): - vt = self.__getitem__('VALUE') - print "###########", self - else: - vt = 'NO' # Use the kind of the existing value - - - icalerror_clear_errno() - - #e1=icalerror_supress("MALFORMEDDATA") - if (self.name().find("X-") == 0) and type(v) is StringType: - v = icallangbind_quote_as_ical(v) - v = icallangbind_quote_as_ical(v) - - icalproperty_set_value_from_string(self._ref,str(v),vt) - #icalerror_restore("MALFORMEDDATA",e1) - - if error_type() != "NO": - raise Property.UpdateFailedError(error_type()) - - s = icalproperty_get_value_as_string(self._ref) - - return icalproperty_get_value_as_string(self._ref) - - def parameters(self): - """ - Return a list of parameters - """ - - params = [] - - p = icallangbind_get_first_parameter(self._ref) - - while p != None: - kv = split(icalparameter_as_ical_string(p),'=',2) - params.append(kv[0]) - p = icallangbind_get_next_parameter(self._ref) - - return params - - def as_ical_string(self): - "Return the property in iCalendar text format." - return icalproperty_as_ical_string(self._ref) - - def __getitem__(self,key): - """ Return property values by name """ - key = upper(key) - str = icalproperty_get_parameter_as_string(self._ref,key) - - if(str == 'NULL'): return None - - return str - - def __setitem__(self,key,value): - """ Set Property Values by Name """ - key = upper(key) - - icalproperty_set_parameter_from_string(self._ref,key,value) - - return self.__getitem__(key) - - def __delitem__(self,key): - """ Remove Property Values by Name """ - key = upper(key) - - if self.__getitem__(key): - icalproperty_remove_parameter_by_name(self._ref,key) - - def __str__(self): - - str = self.as_ical_string() - return re.sub('\r?\n ?','',str) - - def __cmp__(self, other): - s_str = str(self) - o_str = str(other) - - return cmp(s_str,o_str) - - -class RecurrenceSet: - """ - Represents a set of event occurrences. This - class controls a component's RRULE, EXRULE, RDATE and EXDATE - properties and can produce from them a set of occurrences. - """ - - def __init__(self): - pass - - def include(self, **params): - """ - Include a date or rule to the set. - - Use date= or pass in a - Time instance to include a date. Included dates will add an - RDATE property or will remove an EXDATE property of the same - date. - - Use rule= or pass in a string to include a rule. Included - rules with either add a RRULE property or remove an EXRULE - property. - - """ - pass - - def exclude(self, **params): - """ - Exclude date or rule to the set. - - Use date= or pass in a Time instance to exclude a - date. Excluded dates will add an EXDATE property or will remove - an RDATE property of the same date. - - Use rule= or pass in a string to exclude a rule. Excluded - rules with either add an EXRULE property or remove an RRULE - property. - - """ - pass - - def occurrences(self, count=None): - """ - Return 'count' occurrences as a tuple of Time instances. - """ - pass - - |