Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
megadose
GitHub Repository: megadose/holehe-maltego
Path: blob/master/__pycache__/MaltegoTransform.cpython-38.pyc
329 views
U

<�`s�@s~ddlZddlmZdZdZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZGd
d�de�ZGdd�de�ZGdd�d�ZdS)�N)�minidomz-1�0�1�2�3�4Z
FatalErrorZPartialError�InformZDebugc@s�eZdZdZdZgZgZdZdZd#dd�Z	d$dd�Z
d%d	d
�Zd&dd�Zd'dd�Z
d(dd�Zd)dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�ZdS)*�
MaltegoEntity��dZPhraseNcCs>|dk	r||_|dk	r||_d|_g|_d|_g|_d|_dS)Nrr
)�
entityType�value�additionalFields�weight�displayInformation�iconURL)�self�eT�v�r�6/home/neptune/Osint/holehe-maltego/MaltegoTransform.py�__init__#szMaltegoEntity.__init__cCs|dk	r||_dS�N)r)rrrrr�setType.szMaltegoEntity.setTypecCs|dk	r||_dSr)r
)rZeVrrr�setValue2szMaltegoEntity.setValuecCs|dk	r||_dSr)r)r�wrrr�	setWeight6szMaltegoEntity.setWeight�InfocCs|dk	r|j�||g�dSr)r�append)rZdiZdlrrr�addDisplayInformation:sz#MaltegoEntity.addDisplayInformationFcCs|j�||||g�dSr)rr)rZ	fieldNameZdisplayNameZmatchingRuler
rrr�addProperty>szMaltegoEntity.addPropertycCs|dk	r||_dSr)r)rZiUrrr�
setIconURLAszMaltegoEntity.setIconURLcCs|�ddd|�dS)Nzlink#maltego.link.colorZ	LinkColorr
�r )rZcolorrrr�setLinkColorEszMaltegoEntity.setLinkColorcCs|�ddd|�dS)Nzlink#maltego.link.styleZ	LinkStyler
r")rZstylerrr�setLinkStyleHszMaltegoEntity.setLinkStylecCs|�dddt|��dS)Nzlink#maltego.link.thicknessZ	Thicknessr
)r �str)rZthickrrr�setLinkThicknessKszMaltegoEntity.setLinkThicknesscCs|�ddd|�dS)Nzlink#maltego.link.labelZLabelr
r")rZlabelrrr�setLinkLabelNszMaltegoEntity.setLinkLabelcCs|�ddd|�dS)Nz	bookmark#ZBookmarkr
r")rZbookmarkrrr�setBookmarkQszMaltegoEntity.setBookmarkcCs|�ddd|�dS)Nznotes#ZNotesr
r")rZnoterrr�setNoteTszMaltegoEntity.setNotecCs�d}|dt|j�d7}|dt|j�d7}|dt|j�d7}t|j�dkr�|d	7}tt|j��D]4}|d
|j|ddt|j|d�d
7}qj|d7}t|j�dk�r�|d7}tt|j��D]�}t|j|d�dk�r6|dt|j|d�dt|j|d�dt|j|d�d7}q�|dt|j|d�dt|j|d�dt|j|d�dt|j|d�d7}q�|d7}t|j�dk�r�|d|jd7}|d7}|S)Nr
z<Entity Type="�">z<Value>z</Value>z<Weight>z	</Weight>rz<DisplayInformation>z
<Label Name="z" Type="text/html"><![CDATA[�z]]></Label>z</DisplayInformation>z<AdditionalFields>��strictz
<Field Name="z" DisplayName="�z</Field>z<Field MatchingRule="z" Name="z</AdditionalFields>z	<IconURL>z
</IconURL>z	</Entity>)	r%rr
r�lenr�rangerr�r�r�irrr�returnEntityWs(2LbzMaltegoEntity.returnEntity)NN)N)N)N)Nr)NNFN)N)�__name__�
__module__�__qualname__r
rrrrrrrrrrr r!r#r$r&r'r(r)r4rrrrr	s(






r	c@sLeZdZgZgZgZdd�Zddd�Zddd�Zd	d
�Z	dd�Z
d
d�ZdS)�MaltegoTransformcCsg|_g|_g|_d}dSr)�entities�
exceptions�
UIMessages)rrrrrwszMaltegoTransform.__init__NcCst||�}|j�|�|Sr)r	r9r)rZenTypeZenValue�merrr�	addEntity}s
zMaltegoTransform.addEntityrcCs|j�||g�dSr)r;r)r�messageZmessageTyperrr�addUIMessage�szMaltegoTransform.addUIMessagecCs|j�|�dSr)r:r)rZexceptionStringrrr�addException�szMaltegoTransform.addExceptioncCsbd}|d7}|d7}|d7}tt|j��D]}|d|j|d7}q*|d7}|d7}|d7}|S)	Nr
�<MaltegoMessage>z"<MaltegoTransformExceptionMessage>z<Exceptions>z<Exception>z
</Exceptions>z#</MaltegoTransformExceptionMessage>�</MaltegoMessage>)r0r/r:r1rrr�throwExceptions�sz MaltegoTransform.throwExceptionscCs�d}|d7}|d7}|d7}tt|j��D]}||j|��7}q*|d7}|d7}tt|j��D]0}|d|j|dd	|j|d
d7}q`|d7}|d
7}|d7}|S)Nr
rAz!<MaltegoTransformResponseMessage>z
<Entities>z</Entities>z<UIMessages>z<UIMessage MessageType="rr*r+z</UIMessage>z
</UIMessages>z"</MaltegoTransformResponseMessage>rB)r0r/r9r4r;r1rrr�returnOutput�s.zMaltegoTransform.returnOutput)NN)r)r5r6r7r9r:r;rr=r?r@rCrDrrrrr8os


