mcpField
D
dtg-base

dtg-base

github.com/unclecatvnDevelopment148329 installsUpdated 2w ago
Repository

About dtg-base

dtg-base is a reference skill for developers working with the DTG Base utilities in Odoo 18. It documents reusable date, timezone, barcode, batch, text, file, and number helpers provided by the abstract model.

Key features

  1. 01Date and period calculations
  2. 02Local and UTC conversions
  3. 03Barcode checks and EAN13 generation
  4. 04Recordset batch processing
  5. 05Vietnamese accent handling
  6. 06File and number utilities

Use cases

  1. 01Calculate period boundaries in Odoo code
  2. 02Convert datetimes between local time and UTC
  3. 03Process large recordsets in batches
  4. 04Use barcode and file helpers

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/unclecatvn/agent-skills --skill dtg-base

After installing, type/dtg-basein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

CLAUDE.md
odoo-18-dtg-base-guide.md
README.md

Details

From the project README

DTG Base Skill

Complete reference for DTG Base module utilities and helpers in Odoo 18.

What is DTG Base?

DTG Base is a custom abstract model (dtg_base.DTGBase) that provides common utility methods for Odoo development. It's designed to be inherited by other models to gain access to helpful utilities.

Quick Reference

UtilityDescription
Date & PeriodFind first/last date of period, period iteration
TimezoneConvert local to UTC, UTC to local
BarcodeCheck barcode exists, generate EAN13
Batch ProcessingSplit large recordsets into batches
after_commitExecute code after transaction commit
Vietnamese TextStrip accents, convert to non-accent
File UtilitiesZip directories, get file size
Number UtilitiesRound to decimal places

Main Guide

File: odoo-18-dtg-base-guide.md

When to use this skill
  • Working with DTG Odoo codebase
  • Need date/period calculations
  • Timezone conversions
  • Barcode validation
  • Batch processing large recordsets
  • Vietnamese text processing
  • File zipping utilities

DTGBase Abstract Model

Inherit from DTGBase

Location: addons_customs/erp/dtg_base/models/dtg_base.py

from odoo import models

class MyModel(models.Model):
    _name = 'my.model'
    _inherit = ['dtg_base.dtg_base']

    def my_method(self):
        # Now you have access to all DTGBase utilities
        first_date = self.find_first_date_of_period('2024-01-15', 'month')
        utc_date = self.convert_local_to_utc('2024-01-15 10:00:00')

File Structure

agent-skills/skills/dtg-base/
├── SKILL.md                       # This file - master index
├── odoo-18-dtg-base-guide.md      # Complete DTG Base utilities reference
└── README.md                      # Skill overview

Utilities Overview

Date & Period Utilities
  • find_first_date_of_period(date, period_type) - Get first date of period
  • find_last_date_of_period(date, period_type) - Get last date of period
  • period_iter(start_date, end_date, period_type) - Iterate over periods
Timezone Conversion
  • convert_local_to_utc(local_dt, tz=None) - Convert local datetime to UTC
  • convert_utc_to_local(utc_dt, tz=None) - Convert UTC datetime to local
Barcode Utilities
  • barcode_exists(barcode, exclude_id=0) - Check if barcode already exists
  • get_ean13 barcode) - Generate/check EAN13 barcode
Batch Processing
  • splittor(limit=None) - Split recordset into batches for processing
String & Text Utilities
  • strip_accents(text) - Remove Vietnamese accents
  • _no_accent_vietnamese(text) - Convert Vietnamese text
File Utilities
  • zip_dir(source_dir, output_file) - Zip a directory
  • zip_dirs(dirs, output_file) - Zip multiple directories
  • _get_file_size(file_path) - Get human-readable file size
Number Utilities
  • round_decimal(value, decimal_places) - Round to specific decimal places

For detailed documentation, see odoo-18-dtg-base-guide.md

Comments

Markdown supported