XylotrechusZ
�
�Rac @ s� d Z d Z d d l Z d d l Z d d l Z d d l Z d � Z d � Z d � Z d � Z d � Z
d � Z e d
k r� e j
e � � n d S( s� Prints the information in a sln file in a diffable way.
It first outputs each projects in alphabetical order with their
dependencies.
Then it outputs a possible build order.
s nsylvain (Nicolas Sylvain)i����Nc C sM x4 | | D]( } | | k r t | | | | � q q W| GH| j | � d S( N( t BuildProjectt append( t projectt builtt projectst depst dep( ( sh /opt/alt/alt-nodejs6/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_sln.pyR s
c C s= t � } t � } t j d � } t j d � } t j d � } t j d � } t j d � } t } t | � } xP| D]H}
| j |
� } | r| j d � j d � d k r� qv n | j d � j d d
� } | j d � j d d
� | j d � | j d � g | | <g | | <qv n | j |
� } | r;d } qv n | j |
� } | r\t
} qv n | j |
� } | r}t } qv n | j |
� } | rv | rv | rv | | j | j d � � qv qv qv Wxn | D]f }
g } xG | |
D]; } x2 | D]* } | | d | k r�| j | � q�q�Wq�Wt | � | |
<q�W| | f S(
NsN ^Project\("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"\) = "(.*)", "(.*)", "(.*)"$s ^EndProject$s4 ProjectSection\(ProjectDependencies\) = postProject$s EndProjectSection$s *({.*}) = ({.*})$i t icui����t _gypt i i (
t dictt ret compilet Falset opent searcht groupt findt replacet Nonet TrueR t sorted( t
solution_fileR t dependenciest
begin_projectt end_projectt begin_dept end_dept dep_linet in_depst solutiont linet resultst current_projectR t
new_dep_arrayR t project_info( ( sh /opt/alt/alt-nodejs6/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/tools/pretty_sln.pyt
ParseSolution sZ
c C s� d GHd GHd GHd GHxb t | j � � D]N \ } } d | GHd | | d GH| rp x | D] } d | GHqZ Wn d GHq'