-
-
Save sora/4fd48fa20b88f3aaec17fc4d14471415 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import sys, time, random | |
import nfc | |
import pprint | |
#import requests | |
import binascii | |
usbid = 'usb:054c:06c3' | |
servcode = 0x110B | |
class StudentIDReader(object): | |
def on_connect(self, tag): | |
print "touched" | |
service_code = [nfc.tag.tt3.ServiceCode(servcode >> 6, servcode & 0x3f)] | |
students_id = [nfc.tag.tt3.BlockCode(i) for i in range(1, 2)] | |
result_id = tag.read_without_encryption(service_code, students_id) | |
self.res_id = int(result_id[0:8]) | |
def read_id(self): | |
print "read" | |
try: | |
clf = nfc.ContactlessFrontend(usbid) | |
except IOError as error: | |
sys.stderr.write("no device found") | |
return 3 | |
try: | |
clf.connect(rdwr={'on-connect': self.on_connect}) | |
finally: | |
clf.close() | |
def main(): | |
cr = StudentIDReader() | |
previd = 0 | |
while True: | |
print "touch card:" | |
try: | |
cr.read_id() | |
finally: | |
print "unknown error" | |
sys.exit() | |
print "release" | |
if cr.res_id != previd: | |
print cr.res_id | |
previd = cr.res_id | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import datetime | |
import sqlite3 | |
class MeiboDB(object): | |
def __init__(self): | |
self.filename = "meibo_%s.sqlite3" % str(datetime.date.today()) | |
self.conn = sqlite3.connect(self.filename) | |
def filename(self): | |
print self.filename | |
def close(self): | |
self.conn.close() | |
def main(): | |
db = MeiboDB() | |
print "create database: %s" % db.filename | |
db.close | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment