コード例 #1
0
ファイル: UpdateAdmin.py プロジェクト: Miraj50/BcD
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"
コード例 #2
0
ファイル: UpdateAdmin.py プロジェクト: Miraj50/BcD
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"
コード例 #3
0
ファイル: UpdateAdmin.py プロジェクト: Miraj50/BcD
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"
コード例 #4
0
ファイル: UpdateAdmin.py プロジェクト: Miraj50/BcD
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"
コード例 #5
0
ファイル: Update.py プロジェクト: Miraj50/BcD
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"
コード例 #6
0
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'})