def UpdateSQPr(pr, sig=None): if sig is None: session['updatesqpr'] = pr return pr else: orig = SHA256.new(session['updatesqpr'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify(orig, bytes.fromhex(sig)): try: api = mc.getApi() txid = mc.publishItem(api, session['username'], 'updatesqlpr', session['updatesqpr'], sig) except: print("MultiChain Error") return "D" else: session.pop('updatesqpr', None) return "S"
def UpdatePk(uid, pubkey, sig=None): if sig is None: data = uid+','+pubkey+',updatepubkey' session['updatepk'] = data return data else: orig = SHA256.new(session['updatepk'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify(orig, bytes.fromhex(sig)): try: api = mc.getApi() txid = mc.publishItem(api, session['username'], 'updatepubkey', session['updatepk'], sig) except: print("MultiChain Error") return "D" else: session.pop('updatepk', None) return "S"
def ExecFunc(func, param, sig=None): if sig is None: data = func+'||'+param session['execfunc'] = data return data else: orig = SHA256.new(session['execfunc'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify(orig, bytes.fromhex(sig)): try: api = mc.getApi() txid = mc.publishItem(api, session['username'], session['execfunc'].split('||')[0], session['execfunc'], sig) except: print("MultiChain Error") return "D" else: session.pop('execfunc', None) return "S"
def InstrCourses(uid, courses, sig=None): if sig is None: data = uid+'||'+courses+'||instrcourses' session['instrc'] = data return data else: orig = SHA256.new(session['instrc'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify(orig, bytes.fromhex(sig)): try: api = mc.getApi() txid = mc.publishItem(api, session['username'], 'instrcourses', session['instrc'], sig) except: print("MultiChain Error") return "D" else: session.pop('instrc', None) return "S"
def Update(uid, course, newGrade, sig=None): data = uid + ',' + course + ',' + newGrade + ',gradeupdate' if sig is None: session['update'] = data return data else: orig = SHA256.new(session['update'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify( orig, bytes.fromhex(sig)): import mc try: api = mc.getApi() txid = mc.publishItem(api, session['username'], 'gradeupdate', session['update'], sig) except: print("MultiChain Error") return "D" else: session.pop('update', None) return "S" else: return "D"
def Insert(data, count, sig=None): if sig is None: v = [tuple(i.values()) for i in data] s = map(list, zip(*v)) dt = "||".join([",".join(i) for i in s]) + "||gradeinsert" session['insert'] = dt return dt else: orig = SHA256.new(session['insert'].encode()) if pkcs.new(RSA.importKey(session['pubkey'])).verify( orig, bytes.fromhex(sig)): import mc try: api = mc.getApi() txid = mc.publishItem(api, session['username'], 'gradeinsert', session['insert'], sig) except: print("MultiChain Error") return jsonify({'status': 'D'}) else: session.pop('insert', None) return jsonify({'status': 'S'}) else: return jsonify({'status': 'D'})