#!/usr/bin/env python
from __future__ import generators
import struct, sys, os, time, types, glob, posixfile, zlib, cStringIO
ftypetbl = {
1: 'FILE',
2: 'DIRECTORY',
}
def writestring(s):
s = unicode(s, 'latin1').encode('utf16')[2:]
return struct.pack('L', len(s)/2) + s
fp = cStringIO.StringIO()
fp.write(struct.pack('L', 3)) # Version
fp.write(writestring("RH-12")) # Firmware
fp.write(writestring("Nokia 6230")) # Phone
fp.write(struct.pack('L', 1)) # NEntries
data = open("Calendar.ncc").read()
fp.write(struct.pack('L', 1)) # FType: File
fp.write(writestring(r"\CALENDAR")) # Filename
fp.write(struct.pack('L', len(data))) # Length
fp.write(data) # Data
fp.write(struct.pack('L', time.time()))# Timestamp
data = fp.getvalue()
fp = open('output.nfb', 'w')
fp.write(data)
fp.write(struct.pack('L', zlib.crc32(data))) # Checksum
fp.close()