本文整理汇总了Python中transport.Transport.nfcSetRecordInfo方法的典型用法代码示例。如果您正苦于以下问题:Python Transport.nfcSetRecordInfo方法的具体用法?Python Transport.nfcSetRecordInfo怎么用?Python Transport.nfcSetRecordInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类transport.Transport
的用法示例。
在下文中一共展示了Transport.nfcSetRecordInfo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MicroNFCBoard
# 需要导入模块: from transport import Transport [as 别名]
# 或者: from transport.Transport import nfcSetRecordInfo [as 别名]
#.........这里部分代码省略.........
self._transport.nfcPrepareMessage(True, False)
recordNumber = 0
spRecordNumber = len(records) #Smart poster records after main records
for record in records:
spRecordNumber = self._addNdefRecord(recordNumber, record, spRecordNumber)
recordNumber += 1
self._transport.nfcSetMessageInfo(recordNumber)
self._transport.nfcPrepareMessage(False, True)
recordNumber = 0
spRecordNumber = len(records)
for record in records:
spRecordNumber = self._setNdefRecord(recordNumber, record, spRecordNumber)
recordNumber += 1
#self._transport.nfcSetMessageInfo(recordNumber)
def _addNdefRecord(self, recordNumber, record, recordsStart, spAllowed = True):
funcs = { URIRecord : self._generateURIRecord,
TextRecord : self._generateTextRecord,
SmartPosterRecord : self._generateSmartPosterRecord,
MIMERecord : self._generateMIMERecord,
}
if( not spAllowed and type(record) == SmartPosterRecord ):
raise SmartPosterNestingException()
return funcs[type(record)](recordNumber, record, recordsStart)
def _generateURIRecord(self, recordNumber, record, spRecordNumber):
#Try to get prefix
buf = array("B")
buf.fromstring(record.uri)
prefix, length = self._encodePrefix(buf[0:36])
self._transport.nfcSetRecordInfo(recordNumber, 1, [prefix, len(buf[length:])])
return spRecordNumber
def _generateTextRecord(self, recordNumber, record, spRecordNumber):
languageCodeBuf = array("B")
languageCodeBuf.fromstring(record.language)
textBuf = array("B")
textBuf.fromstring(record.text)
self._transport.nfcSetRecordInfo(recordNumber, 2, [{v: k for k, v in TEXT_ENCODING.items()}[record.encoding], len(languageCodeBuf), len(textBuf)])
return spRecordNumber
def _generateSmartPosterRecord(self, recordNumber, record, recordsStart):
self._transport.nfcSetRecordInfo(recordNumber, 3, [recordsStart, len(record.records)])
spRecordNumber = recordsStart
for spRecord in record.records:
self._addNdefRecord(spRecordNumber, spRecord, 0, False) #No sub records
spRecordNumber += 1
return spRecordNumber
def _generateMIMERecord(self, recordNumber, record, spRecordNumber):
mimeTypeBuf = array("B")
mimeTypeBuf.fromstring(record.mimeType)
dataBuf = array("B", record.data)
self._transport.nfcSetRecordInfo(recordNumber, 4, [len(mimeTypeBuf), len(dataBuf)])