U
    @6^0                     @   s0   d dl Z d dlmZmZmZ G dd deZdS )    N)
SpiderFootSpiderFootPluginSpiderFootEventc                   @   sF   e Zd ZdZi Zi Ze fddZdd Zdd Z	dd	 Z
d
d ZdS )sfp_slideshareziSlideShare:Footprint,Investigate,Passive:Social Media::Gather name and location from SlideShare profiles.c                 C   s:   || _ d| _|  | _t| D ]}|| | j|< q"d S )N
SlideShare)sf__dataSource__tempStorageresultslistkeysopts)selfsfcuserOptsopt r   9/var/www/spiderfoot.crq.systems/modules/sfp_slideshare.pysetup   s
    
zsfp_slideshare.setupc                 C   s   dgS )NZSOCIAL_MEDIAr   r   r   r   r   watchedEvents$   s    zsfp_slideshare.watchedEventsc                 C   s   ddgS )NRAW_RIR_DATAGEOINFOr   r   r   r   r   producedEvents(   s    zsfp_slideshare.producedEventsc                 C   s   t d| d |S )Nz<meta property="z"\s+content="(.+)" />)refindall)r   Zmeta_propertyhtmlr   r   r   extractMeta,   s    zsfp_slideshare.extractMetac              
   C   s  |j }|j}|j}|| jkr d S d| j|< | jd| d |  z0|dd }|dd ddd	d}W nJ tk
r } z,| j	d
| d t
| d d W Y d S d }~X Y nX |dks| jd| d  d S | jj|| jd | jd d}|d d krd S | d|d }	|	s8| j|d  d S tdd|	d  | j|}| | | d|d }
|
std S t|
d dk st|
d dkr| jd d S td|
d | j|}| | d S )NTzReceived event, z, from z: r      z<SFURL> z</SFURL>zUnable to parse SOCIAL_MEDIA: z ()Fr   z!Skipping social network profile, z, as not a SlideShare profile_fetchtimeout
_useragent)timeout	useragentcontentzslideshare:namez" is not a valid SlideShare profiler   zPossible full name: zslideshare:location   d   z!Skipping likely invalid location.r   )	eventTypemoduledatar
   r   debugsplitreplaceBaseExceptionerrorstrfetchUrlr   r   r   __name__notifyListenerslen)r   event	eventNamesrcModuleName	eventDatanetworkurleresZ
human_namelocationr   r   r   handleEvent0   sh    

" 
$zsfp_slideshare.handleEventN)r2   
__module____qualname____doc__r   optdescsdictr   r   r   r   r>   r   r   r   r   r      s   	r   )r   sflibr   r   r   r   r   r   r   r   <module>   s   