Projet

Général

Profil

0001-use-bijoe-connection-parameters-26631.patch

Christophe Siraut, 22 septembre 2018 14:33

Télécharger (3,27 ko)

Voir les différences:

Subject: [PATCH] use bijoe connection parameters (#26631)

 wcs_olap/cmd.py    | 11 +++++------
 wcs_olap/feeder.py |  5 ++---
 2 files changed, 7 insertions(+), 9 deletions(-)
wcs_olap/cmd.py
8 8
from .feeder import WcsOlapFeeder
9 9
import locale
10 10

  
11
from django.db import connection
12

  
11 13
from . import tb
12 14

  
13 15

  
......
74 76
        parser.add_argument('--orig', help='origin of the request for signatures')
75 77
        parser.add_argument('--slug', action='append', default=[])
76 78
        parser.add_argument('--key', help='HMAC key for signatures')
77
        parser.add_argument('--pg-dsn', help='Psycopg2 DB DSN')
78 79
        parser.add_argument('--schema', help='schema name')
79 80
        args = parser.parse_args()
80
        for key in ('orig', 'key', 'pg_dsn', 'schema', 'batch_size'):
81
        for key in ('orig', 'key', 'schema', 'batch_size'):
81 82
            if getattr(args, key, None):
82 83
                defaults[key] = getattr(args, key)
83 84

  
......
92 93
            key = defaults['key']
93 94
            orig = defaults['orig']
94 95
            schema = defaults['schema']
95
            pg_dsn = defaults['pg_dsn']
96 96
            slugs = defaults.get('slugs', '').strip().split() or getattr(args, 'slug', [])
97 97
            batch_size = int(defaults.get('batch_size', 1000))
98 98
        except KeyError, e:
......
103 103
                api = wcs_api.WcsApi(url=url, orig=orig, key=key, slugs=slugs,
104 104
                                     verify=defaults.get('verify', 'True') == 'True',
105 105
                                     batch_size=batch_size)
106
                logger.info('starting synchronizing w.c.s. at %r with PostgreSQL at %s', url,
107
                            pg_dsn)
108
                feeder = WcsOlapFeeder(api=api, schema=schema, pg_dsn=pg_dsn, logger=logger,
106
                logger.info('starting synchronizing w.c.s. at %r', url)
107
                feeder = WcsOlapFeeder(api=api, schema=schema, connection=connection, logger=logger,
109 108
                                       config=defaults, do_feed=feed, fake=fake)
110 109
                feeder.feed()
111 110
                logger.info('finished')
wcs_olap/feeder.py
5 5
import json
6 6
import hashlib
7 7
from utils import Whatever
8
import psycopg2
9 8

  
10 9
from wcs_olap.wcs_api import WcsApiError
11 10

  
......
43 42

  
44 43

  
45 44
class WcsOlapFeeder(object):
46
    def __init__(self, api, pg_dsn, schema, logger=None, config=None, do_feed=True, fake=False):
45
    def __init__(self, api, connection, schema, logger=None, config=None, do_feed=True, fake=False):
47 46
        self.api = api
48 47
        self.fake = fake
49 48
        self.logger = logger or Whatever()
50 49
        self.schema = schema
51
        self.connection = psycopg2.connect(dsn=pg_dsn)
50
        self.connection = connection
52 51
        self.connection.autocommit = True
53 52
        self.cur = self.connection.cursor()
54 53
        self.formdefs = api.formdefs
55
-