#! /usr/bin/env python
import os
import re
from os.path import join, getsize
from xmlrpclib import ServerProxy, Error
USER = 'jblogs'
PASSWORD = 'secret'
def isId(s):
return re.match(r"[0-9]+", s) is not None
server = ServerProxy("http:)
try:
token = server.RemoteApi.login(USER, PASSWORD)
info = server.RemoteApi.getServerInfo(token)
projectsDir = join(info['pulse.data.dir'], 'projects')
projects = dict((id, server.RemoteApi.getProjectNameById(token, id)) for id in os.listdir(projectsDir) if isId(id))
server.RemoteApi.logout(token)
for id, name in projects.items():
totalSize = 0
for root, dirs, files in os.walk(join(projectsDir, id)):
totalSize += sum(getsize(join(root, name)) for name in files)
print "Project %s consumes %.02f megabytes" % (name, totalSize/1048576.0)
except Error, v:
print "Error:", v