3
@6^                 @   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               @   sB   e Zd ZdZi Zi ZdZe fddZdd Z	dd Z
d	d
 ZdS )sfp_myspacezkMySpace:Footprint,Investigate,Passive:Social Media::Gather username and location from MySpace.com profiles.Nc             C   s>   || _ d| _| j | _x"t|j D ]}|| | j|< q$W d S )NzMySpace.com)sf__dataSource__tempStorageresultslistkeysopts)selfsfcuserOptsopt r   6/var/www/spiderfoot.crq.systems/modules/sfp_myspace.pysetup   s
    
zsfp_myspace.setupc             C   s   ddgS )N	EMAILADDRSOCIAL_MEDIAr   )r   r   r   r   watchedEvents&   s    zsfp_myspace.watchedEventsc             C   s   ddgS )Nr   GEOINFOr   )r   r   r   r   producedEvents*   s    zsfp_myspace.producedEventsc          !   C   s  |j }|j}|j}|| jkr d S d| j|< | jjd| d |  |dkrL|}| jjd| | jd | jd d}|d	 d kr| jjd
| d d S t	j
d|d	 }|s| jjd d S |d }yt	j
d| d |t	j}	W n. tk
r
 }
 z| jjd d S d }
~
X nX |	s"| jjd d S |	d }tdd&| d | j|}
| j|
 |dkry0|jdd }|jdd jddjdd}W nD tk
r }
 z&| jjd| d t|
 d d d S d }
~
X nX |dkr| jjd| d   d S | jj|| jd | jd d}|d	 d krd S t	j
d!|d	 }|s8d S |d }t|d"k s\t|d#krl| jjd$ d S td%|| j|}
| j|
 d S )'NTzReceived event, z, from r   z$https://myspace.com/search/people?q=_fetchtimeout
_useragent)timeout	useragentcontentz$Could not fetch MySpace content for Fz'<a href="/[a-zA-Z0-9_]+">[^<]+</a></h6>z#No profiles found with that e-mail.r   z:<a href="\/([a-zA-Z0-9_]+)".*[\&; :"\#\*\("'\;\,\>\.\?\!]+z[\&; :"\#\*\)"'\;\,\<\.\?\!]+z#Malformed e-mail address, skipping.z"No concrete match for that e-mail.r   z	MySpace: z<SFURL>https://myspace.com/z</SFURL>z:    z<SFURL> zUnable to parse SOCIAL_MEDIA: z ()MySpacez!Skipping social network profile, z, as not a MySpace profilez5<div class="location_[^"]+" data-display-text="(.+?)"   d   z!Skipping likely invalid location.r   z$MySpace: <SFURL>https://myspace.com/)	eventTypemoduledatar	   r   debugfetchUrlr   errorrefindall
IGNORECASEBaseExceptionr   __name__notifyListenerssplitreplacestrlen)r   event	eventNamesrcModuleName	eventDataemailresZprofilesZprofilematchesenamenetworkurlr&   locationr   r   r   handleEvent.   st    






"
zsfp_myspace.handleEvent)r.   
__module____qualname____doc__r   optdescsr	   dictr   r   r   r@   r   r   r   r   r      s   	r   )r*   sflibr   r   r   r   r   r   r   r   <module>   s   