")
async def service(request, name=None):
if(name):
template = env.get_template('services.html')
f = open(f'{data_dir}/services.json')
data = json.load(f)
for service in data['services']:
if service['name'].replace(' ', '').lower() == name:
try:
tpinfo = await get_trustpilot_info(service)
except:
tpinfo = {
"score": False
}
template = env.get_template('service.html')
return html(template.render(date=date, service=service, tpinfo=tpinfo))
return(f"{name} does not exist")
@app.route("/generate-new-exchange", name="new-exchange", methods=['POST', 'GET'])
async def gne(request):
if(request.args):
args = request.args
exchange_json = {
"name": args['name'][0],
"verified": False,
"btc": {args['btc'][0]},
"xmr": {args['xmr'][0]},
"lnn": {args['lnn'][0]},
"cash": {args['cash'][0]},
"p2p": {args['p2p'][0]},
"tor": {args['tor'][0]},
"refunds": False,
"open-source": {args['open-source'][0]},
"custodial": {args['custodial'][0]},
"javascript": {args['javascript'][0]},
"registration": {args['registration'][0]},
"personal-info": {args['personal-info'][0]},
"buy": {args['buy'][0]},
"exchange": {args['exchange'][0]},
"short-description": args['short-d'][0],
"long-description": args['large-d'][0],
"comments": False,
"kyc-check": False,
"kyc-type": {args['kyc-type'][0]},
"score": None,
"suspicious-tos": False,
"tor-onion": args['tor-url'][0],
"url": args['url'][0],
"tos-urls": [
args['tos-url'][0]
],
"score-boost": 0
}
return(text((str(exchange_json))))
template = env.get_template('generate-new-exchange.html')
if(request.json):
return text('POST request - {}'.format(request.json))
return(html(template.render()))
@app.route("/generate-new-service", name="new-service", methods=['POST', 'GET'])
async def gns(request):
if(request.args):
args = request.args
yamlString = f"""
- name: {args['name'][0]}
short-description: {args['short-d'][0]}
long-description: {args['large-d'][0]}
btc: {args['btc'][0]}
xmr: {args['xmr'][0]}
cash: {args['cash'][0]}
registration: {args['registration'][0]}
personal-info: {args['personal-info'][0]}
open-source: {args['open-source'][0]}
tor: {args['tor'][0]}
tor-url: {args['tor-url'][0]}
tos-url: {args['tos'][0]}
url: {args['url'][0]}
category: {args['category'][0]}
verified: false
"""
return(html(yamlString))
template = env.get_template('generate-new-service.html')
if(request.json):
return text('POST request - {}'.format(request.json))
return(html(template.render()))
'''
async def generate_donations_qrcodes(donations):
qr = qrcode.QRCode()
qr.add_data(donations['xmr'])
qr.make(fit=True)
xmr = qr.make_image(fill_color="white", back_color=(26, 26, 26))
qr = qrcode.QRCode()
qr.add_data(donations['btc'])
qr.make(fit=True)
btc = qr.make_image(fill_color="white", back_color=(26, 26, 26))
qr = qrcode.QRCode()
qr.add_data(donations['nano'])
qr.make(fit=True)
nano = qr.make_image(fill_color="white", back_color=(26, 26, 26))
xmr.save("static/img/qrcodes/xmr.png")
btc.save("static/img/qrcodes/btc.png")
nano.save("static/img/qrcodes/nano.png")
'''
async def get_trustpilot_info(service):
r = httpx.get(
f"https://www.trustpilot.com/review/{service['url'].replace('https://', '')[:-1]}")
soup = BeautifulSoup(r.content, features="html.parser")
if soup.find_all('div', class_="error-page"):
trustscore = False
review_count = ''
tplink = "#"
else:
trustscore = soup.find_all('p', class_='header_trustscore')[0].text
review_count = soup.find_all(
'span', class_="headline__review-count")[0].text
tplink = f"https://www.trustpilot.com/review/{service['url'].replace('https://', '')[:-1]}"
tpinfo = {
'score': trustscore,
'count': review_count,
'link': tplink
}
return tpinfo
'''def get_last_commit_date():
repo = git.Repo(search_parent_directories=True)
tree = repo.tree()
lastcommit = 1111316191
for blob in tree:
commit = list(repo.iter_commits(paths=blob.path, max_count=1))
date = commit[0].committed_date
if lastcommit < date:
lastcommit = date
return time.strftime("%d/%m/%Y", time.gmtime(date))
date = get_last_commit_date()'''
date = "13/09/21"