Compare commits

...

3 Commits

Author SHA1 Message Date
DiG 2ffd43a3ee update renderers 2022-02-28 14:45:18 +01:00
DiG b6e1d91fa0 update hashbang... 2022-02-28 13:52:05 +01:00
DiG 480d40b24b online transcode https://python2to3.com/ 2022-02-28 13:48:33 +01:00
3 changed files with 18 additions and 15 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
## Usage:
## ./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.
from __future__ import print_function
import os
import json
import odoorpc # pip install odoorpc
@ -110,12 +110,12 @@ def login( server = None, port = None, db = None, user = None, passwd = None ):
if server:
tsv( 'Server:', server )
else:
server = raw_input('Server address: ')
server = input('Server address: ')
if port:
tsv( 'Port:', port )
else:
port = raw_input('Port: ')
port = input('Port: ')
odoo = odoorpc.ODOO( server, port=port )
print( 'Connected to ' + server + ':' + port )
@ -127,17 +127,17 @@ def login( server = None, port = None, db = None, user = None, passwd = None ):
if db:
tsv( 'Database:', db )
else:
db = raw_input('Choose database: ')
db = input('Choose database: ')
if user:
tsv( 'User:', user )
else:
user = raw_input('User: ')
user = input('User: ')
if passwd:
tsv( 'Password:', '****************' )
else:
passwd = raw_input('Password: ')
passwd = input('Password: ')
eprint( server, port, user, passwd )
@ -272,9 +272,9 @@ def flatten_stack( data ):
def flatten( obj ):
if type(obj) == 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 )
for field in obj[key].keys():
for field in list(obj[key].keys()):
# eprint( 'go flat key', field )
flatten( obj[key][field] )
@ -409,7 +409,7 @@ def save( model, domains, recurse = False, force = False ):
jlog( 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) )
if mod in odoo.env:
try:
@ -537,3 +537,4 @@ if __name__ == "__main__":
get_schema( METHOD )

View File

@ -1,4 +1,3 @@
from __future__ import print_function
import json as JSON
from config import *
@ -15,15 +14,17 @@ import os
os.environ["PYTHONIOENCODING"] = "utf-8"
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 = [ '"' + s.replace('"','\\"').replace(',','\\,') + '"' for s in fields ]
print( *fields, sep='\t' )
def csv( *fields ):
#d = [ print(type(f)) for f in fields ]
# print( [ type(s) for s in 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( 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 )
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 ):
json( list.read() )
@ -83,3 +84,4 @@ def render( opts, model, list ): # +format=json,xml,csv +json +tsv
# render_xml( model, list )
else:
render_tsv( model, list )

View File

@ -1,4 +1,3 @@
from __future__ import print_function
import os
import sys
import json
@ -66,3 +65,4 @@ def groupby_model( arr ):
res[model] = []
res[model].append( int(id) )
return res