|  |  | 
 |  |  | 
 | 
 |  |  | class  tagGCAuctionItemInfo(Structure):
 | 
 |  |  |     Head = tagHead()
 | 
 |  |  |     QueryType = 0    #(DWORD QueryType)//查询的分类标识
 | 
 |  |  |     QueryCount = 0    #(BYTE QueryCount)//指定返回个数,0为全部
 | 
 |  |  |     Job = 0    #(BYTE Job)//过滤职业,0为不限制
 | 
 |  |  |     ItemType = 0    #(BYTE ItemType)//过滤类型,0为不限制
 | 
 |  |  |     ClassLV = 0    #(BYTE ClassLV)//过滤阶数,0为不限制
 | 
 |  |  |     SpecItemIDCount = 0    #(BYTE SpecItemIDCount)//指定物品ID个数
 | 
 |  |  |     SpecItemIDList = list()    #(vector<DWORD> SpecItemIDList)//指定物品ID
 | 
 |  |  |     FromNum = 0    #(WORD FromNum)//查询起始数 (从1开始)
 | 
 |  |  |     QueryCount = 0    #(BYTE QueryCount)//查询个数,0为全部
 | 
 |  |  |     IsFamily = 0    #(BYTE IsFamily)//是否查询仙盟拍品
 | 
 |  |  |     AuctionItemCount = 0    #(WORD AuctionItemCount)//拍品数量
 | 
 |  |  |     AuctionItemList = list()    #(vector<tagGCAuctionItem> AuctionItemList)//拍品列表
 | 
 |  |  |     QueryTotalCount = 0    #(WORD QueryTotalCount)//查询条件实际总个数
 | 
 |  |  |     AuctionItemCount = 0    #(WORD AuctionItemCount)//返回拍品数量
 | 
 |  |  |     AuctionItemList = list()    #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
 | 
 |  |  |     data = None
 | 
 |  |  | 
 | 
 |  |  |     def __init__(self):
 | 
 |  |  | 
 |  |  |     def ReadData(self, _lpData, _pos=0, _Len=0):
 | 
 |  |  |         self.Clear()
 | 
 |  |  |         _pos = self.Head.ReadData(_lpData, _pos)
 | 
 |  |  |         self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos)
 | 
 |  |  |         self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ItemType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         for i in range(self.SpecItemIDCount):
 | 
 |  |  |             value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
 | 
 |  |  |             self.SpecItemIDList.append(value)
 | 
 |  |  |         self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
 | 
 |  |  |         self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.IsFamily,_pos = CommFunc.ReadBYTE(_lpData, _pos)
 | 
 |  |  |         self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
 | 
 |  |  |         self.AuctionItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
 | 
 |  |  |         for i in range(self.AuctionItemCount):
 | 
 |  |  |             temAuctionItemList = tagGCAuctionItem()
 | 
 |  |  | 
 |  |  |         self.Head.Clear()
 | 
 |  |  |         self.Head.Cmd = 0xB5
 | 
 |  |  |         self.Head.SubCmd = 0x01
 | 
 |  |  |         self.QueryType = 0
 | 
 |  |  |         self.Job = 0
 | 
 |  |  |         self.ItemType = 0
 | 
 |  |  |         self.ClassLV = 0
 | 
 |  |  |         self.SpecItemIDCount = 0
 | 
 |  |  |         self.SpecItemIDList = list()
 | 
 |  |  |         self.FromNum = 0
 | 
 |  |  |         self.QueryCount = 0
 | 
 |  |  |         self.IsFamily = 0
 | 
 |  |  |         self.QueryTotalCount = 0
 | 
 |  |  |         self.AuctionItemCount = 0
 | 
 |  |  |         self.AuctionItemList = list()
 | 
 |  |  |         return
 | 
 |  |  | 
 |  |  |     def GetLength(self):
 | 
 |  |  |         length = 0
 | 
 |  |  |         length += self.Head.GetLength()
 | 
 |  |  |         length += 4
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 4 * self.SpecItemIDCount
 | 
 |  |  |         length += 2
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 1
 | 
 |  |  |         length += 2
 | 
 |  |  |         length += 2
 | 
 |  |  |         for i in range(self.AuctionItemCount):
 | 
 |  |  |             length += self.AuctionItemList[i].GetLength()
 | 
 |  |  | 
 |  |  |     def GetBuffer(self):
 | 
 |  |  |         data = ''
 | 
 |  |  |         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
 | 
 |  |  |         data = CommFunc.WriteDWORD(data, self.QueryType)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.Job)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ItemType)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.ClassLV)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
 | 
 |  |  |         for i in range(self.SpecItemIDCount):
 | 
 |  |  |             data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
 | 
 |  |  |         data = CommFunc.WriteWORD(data, self.FromNum)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.QueryCount)
 | 
 |  |  |         data = CommFunc.WriteBYTE(data, self.IsFamily)
 | 
 |  |  |         data = CommFunc.WriteWORD(data, self.QueryTotalCount)
 | 
 |  |  |         data = CommFunc.WriteWORD(data, self.AuctionItemCount)
 | 
 |  |  |         for i in range(self.AuctionItemCount):
 | 
 |  |  |             data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
 | 
 |  |  | 
 |  |  |     def OutputString(self):
 | 
 |  |  |         DumpString = '''
 | 
 |  |  |                                 Head:%s,
 | 
 |  |  |                                 QueryType:%d,
 | 
 |  |  |                                 Job:%d,
 | 
 |  |  |                                 ItemType:%d,
 | 
 |  |  |                                 ClassLV:%d,
 | 
 |  |  |                                 SpecItemIDCount:%d,
 | 
 |  |  |                                 SpecItemIDList:%s,
 | 
 |  |  |                                 FromNum:%d,
 | 
 |  |  |                                 QueryCount:%d,
 | 
 |  |  |                                 IsFamily:%d,
 | 
 |  |  |                                 QueryTotalCount:%d,
 | 
 |  |  |                                 AuctionItemCount:%d,
 | 
 |  |  |                                 AuctionItemList:%s
 | 
 |  |  |                                 '''\
 | 
 |  |  |                                 %(
 | 
 |  |  |                                 self.Head.OutputString(),
 | 
 |  |  |                                 self.QueryType,
 | 
 |  |  |                                 self.Job,
 | 
 |  |  |                                 self.ItemType,
 | 
 |  |  |                                 self.ClassLV,
 | 
 |  |  |                                 self.SpecItemIDCount,
 | 
 |  |  |                                 "...",
 | 
 |  |  |                                 self.FromNum,
 | 
 |  |  |                                 self.QueryCount,
 | 
 |  |  |                                 self.IsFamily,
 | 
 |  |  |                                 self.QueryTotalCount,
 | 
 |  |  |                                 self.AuctionItemCount,
 | 
 |  |  |                                 "..."
 | 
 |  |  |                                 )
 |