rename ICap to Cap (closes #1424)
This commit is contained in:
parent
51958135cb
commit
e025fb0b20
244 changed files with 679 additions and 679 deletions
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.capabilities.recipe import ICapRecipe, Recipe
|
||||
from weboob.capabilities.recipe import CapRecipe, Recipe
|
||||
from weboob.tools.backend import BaseBackend
|
||||
|
||||
from .browser import SevenFiftyGramsBrowser
|
||||
|
|
@ -30,7 +30,7 @@ def strip_accents(s):
|
|||
__all__ = ['SevenFiftyGramsBackend']
|
||||
|
||||
|
||||
class SevenFiftyGramsBackend(BaseBackend, ICapRecipe):
|
||||
class SevenFiftyGramsBackend(BaseBackend, CapRecipe):
|
||||
NAME = '750g'
|
||||
MAINTAINER = u'Julien Veyssier'
|
||||
EMAIL = 'julien.veyssier@aiur.fr'
|
||||
|
|
|
|||
|
|
@ -21,14 +21,14 @@
|
|||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.ordereddict import OrderedDict
|
||||
from weboob.tools.value import Value
|
||||
from weboob.capabilities.job import ICapJob
|
||||
from weboob.capabilities.job import CapJob
|
||||
from .browser import AdeccoBrowser
|
||||
from .job import AdeccoJobAdvert
|
||||
|
||||
__all__ = ['AdeccoBackend']
|
||||
|
||||
|
||||
class AdeccoBackend(BaseBackend, ICapJob):
|
||||
class AdeccoBackend(BaseBackend, CapJob):
|
||||
NAME = 'adecco'
|
||||
DESCRIPTION = u'adecco website'
|
||||
MAINTAINER = u'Bezleputh'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.capabilities.cinema import ICapCinema, Person, Movie
|
||||
from weboob.capabilities.cinema import CapCinema, Person, Movie
|
||||
from weboob.tools.backend import BaseBackend
|
||||
|
||||
from .browser import AllocineBrowser
|
||||
|
|
@ -27,7 +27,7 @@ from urllib import quote_plus
|
|||
__all__ = ['AllocineBackend']
|
||||
|
||||
|
||||
class AllocineBackend(BaseBackend, ICapCinema):
|
||||
class AllocineBackend(BaseBackend, CapCinema):
|
||||
NAME = 'allocine'
|
||||
MAINTAINER = u'Julien Veyssier'
|
||||
EMAIL = 'julien.veyssier@aiur.fr'
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ from .browser import AlloRestoBrowser
|
|||
__all__ = ['AlloRestoBackend']
|
||||
|
||||
|
||||
class AlloRestoBackend(BaseBackend, ICapBank):
|
||||
class AlloRestoBackend(BaseBackend, CapBank):
|
||||
NAME = 'alloresto'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.capabilities.recipe import ICapRecipe, Recipe
|
||||
from weboob.capabilities.recipe import CapRecipe, Recipe
|
||||
from weboob.tools.backend import BaseBackend
|
||||
|
||||
from .browser import AllrecipesBrowser
|
||||
|
|
@ -27,7 +27,7 @@ from urllib import quote_plus
|
|||
__all__ = ['AllrecipesBackend']
|
||||
|
||||
|
||||
class AllrecipesBackend(BaseBackend, ICapRecipe):
|
||||
class AllrecipesBackend(BaseBackend, CapRecipe):
|
||||
NAME = 'allrecipes'
|
||||
MAINTAINER = u'Julien Veyssier'
|
||||
EMAIL = 'julien.veyssier@aiur.fr'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import urllib
|
||||
from weboob.capabilities.bill import ICapBill, SubscriptionNotFound, BillNotFound, Subscription, Bill
|
||||
from weboob.capabilities.bill import CapBill, SubscriptionNotFound, BillNotFound, Subscription, Bill
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
from .browser import AmeliBrowser
|
||||
|
|
@ -26,7 +26,7 @@ from .browser import AmeliBrowser
|
|||
__all__ = ['AmeliBackend']
|
||||
|
||||
|
||||
class AmeliBackend(BaseBackend, ICapBill):
|
||||
class AmeliBackend(BaseBackend, CapBill):
|
||||
NAME = 'ameli'
|
||||
DESCRIPTION = u'Ameli website: French Health Insurance'
|
||||
MAINTAINER = u'Christophe Lampin'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import urllib
|
||||
from weboob.capabilities.bill import ICapBill, SubscriptionNotFound, BillNotFound, Subscription, Bill
|
||||
from weboob.capabilities.bill import CapBill, SubscriptionNotFound, BillNotFound, Subscription, Bill
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
from .browser import AmeliProBrowser
|
||||
|
|
@ -26,7 +26,7 @@ from .browser import AmeliProBrowser
|
|||
__all__ = ['AmeliProBackend']
|
||||
|
||||
|
||||
class AmeliProBackend(BaseBackend, ICapBill):
|
||||
class AmeliProBackend(BaseBackend, CapBill):
|
||||
NAME = 'amelipro'
|
||||
DESCRIPTION = u'Ameli website: French Health Insurance for Professionals'
|
||||
MAINTAINER = u'Christophe Lampin'
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ from .browser import AmericanExpressBrowser
|
|||
__all__ = ['AmericanExpressBackend']
|
||||
|
||||
|
||||
class AmericanExpressBackend(BaseBackend, ICapBank):
|
||||
class AmericanExpressBackend(BaseBackend, CapBank):
|
||||
NAME = 'americanexpress'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.capabilities.job import ICapJob
|
||||
from weboob.capabilities.job import CapJob
|
||||
from weboob.tools.ordereddict import OrderedDict
|
||||
from weboob.tools.value import Value
|
||||
from .browser import ApecBrowser
|
||||
|
|
@ -28,7 +28,7 @@ from .job import ApecJobAdvert
|
|||
__all__ = ['ApecBackend']
|
||||
|
||||
|
||||
class ApecBackend(BaseBackend, ICapJob):
|
||||
class ApecBackend(BaseBackend, CapJob):
|
||||
NAME = 'apec'
|
||||
DESCRIPTION = u'apec website'
|
||||
MAINTAINER = u'Bezleputh'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.capabilities.bank import ICapBank
|
||||
from weboob.capabilities.bank import CapBank
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ from .browser import ApivieBrowser
|
|||
__all__ = ['ApivieBackend']
|
||||
|
||||
|
||||
class ApivieBackend(BaseBackend, ICapBank):
|
||||
class ApivieBackend(BaseBackend, CapBank):
|
||||
NAME = 'apivie'
|
||||
DESCRIPTION = u'Apivie'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.capabilities.video import ICapVideo, BaseVideo
|
||||
from weboob.capabilities.collection import ICapCollection, CollectionNotFound
|
||||
from weboob.capabilities.video import CapVideo, BaseVideo
|
||||
from weboob.capabilities.collection import CapCollection, CollectionNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ from .video import ArretSurImagesVideo
|
|||
__all__ = ['ArretSurImagesBackend']
|
||||
|
||||
|
||||
class ArretSurImagesBackend(BaseBackend, ICapVideo, ICapCollection):
|
||||
class ArretSurImagesBackend(BaseBackend, CapVideo, CapCollection):
|
||||
NAME = 'arretsurimages'
|
||||
DESCRIPTION = u'arretsurimages website'
|
||||
MAINTAINER = u'franek'
|
||||
|
|
@ -43,7 +43,7 @@ class ArretSurImagesBackend(BaseBackend, ICapVideo, ICapCollection):
|
|||
def create_default_browser(self):
|
||||
return self.create_browser(self.config['login'].get(), self.config['password'].get())
|
||||
|
||||
def search_videos(self, pattern, sortby=ICapVideo.SEARCH_RELEVANCE, nsfw=False):
|
||||
def search_videos(self, pattern, sortby=CapVideo.SEARCH_RELEVANCE, nsfw=False):
|
||||
with self.browser:
|
||||
return self.browser.search_videos(pattern)
|
||||
# raise UserError('Search does not work on ASI website, use ls latest command')
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
import re
|
||||
|
||||
from weboob.capabilities.video import ICapVideo, BaseVideo
|
||||
from weboob.capabilities.collection import ICapCollection, CollectionNotFound, Collection
|
||||
from weboob.capabilities.video import CapVideo, BaseVideo
|
||||
from weboob.capabilities.collection import CapCollection, CollectionNotFound, Collection
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import Value
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ from .video import ArteVideo, ArteLiveVideo
|
|||
__all__ = ['ArteBackend']
|
||||
|
||||
|
||||
class ArteBackend(BaseBackend, ICapVideo, ICapCollection):
|
||||
class ArteBackend(BaseBackend, CapVideo, CapCollection):
|
||||
NAME = 'arte'
|
||||
MAINTAINER = u'Bezleputh'
|
||||
EMAIL = 'carton_ben@yahoo.fr'
|
||||
|
|
@ -95,7 +95,7 @@ class ArteBackend(BaseBackend, ICapVideo, ICapCollection):
|
|||
else:
|
||||
return self.browser.get_video(_id)
|
||||
|
||||
def search_videos(self, pattern, sortby=ICapVideo.SEARCH_RELEVANCE, nsfw=False):
|
||||
def search_videos(self, pattern, sortby=CapVideo.SEARCH_RELEVANCE, nsfw=False):
|
||||
with self.browser:
|
||||
return self.browser.search_videos(pattern)
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from weboob.capabilities.subtitle import ICapSubtitle, LanguageNotSupported
|
||||
from weboob.capabilities.subtitle import CapSubtitle, LanguageNotSupported
|
||||
from weboob.tools.backend import BaseBackend
|
||||
|
||||
from .browser import AttilasubBrowser
|
||||
|
|
@ -27,7 +27,7 @@ from urllib import quote_plus
|
|||
__all__ = ['AttilasubBackend']
|
||||
|
||||
|
||||
class AttilasubBackend(BaseBackend, ICapSubtitle):
|
||||
class AttilasubBackend(BaseBackend, CapSubtitle):
|
||||
NAME = 'attilasub'
|
||||
MAINTAINER = u'Julien Veyssier'
|
||||
EMAIL = 'julien.veyssier@aiur.fr'
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.capabilities.radio import ICapRadio, Radio
|
||||
from weboob.capabilities.radio import CapRadio, Radio
|
||||
from weboob.capabilities.audiostream import BaseAudioStream
|
||||
from weboob.tools.capabilities.streaminfo import StreamInfo
|
||||
from weboob.capabilities.collection import ICapCollection, Collection
|
||||
from weboob.capabilities.collection import CapCollection, Collection
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import Value
|
||||
from weboob.tools.browser import StandardBrowser
|
||||
|
|
@ -38,7 +38,7 @@ __all__ = ['AudioAddictBackend']
|
|||
# option to another player in the ~/.config/weboob/radioob config file:
|
||||
# [ROOT]
|
||||
# media_player = your_non_mplayer_player
|
||||
class AudioAddictBackend(BaseBackend, ICapRadio, ICapCollection):
|
||||
class AudioAddictBackend(BaseBackend, CapRadio, CapCollection):
|
||||
NAME = 'audioaddict'
|
||||
MAINTAINER = u'Pierre Mazière'
|
||||
EMAIL = 'pierre.maziere@gmx.com'
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@ from dateutil import tz
|
|||
from dateutil.parser import parse as _parse_dt
|
||||
|
||||
from weboob.capabilities.base import NotLoaded
|
||||
from weboob.capabilities.chat import ICapChat
|
||||
from weboob.capabilities.messages import ICapMessages, ICapMessagesPost, Message, Thread
|
||||
from weboob.capabilities.dating import ICapDating, OptimizationNotFound, Event
|
||||
from weboob.capabilities.contact import ICapContact, ContactPhoto, Query, QueryError
|
||||
from weboob.capabilities.account import ICapAccount, StatusField
|
||||
from weboob.capabilities.chat import CapChat
|
||||
from weboob.capabilities.messages import CapMessages, CapMessagesPost, Message, Thread
|
||||
from weboob.capabilities.dating import CapDating, OptimizationNotFound, Event
|
||||
from weboob.capabilities.contact import CapContact, ContactPhoto, Query, QueryError
|
||||
from weboob.capabilities.account import CapAccount, StatusField
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.browser import BrowserUnavailable, BrowserHTTPNotFound
|
||||
from weboob.tools.value import Value, ValuesDict, ValueBool, ValueBackendPassword
|
||||
|
|
@ -56,7 +56,7 @@ def parse_dt(s):
|
|||
return local2utc(d)
|
||||
|
||||
|
||||
class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapChat, ICapContact, ICapAccount):
|
||||
class AuMBackend(BaseBackend, CapMessages, CapMessagesPost, CapDating, CapChat, CapContact, CapAccount):
|
||||
NAME = 'aum'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
@ -96,7 +96,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
|
|||
# Do not report fakes to website, to let them to other guys :)
|
||||
#self.browser.report_fake(id)
|
||||
|
||||
# ---- ICapDating methods ---------------------
|
||||
# ---- CapDating methods ---------------------
|
||||
|
||||
def init_optimizations(self):
|
||||
self.add_optimization('PROFILE_WALKER', ProfilesWalker(self.weboob.scheduler, self.storage, self.browser))
|
||||
|
|
@ -126,7 +126,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
|
|||
e.message = message % e.contact.name
|
||||
yield e
|
||||
|
||||
# ---- ICapMessages methods ---------------------
|
||||
# ---- CapMessages methods ---------------------
|
||||
|
||||
def fill_thread(self, thread, fields):
|
||||
return self.get_thread(thread)
|
||||
|
|
@ -334,13 +334,13 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
|
|||
slut['status'] = slut.get('status', None)
|
||||
return slut
|
||||
|
||||
# ---- ICapMessagesPost methods ---------------------
|
||||
# ---- CapMessagesPost methods ---------------------
|
||||
|
||||
def post_message(self, message):
|
||||
with self.browser:
|
||||
self.browser.post_mail(message.thread.id, message.content)
|
||||
|
||||
# ---- ICapContact methods ---------------------
|
||||
# ---- CapContact methods ---------------------
|
||||
|
||||
def fill_contact(self, contact, fields):
|
||||
if 'profile' in fields:
|
||||
|
|
@ -451,7 +451,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
|
|||
self.storage.set('notes', id, notes)
|
||||
self.storage.save()
|
||||
|
||||
# ---- ICapChat methods ---------------------
|
||||
# ---- CapChat methods ---------------------
|
||||
|
||||
def iter_chat_messages(self, _id=None):
|
||||
with self.browser:
|
||||
|
|
@ -464,7 +464,7 @@ class AuMBackend(BaseBackend, ICapMessages, ICapMessagesPost, ICapDating, ICapCh
|
|||
#def start_chat_polling(self):
|
||||
#self._profile_walker = ProfilesWalker(self.weboob.scheduler, self.storage, self.browser)
|
||||
|
||||
# ---- ICapAccount methods ---------------------
|
||||
# ---- CapAccount methods ---------------------
|
||||
|
||||
ACCOUNT_REGISTER_PROPERTIES = ValuesDict(
|
||||
Value('username', label='Email address', regexp='^[^ ]+@[^ ]+\.[^ ]+$'),
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ from .browser import AXABanque
|
|||
__all__ = ['AXABanqueBackend']
|
||||
|
||||
|
||||
class AXABanqueBackend(BaseBackend, ICapBank):
|
||||
class AXABanqueBackend(BaseBackend, CapBank):
|
||||
NAME = 'axabanque'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
from weboob.capabilities.base import find_object
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ from .browser import BanqueAccordBrowser
|
|||
__all__ = ['BanqueAccordBackend']
|
||||
|
||||
|
||||
class BanqueAccordBackend(BaseBackend, ICapBank):
|
||||
class BanqueAccordBackend(BaseBackend, CapBank):
|
||||
NAME = 'banqueaccord'
|
||||
DESCRIPTION = u'Banque Accord'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.ordereddict import OrderedDict
|
||||
from weboob.tools.value import ValueBackendPassword, Value
|
||||
|
|
@ -29,7 +29,7 @@ from .browser import BanquePopulaire
|
|||
__all__ = ['BanquePopulaireBackend']
|
||||
|
||||
|
||||
class BanquePopulaireBackend(BaseBackend, ICapBank):
|
||||
class BanquePopulaireBackend(BaseBackend, CapBank):
|
||||
NAME = 'banquepopulaire'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.capabilities.bank import ICapBank, AccountNotFound
|
||||
from weboob.capabilities.bank import CapBank, AccountNotFound
|
||||
from weboob.tools.backend import BaseBackend, BackendConfig
|
||||
from weboob.tools.value import ValueBackendPassword
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ from .browser import Barclays
|
|||
__all__ = ['BarclaysBackend']
|
||||
|
||||
|
||||
class BarclaysBackend(BaseBackend, ICapBank):
|
||||
class BarclaysBackend(BaseBackend, CapBank):
|
||||
NAME = 'barclays'
|
||||
MAINTAINER = u'Romain Bignon'
|
||||
EMAIL = 'romain@weboob.org'
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
|
||||
from weboob.tools.backend import BaseBackend
|
||||
from weboob.capabilities.calendar import ICapCalendarEvent, CATEGORIES
|
||||
from weboob.capabilities.calendar import CapCalendarEvent, CATEGORIES
|
||||
import itertools
|
||||
|
||||
from .browser import BiplanBrowser
|
||||
|
|
@ -28,7 +28,7 @@ from.calendar import BiplanCalendarEvent
|
|||
__all__ = ['BiplanBackend']
|
||||
|
||||
|
||||
class BiplanBackend(BaseBackend, ICapCalendarEvent):
|
||||
class BiplanBackend(BaseBackend, CapCalendarEvent):
|
||||
NAME = 'biplan'
|
||||
DESCRIPTION = u'lebiplan.org website'
|
||||
MAINTAINER = u'Bezleputh'
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue