"""vcard import / export:organization: Logilab:copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved.:contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr"""__docformat__="restructuredtext en"fromcubicweb.selectorsimportimplementsfromcubicweb.viewimportEntityView_=unicodeVCARD_PHONE_TYPES={'home':'HOME','office':'WORK','mobile':'CELL','fax':'FAX'}classVCardEUserView(EntityView):"""export a person information as a vcard"""id='vcard'title=_('vcard')templatable=Falsecontent_type='text/x-vcard'__select__=implements('EUser')defset_request_content_type(self):"""overriden to set a .vcf filename"""self.req.set_content_type(self.content_type,filename='vcard.vcf')defcell_call(self,row,col):self.vcard_header()self.vcard_content(self.complete_entity(row,col))self.vcard_footer()defvcard_header(self):self.w(u'BEGIN:vcard\n')self.w(u'VERSION:3.0\n')defvcard_footer(self):self.w(u'NOTE:this card has been generated by CubicWeb\n')self.w(u'END:vcard\n')defvcard_content(self,entity):who=u'%s%s'%(entity.surnameor'',entity.firstnameor'')w=self.ww(u'FN:%s\n'%who)w(u'N:%s;;;;\n'%entity.login)w(u'TITLE:%s\n'%who)foremailinentity.use_email:w(u'EMAIL;TYPE=INTERNET:%s\n'%email.address)fromlogilab.common.deprecationimportclass_renamedVCardEuserView=class_renamed('VCardEuserView',VCardEUserView)