9
class environment(object):
10
def __init__(self, login, password, dbname, host='localhost', port=8069):
12
self.passwd = password
17
def get_with_server_info(self):
19
login_socket = xmlrpclib.ServerProxy('http://%s:%s/xmlrpc/common' % (self.host, self.port))
20
self.uid = login_socket.login(self.db, self.login, self.passwd)
22
print login_socket.get_server_environment() + self.get_client_info()
23
login_socket.logout(self.db, self.login, self.passwd)
25
print "bad login or password from "+self.login+" using database "+self.db
30
def get_client_info(self):
32
rev_id = os.popen('bzr revision-info').read()
34
rev_id = 'Bazaar Package not Found !'
36
rev_id = 'Exception: %s\n' % (tools.ustr(e))
37
environment = 'OpenERP-Client Version : %s\n'\
38
'Last revision No. & ID :%s'\
39
%(release.version,rev_id)
42
if __name__=="__main__":
43
uses ="""%prog [options]
46
This script will provide you the full environment information of OpenERP-Client
47
If login,password and database are given then it will also give OpenERP-Server Information
50
[1] python environment_info.py
51
[2] python environment_info.py -l admin -p admin -d test
54
parser = optparse.OptionParser(uses)
56
parser.add_option("-l", "--login", dest="login", help="Login of the user in Open ERP")
57
parser.add_option("-p", "--password", dest="password", help="Password of the user in Open ERP")
58
parser.add_option("-d", "--database", dest="dbname", help="Database name")
59
parser.add_option("-P", "--port", dest="port", help="Port",default=8069)
60
parser.add_option("-H", "--host", dest="host", help="Host",default='localhost')
62
(options, args) = parser.parse_args()
63
parser = environment(options.login, options.password, dbname = options.dbname, host = options.host, port = options.port)
64
if not(options.login and options.password and options.dbname):
65
client_info = parser.get_client_info()
67
os_lang = '.'.join( [x for x in locale.getdefaultlocale() if x] )
71
environment = '\nEnvironment Information : \n' \
74
%(platform.platform(), platform.os.name)
75
if os.name == 'posix':
76
if platform.system() == 'Linux':
77
lsbinfo = os.popen('lsb_release -a').read()
78
environment += '%s'%(lsbinfo)
80
environment += 'Your System is not lsb compliant\n'
81
environment += 'Operating System Release : %s\n' \
82
'Operating System Version : %s\n' \
83
'Operating System Architecture : %s\n' \
84
'Operating System Locale : %s\n'\
85
'Python Version : %s\n'\
86
%(platform.release(), platform.version(), platform.architecture()[0],
87
os_lang, platform.python_version())
89
print environment + client_info
90
print '\nFor server Information you need to pass database(-d), login(-l),password(-p)'
94
parser.get_with_server_info()