mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-19 07:32:03 +02:00
Initial commit: Core packages
This commit is contained in:
commit
12c29a983b
9512 changed files with 8379910 additions and 0 deletions
36
odoo-bringout-oca-ocb-base/odoo/cli/genproxytoken.py
Normal file
36
odoo-bringout-oca-ocb-base/odoo/cli/genproxytoken.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
import argparse
|
||||
import os
|
||||
import secrets
|
||||
import sys
|
||||
import textwrap
|
||||
from pathlib import Path
|
||||
|
||||
from passlib.hash import pbkdf2_sha512
|
||||
|
||||
from . import Command
|
||||
from odoo.tools import config
|
||||
|
||||
|
||||
class GenProxyToken(Command):
|
||||
""" Generate and (re)set proxy access token in config file """
|
||||
|
||||
def generate_token(self, length=16):
|
||||
token = secrets.token_hex(int(length / 2))
|
||||
split_size = int(length / 4)
|
||||
return '-'.join(textwrap.wrap(token, split_size))
|
||||
|
||||
def run(self, cmdargs):
|
||||
parser = argparse.ArgumentParser(
|
||||
prog=f'{Path(sys.argv[0]).name} {self.name}',
|
||||
description=self.__doc__.strip()
|
||||
)
|
||||
parser.add_argument('-c', '--config', type=str, help="Specify an alternate config file")
|
||||
parser.add_argument('--token-length', type=int, help="Token Length", default=16)
|
||||
args, _ = parser.parse_known_args()
|
||||
if args.config:
|
||||
config.rcfile = args.config
|
||||
token = self.generate_token(length=args.token_length)
|
||||
config['proxy_access_token'] = pbkdf2_sha512.hash(token)
|
||||
config.save()
|
||||
sys.stdout.write(f'{token}\n')
|
||||
Loading…
Add table
Add a link
Reference in a new issue