# db = 'database' # user = '******' # pwd = 'pwd' # port = 8069 # uri = 'http://{0}.erp.clients'.format(db) # %load https://raw.githubusercontent.com/gisce/powerp-tools/master/profiles_assign_invoice.py from erppeek import Client erp = Client(server=uri + ":" + str(port), user=user, password=pwd, db=db) invoices = erp.model('giscedata.facturacio.factura') profiles = erp.model('giscedata.perfils.perfil') search_params = [('state', 'in', ('open', 'paid')), ('invoice_id.journal_id.code', 'ilike', 'ENERGIA%')] search_params_cancelling = search_params[:] search_params_cancelling.append(('tipo_rectificadora', 'in', ('R', 'A', 'B'))) cancelling_invoice_ids = invoices.search(search_params_cancelling) if cancelling_invoice_ids: cancelling_invoices = invoices.read(cancelling_invoice_ids, ['ref']) cancelled_invoice_ids = [x['ref'][0] for x in cancelling_invoices] search_params.extend([('id', 'not in', cancelled_invoice_ids)]) search_params.extend([ ('tipo_rectificadora', 'in', ('N', 'R')), ])
from erppeek import Client from datetime import datetime, timedelta import configdb import psycopg2 import psycopg2.extras import argparse O = Client(**configdb.erppeek) pol_obj = O.GiscedataPolissa sw_obj = O.GiscedataSwitching parser = argparse.ArgumentParser( description='Seguiment de casos de contractes amb 3.0A') parser.add_argument('-d', '--date', required=False) args = vars(parser.parse_args()) data_inici = args['date'] tarifa = '3.0A' data = '2016-03-15' if not (data_inici): data_inici = datetime.today().strftime('%Y-%m-%d') def contractesNous(tarifa, data_inici): tots = [] sense_not = [] mails = ['*****@*****.**', '*****@*****.**'] data_fi = datetime.strftime(datetime.today(), '%Y-%m-%d') pol_ids = pol_obj.search([('tarifa.name', '=', tarifa), ('data_firma_contracte', '>=', data_inici),
from ast import literal_eval from urlparse import urlparse import sys import base64 from subprocess import call import time import tempfile from erppeek import Client url = urlparse(sys.argv[1]) report = sys.argv[2] ids = literal_eval(sys.argv[3]) context = literal_eval(sys.argv[4]) O = Client('{x.scheme}://{x.hostname}:{x.port}'.format(x=url), url.path.lstrip('/'), url.username, url.password) report_id = O.report(report, ids, {}, context) sys.stdout.write("Waiting") res = {'state': False} while not res['state']: res = O.report_get(report_id) sys.stdout.write(".") time.sleep(0.1) sys.stdout.flush() sys.stdout.write("\n") report_file = tempfile.mktemp(prefix='oo-report-') with open(report_file, 'w') as f:
def setUp(self): super().setUp() self.erp = Client(**config.ERP_CONF) self.app.mongo_client = AsyncIOMotorClient(config.MONGO_CONF) self.loop = asyncio.get_event_loop() self.f5d_id = '5c2dd783cb2f477212c77abb'
def __init__(self, srv, port, db, user, pwd): self.Client = Client('http://%s:%d' % (srv, port), db, user, pwd) self.model = 'todo.task'
def main(**kwargs): c = Client(**configdb.erppeek) print "connected to: {}".format(c._server) create_file(c, kwargs['from_date'], kwargs['file_output'])
# Database connection helper @api.multi def get_client(self, not_database=False): self.ensure_one() try: if not_database: return Client('http://%s' % (self.instance_id.main_hostname)) except Exception, e: raise except_orm(_("Unable to Connect to Database."), _('Error: %s') % e) # First try to connect using instance pass try: return Client('http://%s' % (self.instance_id.main_hostname), db=self.name, user='******', password=self.instance_id.admin_pass) # then try to connect using database pass except: try: return Client('http://%s' % (self.instance_id.main_hostname), db=self.name, user='******', password=self.admin_password) except Exception, e: raise except_orm(_("Unable to Connect to Database."), _('Error: %s') % e) # Modules management @api.one
def get_erp_client_instance(cls): if cls._client is None: cls._client = Client(**settings.ERP) msg = 'Connected to ERP username: %s, server: %s' cls._logger.info(msg, settings.ERP['user'], settings.ERP['server']) return cls._client