mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-13 15:34:49 -06:00
Updated from template
This commit is contained in:
parent
acebd9ca3b
commit
0e785715f0
@ -1,8 +1,8 @@
|
||||
# Do NOT update manually; changes here will be overwritten by Copier
|
||||
_commit: v1.14.2
|
||||
_commit: v1.17.2-11-g69f3b9a
|
||||
_src_path: gh:oca/oca-addons-repo-template
|
||||
additional_ruff_rules: []
|
||||
ci: GitHub
|
||||
dependency_installation_mode: PIP
|
||||
generate_requirements_txt: true
|
||||
github_check_license: true
|
||||
github_ci_extra_env: {}
|
||||
@ -11,14 +11,16 @@ github_enable_makepot: true
|
||||
github_enable_stale_action: true
|
||||
github_enforce_dev_status_compatibility: true
|
||||
include_wkhtmltopdf: false
|
||||
odoo_test_flavor: Both
|
||||
odoo_version: 16.0
|
||||
org_name: Odoo Community Association (OCA)
|
||||
org_slug: OCA
|
||||
rebel_module_groups: []
|
||||
repo_description: 'TODO: add repo description.'
|
||||
repo_description: Knowlesge management addons. Also has some usefull tools to handle
|
||||
attachments
|
||||
repo_name: knowledge
|
||||
repo_slug: knowledge
|
||||
repo_website: https://github.com/OCA/knowledge
|
||||
travis_apt_packages: []
|
||||
travis_apt_sources: []
|
||||
use_pyproject_toml: false
|
||||
use_ruff: true
|
||||
|
||||
|
@ -22,6 +22,7 @@ globals:
|
||||
odoo: readonly
|
||||
openerp: readonly
|
||||
owl: readonly
|
||||
luxon: readonly
|
||||
|
||||
# Styling is handled by Prettier, so we only need to enable AST rules;
|
||||
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
|
||||
|
12
.flake8
12
.flake8
@ -1,12 +0,0 @@
|
||||
[flake8]
|
||||
max-line-length = 88
|
||||
max-complexity = 16
|
||||
# B = bugbear
|
||||
# B9 = bugbear opinionated (incl line length)
|
||||
select = C,E,F,W,B,B9
|
||||
# E203: whitespace before ':' (black behaviour)
|
||||
# E501: flake8 line length (covered by bugbear B950)
|
||||
# W503: line break before binary operator (black behaviour)
|
||||
ignore = E203,E501,W503
|
||||
per-file-ignores=
|
||||
__init__.py:F401
|
13
.github/workflows/pre-commit.yml
vendored
13
.github/workflows/pre-commit.yml
vendored
@ -13,8 +13,10 @@ jobs:
|
||||
pre-commit:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.11"
|
||||
- name: Get python version
|
||||
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v1
|
||||
@ -25,6 +27,15 @@ jobs:
|
||||
run: pip install pre-commit
|
||||
- name: Run pre-commit
|
||||
run: pre-commit run --all-files --show-diff-on-failure --color=always
|
||||
env:
|
||||
# Consider valid a PR that changes README fragments but doesn't
|
||||
# change the README.rst file itself. It's not really a problem
|
||||
# because the bot will update it anyway after merge. This way, we
|
||||
# lower the barrier for functional contributors that want to fix the
|
||||
# readme fragments, while still letting developers get README
|
||||
# auto-generated (which also helps functionals when using runboat).
|
||||
# DOCS https://pre-commit.com/#temporarily-disabling-hooks
|
||||
SKIP: oca-gen-addon-readme
|
||||
- name: Check that all files generated by pre-commit are in git
|
||||
run: |
|
||||
newfiles="$(git ls-files --others --exclude-from=.gitignore)"
|
||||
|
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: Detect unreleased dependencies
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: |
|
||||
for reqfile in requirements.txt test-requirements.txt ; do
|
||||
if [ -f ${reqfile} ] ; then
|
||||
@ -36,10 +36,10 @@ jobs:
|
||||
matrix:
|
||||
include:
|
||||
- container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest
|
||||
makepot: "true"
|
||||
name: test with Odoo
|
||||
- container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest
|
||||
name: test with OCB
|
||||
makepot: "true"
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.0
|
||||
@ -50,7 +50,7 @@ jobs:
|
||||
ports:
|
||||
- 5432:5432
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install addons and dependencies
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,6 +3,7 @@ __pycache__/
|
||||
*.py[cod]
|
||||
/.venv
|
||||
/.pytest_cache
|
||||
/.ruff_cache
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
13
.isort.cfg
13
.isort.cfg
@ -1,13 +0,0 @@
|
||||
[settings]
|
||||
; see https://github.com/psf/black
|
||||
multi_line_output=3
|
||||
include_trailing_comma=True
|
||||
force_grid_wrap=0
|
||||
combine_as_imports=True
|
||||
use_parentheses=True
|
||||
line_length=88
|
||||
known_odoo=odoo
|
||||
known_odoo_addons=odoo.addons
|
||||
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
|
||||
default_section=THIRDPARTY
|
||||
ensure_newline_before_comments = True
|
@ -12,6 +12,10 @@ exclude: |
|
||||
/static/(src/)?lib/|
|
||||
# Repos using Sphinx to generate docs don't need prettying
|
||||
^docs/_templates/.*\.html$|
|
||||
# Don't bother non-technical authors with formatting issues in docs
|
||||
readme/.*\.(rst|md)$|
|
||||
# Ignore build and dist directories in addons
|
||||
/build/|/dist/|
|
||||
# You don't usually want a bot to modify your legal texts
|
||||
(LICENSE.*|COPYING.*)
|
||||
default_language_version:
|
||||
@ -33,27 +37,24 @@ repos:
|
||||
language: fail
|
||||
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
|
||||
- repo: https://github.com/oca/maintainer-tools
|
||||
rev: 4cd2b852214dead80822e93e6749b16f2785b2fe
|
||||
rev: 568cacd1d6eef453063a524a5ce63dcd49c7259b
|
||||
hooks:
|
||||
# update the NOT INSTALLABLE ADDONS section above
|
||||
- id: oca-update-pre-commit-excluded-addons
|
||||
- id: oca-fix-manifest-website
|
||||
args: ["https://github.com/OCA/knowledge"]
|
||||
- repo: https://github.com/myint/autoflake
|
||||
rev: v1.6.1
|
||||
hooks:
|
||||
- id: autoflake
|
||||
- id: oca-gen-addon-readme
|
||||
args:
|
||||
- --expand-star-imports
|
||||
- --ignore-init-module-imports
|
||||
- --in-place
|
||||
- --remove-all-unused-imports
|
||||
- --remove-duplicate-keys
|
||||
- --remove-unused-variables
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 22.8.0
|
||||
- --addons-dir=.
|
||||
- --branch=16.0
|
||||
- --org-name=OCA
|
||||
- --repo-name=knowledge
|
||||
- --if-source-changed
|
||||
- repo: https://github.com/OCA/odoo-pre-commit-hooks
|
||||
rev: v0.0.25
|
||||
hooks:
|
||||
- id: black
|
||||
- id: oca-checks-odoo-module
|
||||
- id: oca-checks-po
|
||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||
rev: v2.7.1
|
||||
hooks:
|
||||
@ -95,19 +96,6 @@ repos:
|
||||
- id: check-xml
|
||||
- id: mixed-line-ending
|
||||
args: ["--fix=lf"]
|
||||
- repo: https://github.com/asottile/pyupgrade
|
||||
rev: v2.38.2
|
||||
hooks:
|
||||
- id: pyupgrade
|
||||
args: ["--keep-percent-format"]
|
||||
- repo: https://github.com/PyCQA/isort
|
||||
rev: 5.12.0
|
||||
hooks:
|
||||
- id: isort
|
||||
name: isort except __init__.py
|
||||
args:
|
||||
- --settings=.
|
||||
exclude: /__init__\.py$
|
||||
- repo: https://github.com/acsone/setuptools-odoo
|
||||
rev: 3.1.8
|
||||
hooks:
|
||||
@ -118,14 +106,14 @@ repos:
|
||||
- requirements.txt
|
||||
- --header
|
||||
- "# generated from manifests external_dependencies"
|
||||
- repo: https://github.com/PyCQA/flake8
|
||||
rev: 3.9.2
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.1.3
|
||||
hooks:
|
||||
- id: flake8
|
||||
name: flake8
|
||||
additional_dependencies: ["flake8-bugbear==21.9.2"]
|
||||
- id: ruff
|
||||
args: [--fix, --exit-non-zero-on-fix]
|
||||
- id: ruff-format
|
||||
- repo: https://github.com/OCA/pylint-odoo
|
||||
rev: 7.0.2
|
||||
rev: v8.0.19
|
||||
hooks:
|
||||
- id: pylint_odoo
|
||||
name: pylint with optional checks
|
||||
|
12
.pylintrc
12
.pylintrc
@ -5,12 +5,12 @@ load-plugins=pylint_odoo
|
||||
score=n
|
||||
|
||||
[ODOOLINT]
|
||||
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
|
||||
manifest_required_authors=Odoo Community Association (OCA)
|
||||
manifest_required_keys=license
|
||||
manifest_deprecated_keys=description,active
|
||||
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||
valid_odoo_versions=16.0
|
||||
readme-template-url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
|
||||
manifest-required-authors=Odoo Community Association (OCA)
|
||||
manifest-required-keys=license
|
||||
manifest-deprecated-keys=description,active
|
||||
license-allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||
valid-odoo-versions=16.0
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
disable=all
|
||||
|
@ -4,12 +4,12 @@ load-plugins=pylint_odoo
|
||||
score=n
|
||||
|
||||
[ODOOLINT]
|
||||
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
|
||||
manifest_required_authors=Odoo Community Association (OCA)
|
||||
manifest_required_keys=license
|
||||
manifest_deprecated_keys=description,active
|
||||
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||
valid_odoo_versions=16.0
|
||||
readme-template-url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
|
||||
manifest-required-authors=Odoo Community Association (OCA)
|
||||
manifest-required-keys=license
|
||||
manifest-deprecated-keys=description,active
|
||||
license-allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3
|
||||
valid-odoo-versions=16.0
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
disable=all
|
||||
|
29
.ruff.toml
Normal file
29
.ruff.toml
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
target-version = "py310"
|
||||
fix = true
|
||||
|
||||
[lint]
|
||||
extend-select = [
|
||||
"B",
|
||||
"C90",
|
||||
"I", # isort
|
||||
"UP", # pyupgrade
|
||||
]
|
||||
exclude = ["setup/*"]
|
||||
|
||||
[format]
|
||||
exclude = ["setup/*"]
|
||||
|
||||
[per-file-ignores]
|
||||
"__init__.py" = ["F401", "I001"] # ignore unused and unsorted imports in __init__.py
|
||||
"__manifest__.py" = ["B018"] # useless expression
|
||||
|
||||
[isort]
|
||||
section-order = ["future", "standard-library", "third-party", "odoo", "odoo-addons", "first-party", "local-folder"]
|
||||
|
||||
[isort.sections]
|
||||
"odoo" = ["odoo"]
|
||||
"odoo-addons" = ["odoo.addons"]
|
||||
|
||||
[mccabe]
|
||||
max-complexity = 16
|
@ -9,7 +9,7 @@
|
||||
|
||||
# knowledge
|
||||
|
||||
TODO: add repo description.
|
||||
Knowlesge management addons. Also has some usefull tools to handle attachments
|
||||
|
||||
<!-- /!\ do not modify below this line -->
|
||||
|
||||
|
@ -5,7 +5,6 @@ from odoo import _, models
|
||||
|
||||
|
||||
class IrAttachmentActionDownloadMixin(models.AbstractModel):
|
||||
|
||||
_name = "ir.attachment.action_download"
|
||||
_description = """
|
||||
Mixin to help download attachments linked to record(s).
|
||||
|
@ -11,7 +11,7 @@ from .test_attachment_zipped_download import TestAttachmentZippedDownloadBase
|
||||
class TestMixin(SavepointCase, TestAttachmentZippedDownloadBase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestMixin, cls).setUpClass()
|
||||
super().setUpClass()
|
||||
cls.loader = FakeModelLoader(cls.env, cls.__module__)
|
||||
cls.addClassCleanup(cls.loader.restore_registry)
|
||||
cls.loader.backup_registry()
|
||||
|
@ -106,7 +106,7 @@ class DocumentPage(models.Model):
|
||||
action = parent.menu_id.action
|
||||
parent = parent.parent_id
|
||||
if action:
|
||||
url += "&action={}".format(action.id)
|
||||
url += f"&action={action.id}"
|
||||
rec.backend_url = url
|
||||
|
||||
@api.constrains("parent_id")
|
||||
@ -122,7 +122,7 @@ class DocumentPage(models.Model):
|
||||
]
|
||||
r = ""
|
||||
if link:
|
||||
r = '<a href="{}">{}</a>'.format(self.backend_url, self.name)
|
||||
r = f'<a href="{self.backend_url}">{self.name}</a>'
|
||||
if index:
|
||||
r += "<ul>" + "".join(index) + "</ul>"
|
||||
return r
|
||||
|
@ -61,8 +61,8 @@ class DocumentPageHistory(models.Model):
|
||||
return diff.make_table(
|
||||
line1,
|
||||
line2,
|
||||
"Revision-{}".format(v1),
|
||||
"Revision-{}".format(v2),
|
||||
f"Revision-{v1}",
|
||||
f"Revision-{v2}",
|
||||
context=True,
|
||||
)
|
||||
|
||||
|
@ -39,7 +39,7 @@ class TestDocumentPage(common.TransactionCase):
|
||||
page = self.page_obj.create({"name": "Test Page 3", "content": "Test content"})
|
||||
self.assertEqual(
|
||||
page.backend_url,
|
||||
"/web#id={}&model=document.page&view_type=form".format(page.id),
|
||||
f"/web#id={page.id}&model=document.page&view_type=form",
|
||||
)
|
||||
menu = self.env.ref("document_knowledge.menu_document")
|
||||
page.menu_id = menu
|
||||
|
@ -5,7 +5,6 @@ from odoo import api, fields, models
|
||||
|
||||
|
||||
class DocumentPage(models.Model):
|
||||
|
||||
_inherit = "document.page"
|
||||
|
||||
group_ids = fields.Many2many(
|
||||
|
@ -47,7 +47,6 @@ except Exception:
|
||||
|
||||
|
||||
class DocumentPage(models.Model):
|
||||
|
||||
_inherit = "document.page"
|
||||
|
||||
reference = fields.Char(
|
||||
@ -144,7 +143,7 @@ class DocumentPage(models.Model):
|
||||
try:
|
||||
self._validate_reference(reference=reference)
|
||||
vals["reference"] = reference
|
||||
except ValidationError: # pylint: disable=W7938
|
||||
except ValidationError: # pylint: disable=W8138
|
||||
# Do not fill reference.
|
||||
pass
|
||||
return super(DocumentPage, self).create(vals_list)
|
||||
return super().create(vals_list)
|
||||
|
@ -8,7 +8,7 @@ from odoo.tests.common import TransactionCase
|
||||
class TestDocumentReference(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestDocumentReference, cls).setUpClass()
|
||||
super().setUpClass()
|
||||
cls.page_obj = cls.env["document.page"]
|
||||
cls.history_obj = cls.env["document.page.history"]
|
||||
cls.page1 = cls.page_obj.create(
|
||||
|
Loading…
Reference in New Issue
Block a user