Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
DiG | 2ffd43a3ee | |
DiG | b6e1d91fa0 | |
DiG | 480d40b24b |
21
remote.py
21
remote.py
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
## Usage:
|
## Usage:
|
||||||
## ./remote.py <MODEL> <METHOD> [<param> [<param> [<param>]]] [+<opt>] [+<opt=value>]
|
## ./remote.py <MODEL> <METHOD> [<param> [<param> [<param>]]] [+<opt>] [+<opt=value>]
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
## to model names in L being a list with comma and no spaces.
|
## to model names in L being a list with comma and no spaces.
|
||||||
|
|
||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import odoorpc # pip install odoorpc
|
import odoorpc # pip install odoorpc
|
||||||
|
@ -110,12 +110,12 @@ def login( server = None, port = None, db = None, user = None, passwd = None ):
|
||||||
if server:
|
if server:
|
||||||
tsv( 'Server:', server )
|
tsv( 'Server:', server )
|
||||||
else:
|
else:
|
||||||
server = raw_input('Server address: ')
|
server = input('Server address: ')
|
||||||
|
|
||||||
if port:
|
if port:
|
||||||
tsv( 'Port:', port )
|
tsv( 'Port:', port )
|
||||||
else:
|
else:
|
||||||
port = raw_input('Port: ')
|
port = input('Port: ')
|
||||||
|
|
||||||
odoo = odoorpc.ODOO( server, port=port )
|
odoo = odoorpc.ODOO( server, port=port )
|
||||||
print( 'Connected to ' + server + ':' + port )
|
print( 'Connected to ' + server + ':' + port )
|
||||||
|
@ -127,17 +127,17 @@ def login( server = None, port = None, db = None, user = None, passwd = None ):
|
||||||
if db:
|
if db:
|
||||||
tsv( 'Database:', db )
|
tsv( 'Database:', db )
|
||||||
else:
|
else:
|
||||||
db = raw_input('Choose database: ')
|
db = input('Choose database: ')
|
||||||
|
|
||||||
if user:
|
if user:
|
||||||
tsv( 'User:', user )
|
tsv( 'User:', user )
|
||||||
else:
|
else:
|
||||||
user = raw_input('User: ')
|
user = input('User: ')
|
||||||
|
|
||||||
if passwd:
|
if passwd:
|
||||||
tsv( 'Password:', '****************' )
|
tsv( 'Password:', '****************' )
|
||||||
else:
|
else:
|
||||||
passwd = raw_input('Password: ')
|
passwd = input('Password: ')
|
||||||
|
|
||||||
|
|
||||||
eprint( server, port, user, passwd )
|
eprint( server, port, user, passwd )
|
||||||
|
@ -272,9 +272,9 @@ def flatten_stack( data ):
|
||||||
def flatten( obj ):
|
def flatten( obj ):
|
||||||
if type(obj) == dict:
|
if type(obj) == dict:
|
||||||
# eprint( 'is a dict')
|
# eprint( 'is a dict')
|
||||||
key = obj.keys()[0] if obj.keys()[0] != 'file' else obj.keys()[1]
|
key = list(obj.keys())[0] if list(obj.keys())[0] != 'file' else list(obj.keys())[1]
|
||||||
flat.append( key )
|
flat.append( key )
|
||||||
for field in obj[key].keys():
|
for field in list(obj[key].keys()):
|
||||||
# eprint( 'go flat key', field )
|
# eprint( 'go flat key', field )
|
||||||
flatten( obj[key][field] )
|
flatten( obj[key][field] )
|
||||||
|
|
||||||
|
@ -409,7 +409,7 @@ def save( model, domains, recurse = False, force = False ):
|
||||||
jlog( unique_models )
|
jlog( unique_models )
|
||||||
to_browse = groupby_model( unique_models )
|
to_browse = groupby_model( unique_models )
|
||||||
|
|
||||||
for mod in to_browse.keys():
|
for mod in list(to_browse.keys()):
|
||||||
print('loading %s %s' % (len(to_browse[mod]), mod) )
|
print('loading %s %s' % (len(to_browse[mod]), mod) )
|
||||||
if mod in odoo.env:
|
if mod in odoo.env:
|
||||||
try:
|
try:
|
||||||
|
@ -537,3 +537,4 @@ if __name__ == "__main__":
|
||||||
get_schema( METHOD )
|
get_schema( METHOD )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
10
renderers.py
10
renderers.py
|
@ -1,4 +1,3 @@
|
||||||
from __future__ import print_function
|
|
||||||
import json as JSON
|
import json as JSON
|
||||||
from config import *
|
from config import *
|
||||||
|
|
||||||
|
@ -15,15 +14,17 @@ import os
|
||||||
os.environ["PYTHONIOENCODING"] = "utf-8"
|
os.environ["PYTHONIOENCODING"] = "utf-8"
|
||||||
|
|
||||||
def tsv( *fields ):
|
def tsv( *fields ):
|
||||||
fields = [ f.encode('utf-8') if type(f) == unicode else f for f in fields ]
|
#d = [ print(type(f)) for f in fields ]
|
||||||
|
# fields = f.encode('utf-8') if type(f) == str else f for f in fields ]
|
||||||
# fields = [ str(f) if type(f) != str else f for f in fields ]
|
# fields = [ str(f) if type(f) != str else f for f in fields ]
|
||||||
# fields = [ '"' + s.replace('"','\\"').replace(',','\\,') + '"' for s in fields ]
|
# fields = [ '"' + s.replace('"','\\"').replace(',','\\,') + '"' for s in fields ]
|
||||||
print( *fields, sep='\t' )
|
print( *fields, sep='\t' )
|
||||||
|
|
||||||
def csv( *fields ):
|
def csv( *fields ):
|
||||||
|
#d = [ print(type(f)) for f in fields ]
|
||||||
# print( [ type(s) for s in fields ] )
|
# print( [ type(s) for s in fields ] )
|
||||||
# print( fields )
|
# print( fields )
|
||||||
fields = [ f.encode('utf-8') if type(f) == unicode else f for f in fields ]
|
# fields = [ f.encode('utf-8') if type(f) == str else f for f in fields ]
|
||||||
# print( [ type(s) for s in fields ] )
|
# print( [ type(s) for s in fields ] )
|
||||||
# print( fields )
|
# print( fields )
|
||||||
fields = [ str(f) if type(f) != str else f for f in fields ]
|
fields = [ str(f) if type(f) != str else f for f in fields ]
|
||||||
|
@ -66,7 +67,7 @@ def render_csv( model, list ):
|
||||||
csv( *_cols )
|
csv( *_cols )
|
||||||
|
|
||||||
for obj in list:
|
for obj in list:
|
||||||
csv( *[ obj[col] for col in _cols] )
|
csv( *[ get_at_path(obj,col) for col in _cols] )
|
||||||
|
|
||||||
def render_json( model, list ):
|
def render_json( model, list ):
|
||||||
json( list.read() )
|
json( list.read() )
|
||||||
|
@ -83,3 +84,4 @@ def render( opts, model, list ): # +format=json,xml,csv +json +tsv
|
||||||
# render_xml( model, list )
|
# render_xml( model, list )
|
||||||
else:
|
else:
|
||||||
render_tsv( model, list )
|
render_tsv( model, list )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue