penktadienis, rugpjūčio 13, 2010

visual studio sln file generation for tree of vcproj's

this might be useful for someone who does e.g. VC++ migration vs200x to vs2010 or similar tasks where you need to build solution file that contains projects from subtree.

synopsis: make_sln_with_vcprojs.py <subdir1> [<subdir2> ..]
import sys
import os
from xml.dom.minidom import parse as minidom_parse

class sln_writer(object):
def __init__(self, file):
self.file = file

def write_header(self):
self.file.write(
"\xEF\xBB\xBF\r\n"
+ "Microsoft Visual Studio Solution File, Format Version 11.00\r\n"
+ "# Visual Studio 2010\r\n"
)

def write_ref_to_vcproj(self, vcproj_file, vcproj_path):
vcproj_name = vcproj_file.split(".")[0]

proj_guid = self.read_proj_guid(vcproj_path)

if proj_guid <> "":
self.file.write(
"Project(\"%s\") = \"%s\", \"%s\", \"%s\"\r\n"
% ("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}", vcproj_file.split(".")[0], vcproj_path, proj_guid)
)
self.file.write("EndProject\r\n")

def read_proj_guid(self, vcproj_path):
dom = minidom_parse(vcproj_path)
root_elm = dom.getElementsByTagName("VisualStudioProject")[0]
return root_elm.getAttribute("ProjectGUID")

sln_file = open("output.sln", "wb")

sln = sln_writer(sln_file)
sln.write_header()

for dir_to_inspect in sys.argv[1:]:
for dirname, dirnames, filenames in os.walk(dir_to_inspect):
for vcproj_file in [f for f in filenames if f.endswith(".vcproj")]:
vcproj_path = os.path.join(dirname, vcproj_file)
sln.write_ref_to_vcproj(vcproj_file, vcproj_path)

pirmadienis, gegužės 03, 2010

tiktai žvakių šviesoje

žiūriu į savo veido atspindį ir nesuprantu, ar kas aš esu išties esu aš. ar mano jausmai nėra dirbtiniai ir nieko neverti, netikri, kitų įpareigoti. tokie pro dūmus jie niekam nereikalingi.. ar mano liūdesys tikras ir ar kitas žmogus kur supras jį. ar praleis pro pirštus kaip aš kitų praleidžiu per skubėjimą. ar išvis reikia nervintis ir liūdėti, kai nerandi ką apkabinti. tetrūksta tik to kaimyno dundėjimo ant galvos..

šeštadienis, sausio 02, 2010

-

Didžiumą klaidų žmonės padaro kamuojami nesuvokiamo ilgesio.