mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-21 07:12:09 +02:00
Initial commit: Core packages
This commit is contained in:
commit
12c29a983b
9512 changed files with 8379910 additions and 0 deletions
48
odoo-bringout-oca-ocb-base/odoo/cli/cloc.py
Normal file
48
odoo-bringout-oca-ocb-base/odoo/cli/cloc.py
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
import textwrap
|
||||
from pathlib import Path
|
||||
|
||||
from odoo.tools import cloc, config
|
||||
from . import Command
|
||||
|
||||
class Cloc(Command):
|
||||
""" Count lines of code per modules """
|
||||
def run(self, args):
|
||||
parser = argparse.ArgumentParser(
|
||||
prog=f'{Path(sys.argv[0]).name} {self.name}',
|
||||
description="""\
|
||||
Odoo cloc is a tool to count the number of relevant lines written in
|
||||
Python, Javascript or XML. This can be used as rough metric for pricing
|
||||
maintenance of customizations.
|
||||
|
||||
It has two modes of operation, either by providing a path:
|
||||
|
||||
odoo-bin cloc -p module_path
|
||||
|
||||
Or by providing the name of a database:
|
||||
|
||||
odoo-bin cloc --addons-path=dirs -d database
|
||||
|
||||
In the latter mode, only the custom code is accounted for.
|
||||
""",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter
|
||||
)
|
||||
parser.add_argument('--database', '-d', dest="database", help="Database name")
|
||||
parser.add_argument('--path', '-p', action='append', help="File or directory path")
|
||||
parser.add_argument('--verbose', '-v', action='count', default=0)
|
||||
opt, unknown = parser.parse_known_args(args)
|
||||
if not opt.database and not opt.path:
|
||||
parser.print_help()
|
||||
sys.exit()
|
||||
|
||||
c = cloc.Cloc()
|
||||
if opt.database:
|
||||
config.parse_config(['-d', opt.database] + unknown)
|
||||
c.count_database(opt.database)
|
||||
if opt.path:
|
||||
for i in opt.path:
|
||||
c.count_path(i)
|
||||
c.report(opt.verbose)
|
||||
Loading…
Add table
Add a link
Reference in a new issue