前提・実現したいこと
ヘッダ情報と明細情報からなるXMLの作成をデコレータを使って実装しています
発生している問題・エラーメッセージ
ネットの情報参考に実装してみたのですが下記のエラーが発生します
Traceback (most recent call last): File "c:\apps\VSC_KK_PROT\main.py", line 11, in <module> import FORM.WORKING_FM as WORKING File "c:\apps\VSC_KK_PROT\FORM\WORKING_FM.py", line 15, in <module> import BP.XML_BP as XB File "c:\apps\VSC_KK_PROT\BP\XML_BP.py", line 6, in <module> class XML_BP: File "c:\apps\VSC_KK_PROT\BP\XML_BP.py", line 36, in XML_BP @XML_HADER TypeError: XML_HADER() missing 1 required positional argument: 'FUNC'
該当のソースコード
python
1#!/usr/bin/env python 2# -*- coding: utf8 -*- 3import xml.etree.ElementTree as ET 4import LIB.GLOBAL_VARIABLE as M 5 6class XML_BP: 7 8 def __init__(self): 9 self._ROOT = ET.Element("root") 10 11 def XML_HADER(self,FUNC): 12 # ヘッダ情報の作成 13 def wrapper(self,*args,**kwargs): 14 self._ROOT.append(ET.Element("userID",M.INST_COMMON.INST_LOGIN_INFO.USER_ID)) 15 self._ROOT.append(ET.Element("userName",M.INST_COMMON.INST_LOGIN_INFO.USER_NAME)) 16 self._ROOT.append(ET.Element("terminalname",M.INST_COMMON.INST_LOGIN_INFO.REST_WORK.TERMINAL_ID)) 17 self._ROOT.append(ET.Element("UpdateList")) 18 self._ROOT.append(ET.Element("LoginLogoutList")) 19 self.FUNC(*args,**kwargs) 20 return wrapper 21 22 23 @XML_HADER 24 def WORKING_LIST(self): 25 # 明細情報の作成 26 UPDATE_LIST = self._ROOT.find("/root/UpdateList") 27 for CUR in M.INST_COMMON.LIST_WORKING_INFO: 28 UPDATE = ET.Element("Update") 29 UPDATE.append(ET.Element("PK_WORKING",CUR.PK)) 30 UPDATE.append(ET.Element("PK_ORDER",CUR.PK_ORDER)) 31 UPDATE.append(ET.Element("seqno",CUR.SEQ_NO)) 32 UPDATE_LIST.append(UPDATE)
試したこと
クラス化しているのでデコレータを使わなくても実装はできるのですが
pythonの理解を深めるためにもデコレータで実装できないかと思ってます
補足情報(FW/ツールのバージョンなど)
python:3.6.5
tkinter:8.6
開発環境はWin10
IDEはvisual studio codeを使っています

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/06 07:51