Showing posts with label free software. Show all posts
Showing posts with label free software. Show all posts

Monday, June 4, 2007

Minhas fotos no IV ESLAM

Foram divulgadas as primeiras fotos do IV ESLAM. Aproveitei para caçar as minhas fotos:

  1. Cantando o hino nacional ao lado do Oliva
  2. Júlio, Oliva e eu
  3. Um dos ganhadores de brinde :-P e eu
  4. Mini-curso de python :-D

Friday, February 9, 2007

pysvn - subversion python binding

Depois de muito penar para conseguir fazer um checkout em um servidor subversion com autenticação usando pysvn, hoje finalmente consegui. É um bocado difícil de entender como funciona esse negócio, deveria ser um pouco mais intuitivo. Pra facilitar a vida de quem venha utilizar o pysvn e não queira perder muito tempo pra entender tudo, aqui vai um codigo que fiz. Melhorias são bem vindas.

import os
import sys
import pysvn


class DownloadSubversion(object):

def __init__(self, source, dest, username, password):
self.source = source
self.dest = dest
self.username = username
self.password = password

def callback_ssl_server_trust_prompt(self, trust_data):
'''
trust_data: essa e' uma variavel, um dicionario, passado pelo pysvn
contendo informacoes sobre o certificado ssl do servidor.
Por exemplo: data de expiracao do certificado, empresa
certificadora, nome do responsavel, fingerprint e etc.

'''


#for key,value in trust_data.items():
# print '%s: %s' % (key, value)
#print
answer = 't'
#while answer.lower() not in ['p','t','r']:
# sys.stdout.write( '(P)ermanent accept, (T)emporary accept or (R)eject: ' )
# answer = sys.stdin.readline().strip()
if answer.lower() == 'p':
return True, trust_data['failures'], True
if answer.lower() == 't':
return True, trust_data['failures'], False
return False, 0, False


def callback_getLogin(self, realm, username, password, may_save):
'''
realm: essa variavel eh utilizado pelo pysvn pra informar o endereco do
servidor e o nome do servico, deixe ela ai'. Por exemplo:
"Subversion Repository" at http://111.222.333.444

username: usuario do subversion

password: senha do subversion

may_save: salvar ou nao o usuario e senha

'''


if len(username) == 0:
return False, '', '', False

return True, username, password, may_save


def downloadRepos(self):

client = pysvn.Client()
client.exception_style = 1
client.set_default_username(self.username)
client.set_default_password(self.password)
client.callback_get_login = self.callback_getLogin
client.callback_ssl_server_trust_prompt = self.callback_ssl_server_trust_prompt

if os.access(self.dest + '/.svn', os.F_OK):
client.update(self.dest)
else:
client.checkout(self.source, self.dest)


if __name__ == '__main__':


subversion = DownloadSubversion('https://www.com.br/svnroot/', '.', 'usuario', 'senha')
subversion.downloadRepos()

Sunday, January 7, 2007

Python smaps e gtop

Como alternativa de acesso direto aos arquivos do smaps(/proc/\/smaps), existe um módulo que acompanha o python-gobject, chamado de gtop, cuja função é oferecer ferramentas para manipulação de dados do proc.

Segue abaixo um código feito por Ian Lawrence:


import os
import gtop

def print_maps(v, c, d, name):
if c + d > 0:
print "%d\t%d\t%d\t%s" % (v / 1024, c / 1024, d / 1024, name)

for pid in gtop.proclist(gtop.PROCLIST_KERN_PROC_UID, os.getuid()):
l=gtop.proc_map(pid)

print "SHARED"
print "vmsize\tclean\tdirty\tname"

for x in sorted(l, key=lambda x: x.shared_clean + x.shared_dirty, reverse=True):
print_maps (x.size, x.shared_clean, x.shared_dirty, x.filename)

print ""
print ""

print "PRIVATE"
print "vmsize\tclean\tdirty\tname"

for x in sorted(l, key=lambda x: x.private_clean + x.private_dirty, reverse=True):
print_maps (x.size, x.private_clean, x.private_dirty, x.filename)


O próximo passo é mudar a maneira como atualmente smaps-plotter trata o /proc//smaps para o método utilizando o gtop.

Friday, December 29, 2006

smaps-plotter

Recentemente peguei um projeto de um amigo, chamado smaps-plotter. Fiz algumas pequenas modificações e disponibilizei no sourceforge. Estou usando esse projeto para aprender python não como uma linguagem de script, como já conhecia anteriormente, mas como uma linguagem de programação poderosa. Tem muitas features a serem adicionadas, mas devagarinho chego lá ;-)

Você pode ter acesso ao smaps-plotter pelo endereço: http://sourceforge.net/projects/smaps-plotter/

Pra fazer download é necessário o uso do svn(subversion), digitando o comando:

svn co https://svn.sourceforge.net/svnroot/smaps-plotter smaps-plotter

 

Rodrigo Belem's journal. Powered By Blogger © 2009 Bombeli | Theme Design: ooruc