r8c@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�
MaltegoMsgr
cCst�|�}|�|d�|_|�|d�|_t|�|dd��|_|�|dd�|_i}zF|�	d�d}|�	d	�}|D]$}|j
d
j}|�|j
�}|||<qlWnd}	YnXi}
zF|�	d�d}|�	d	�}|D]$}|j
d
j}|�|j
�}
|
|
|<q�Wnd}	YnX||_|
|_dS)
N�Value�WeightZLimitsZ	SoftLimitZEntity�TypeZAdditionalFieldsrZField�Namer+ZTransformFields)rZparseString�i_getNodeValuerFrG�int�i_getNodeAttributeValueZSliderrH�getElementsByTagName�
attributesr
�	i_getText�
childNodes�
Properties�TransformSettings)rZ
MaltegoXMLZxmldocrQZAFNodesZSettings�nodeZAFNameZAFValueZdontcarerRZTSNodesZTSNameZTSValuerrrr�s6




zMaltegoMsg.__init__cCs0g}|D]}|j|jkr|�|j�qd�|�S)Nr
)ZnodeTypeZ	TEXT_NODEr�data�join)rZnodelistZrcrSrrrrO�s
zMaltegoMsg.i_getTextcCs|�|�|�dj�S�Nr)rOrMrP)rrS�TagrrrrJ�szMaltegoMsg.i_getNodeValuecCs|�|�dj|jSrV)rMrNr
)rrSrW�	AttributerrrrL�sz"MaltegoMsg.i_getNodeAttributeValuecCs ||j��kr|j|SdSdSr)rQ�keys�rZskeyrrr�getProperty�s
zMaltegoMsg.getPropertycCs ||j��kr|j|SdSdSr)rRrYrZrrr�getTransformSetting�s
zMaltegoMsg.getTransformSettingN)r
)	r5r6r7rrOrJrLr[r\rrrrrE�s
'rE)�sysZxml.domrZBOOKMARK_COLOR_NONEZBOOKMARK_COLOR_BLUEZBOOKMARK_COLOR_GREENZBOOKMARK_COLOR_YELLOWZBOOKMARK_COLOR_ORANGEZBOOKMARK_COLOR_REDZLINK_STYLE_NORMALZLINK_STYLE_DASHEDZLINK_STYLE_DOTTEDZLINK_STYLE_DASHDOTZ	UIM_FATALZUIM_PARTIALZ
UIM_INFORMZ	UIM_DEBUG�objectr	r8rErrrr�<module>s$T7