Finish to merge likes classes

This commit is contained in:
poka 2020-12-07 17:09:13 +01:00
parent cc68918d59
commit fd0f340bc5
1 changed files with 9 additions and 67 deletions

View File

@ -4,35 +4,12 @@ from time import sleep
from hashlib import sha256 from hashlib import sha256
from datetime import datetime from datetime import datetime
from termcolor import colored from termcolor import colored
from lib.cesiumCommon import CesiumCommon, PUBKEY_REGEX
PUBKEY_REGEX = "(?![OIl])[1-9A-Za-z]{42,45}" class ReadLikes(CesiumCommon):
class ReadLikes:
def __init__(self, dunikey, pod):
# Get my pubkey from my private key
try:
self.dunikey = dunikey
if not dunikey:
raise ValueError("Dunikey is empty")
except:
sys.stderr.write("Please fill the path to your private key (PubSec)\n")
sys.exit(1)
self.issuer = get_privkey(dunikey, "pubsec").pubkey
self.pod = pod
if not re.match(PUBKEY_REGEX, self.issuer) or len(self.issuer) > 45:
sys.stderr.write("La clé publique n'est pas au bon format.\n")
sys.exit(1)
# Configure JSON document to send # Configure JSON document to send
def configDoc(self, profile): def configDoc(self, profile):
if not profile: profile = self.issuer if not profile: profile = self.pubkey
# elif len(profile) < 42:
# print(len(profile))
# gProfile = requests.get('{0}/user/profile/{1}'.format(self.pod, issuer))
# gProfile = json.loads(gProfile.text)['_source']
# pseudo = gProfile['title']
data = {} data = {}
data['query'] = {} data['query'] = {}
@ -96,7 +73,7 @@ class ReadLikes:
payTo = '' payTo = ''
id = i['_id'] id = i['_id']
level = i['_source']['level'] level = i['_source']['level']
if issuer == self.issuer: if issuer == self.pubkey:
finalPrint['yours'] = { 'id' : id, 'pseudo' : pseudo, 'payTo' : payTo, 'level' : level } finalPrint['yours'] = { 'id' : id, 'pseudo' : pseudo, 'payTo' : payTo, 'level' : level }
else: else:
finalPrint['likes'].append({ 'issuer' : issuer, 'pseudo' : pseudo, 'payTo' : payTo, 'level' : level }) finalPrint['likes'].append({ 'issuer' : issuer, 'pseudo' : pseudo, 'payTo' : payTo, 'level' : level })
@ -130,27 +107,10 @@ class ReadLikes:
#################### Like class #################### #################### Like class ####################
class SendLikes: class SendLikes(CesiumCommon):
def __init__(self, dunikey, pod):
# Get my pubkey from my private key
try:
self.dunikey = dunikey
if not dunikey:
raise ValueError("Dunikey is empty")
except:
sys.stderr.write("Please fill the path to your private key (PubSec)\n")
sys.exit(1)
self.issuer = get_privkey(dunikey, "pubsec").pubkey
self.pod = pod
if not re.match(PUBKEY_REGEX, self.issuer) or len(self.issuer) > 45:
sys.stderr.write("La clé publique n'est pas au bon format.\n")
sys.exit(1)
# Configure JSON document to send # Configure JSON document to send
def configDoc(self, profile, likes): def configDoc(self, profile, likes):
if not profile: profile = self.issuer if not profile: profile = self.pubkey
if likes not in range(0, 6): if likes not in range(0, 6):
sys.stderr.write(colored('Votre like doit être compris entre 0 et 5.\n', 'red')) sys.stderr.write(colored('Votre like doit être compris entre 0 et 5.\n', 'red'))
return False return False
@ -166,7 +126,7 @@ class SendLikes:
data['kind'] = "STAR" data['kind'] = "STAR"
data['level'] = likes data['level'] = likes
data['time'] = timeSent data['time'] = timeSent
data['issuer'] = self.issuer data['issuer'] = self.pubkey
document = json.dumps(data) document = json.dumps(data)
@ -219,27 +179,9 @@ class SendLikes:
#################### Unlike class #################### #################### Unlike class ####################
class UnLikes: class UnLikes(CesiumCommon):
def __init__(self, dunikey, pod):
# Get my pubkey from my private key
try:
self.dunikey = dunikey
if not dunikey:
raise ValueError("Dunikey is empty")
except:
sys.stderr.write("Please fill the path to your private key (PubSec)\n")
sys.exit(1)
self.issuer = get_privkey(dunikey, "pubsec").pubkey
self.pod = pod
if not re.match(PUBKEY_REGEX, self.issuer) or len(self.issuer) > 45:
sys.stderr.write("La clé publique n'est pas au bon format.\n")
sys.exit(1)
# Check if you liked this profile # Check if you liked this profile
def checkLike(self, pubkey): def checkLike(self, pubkey):
readProfileLikes = ReadLikes(self.dunikey, self.pod) readProfileLikes = ReadLikes(self.dunikey, self.pod)
document = readProfileLikes.configDoc(pubkey) document = readProfileLikes.configDoc(pubkey)
result = readProfileLikes.sendDocument(document) result = readProfileLikes.sendDocument(document)
@ -262,7 +204,7 @@ class UnLikes:
data['index'] = "like" data['index'] = "like"
data['type'] = "record" data['type'] = "record"
data['id'] = idLike data['id'] = idLike
data['issuer'] = self.issuer data['issuer'] = self.pubkey
data['time'] = timeSent data['time'] = timeSent
document = json.dumps(data) document = json.dumps(data)