mcpField
D
dtg-base

dtg-base

github.com/unclecatvn開発148329 回インストール2 週間前に更新
リポジトリ

dtg-base について

dtg-baseは、Odoo 18でDTG Baseユーティリティを使う開発者向けのリファレンススキルです。抽象モデルから継承できる日付、タイムゾーン、バーコード、バッチ処理、テキスト、ファイル、数値の機能を説明します。

主な機能

  1. 01日付と期間の計算
  2. 02ローカル時刻とUTCの変換
  3. 03バーコード確認とEAN13生成
  4. 04レコードセットのバッチ処理
  5. 05ベトナム語のアクセント処理
  6. 06ファイルと数値のユーティリティ

活用シーン

  1. 01Odooコードで期間の境界を計算
  2. 02ローカル時刻とUTCの日時を変換
  3. 03大規模なレコードセットを分割処理
  4. 04バーコードやファイルの機能を利用

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/dtg-baseを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

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

詳細

DTG Base スキル

Odoo 18 の DTG Base モジュールのユーティリティとヘルパーを網羅したリファレンスです。

DTG Base とは?

DTG Base は、Odoo 開発に共通のユーティリティメソッドを提供するカスタム抽象モデル(dtg_base.DTGBase)です。他のモデルに継承させることで、便利なユーティリティを利用できるように設計されています。

クイックリファレンス

ユーティリティ説明
日付と期間期間の最初/最後の日付の検索、期間の反復処理
タイムゾーンローカル時刻から UTC、UTC からローカル時刻への変換
バーコードバーコードの存在確認、EAN13 の生成
バッチ処理大きなレコードセットをバッチに分割
after_commitトランザクションのコミット後にコードを実行
ベトナム語テキストアクセント記号の削除、アクセントなしのテキストへの変換
ファイルユーティリティディレクトリの ZIP 圧縮、ファイルサイズの取得
数値ユーティリティ小数点以下の桁数を指定して丸める

メインガイド

ファイル:odoo-18-dtg-base-guide.md

このスキルを使用する場面
  • DTG の Odoo コードベースを扱う場合
  • 日付や期間の計算が必要な場合
  • タイムゾーンを変換する場合
  • バーコードを検証する場合
  • 大きなレコードセットをバッチ処理する場合
  • ベトナム語テキストを処理する場合
  • ファイルを ZIP 圧縮するユーティリティが必要な場合

DTGBase 抽象モデル

DTGBase を継承する

場所: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')

ファイル構成

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

ユーティリティの概要

日付と期間のユーティリティ
  • find_first_date_of_period(date, period_type) - 期間の最初の日付を取得
  • find_last_date_of_period(date, period_type) - 期間の最後の日付を取得
  • period_iter(start_date, end_date, period_type) - 期間を反復処理
タイムゾーン変換
  • convert_local_to_utc(local_dt, tz=None) - ローカルの日時を UTC に変換
  • convert_utc_to_local(utc_dt, tz=None) - UTC の日時をローカル時刻に変換
バーコードユーティリティ
  • barcode_exists(barcode, exclude_id=0) - バーコードがすでに存在するか確認
  • get_ean13 barcode) - EAN13 バーコードを生成/確認
バッチ処理
  • splittor(limit=None) - レコードセットを処理用のバッチに分割
文字列とテキストのユーティリティ
  • strip_accents(text) - ベトナム語のアクセント記号を削除
  • _no_accent_vietnamese(text) - ベトナム語テキストを変換
ファイルユーティリティ
  • zip_dir(source_dir, output_file) - ディレクトリを ZIP 圧縮
  • zip_dirs(dirs, output_file) - 複数のディレクトリを ZIP 圧縮
  • _get_file_size(file_path) - 人が読みやすい形式でファイルサイズを取得
数値ユーティリティ
  • round_decimal(value, decimal_places) - 小数点以下の指定した桁数に丸める

詳細なドキュメントについては、odoo-18-dtg-base-guide.md を参照してください。

コメント