Compare commits

..

16 Commits

Author SHA1 Message Date
Simple_Not
b646c73f47 remake many certs
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-17 12:36:23 +10:00
Simple_Not
2a93b636dc fixxxxx
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-16 15:02:57 +10:00
Simple_Not
2cb35e8015 fixxxxx
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-16 15:01:43 +10:00
Simple_Not
8a322efa6b fixxxxx
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-16 15:00:36 +10:00
Simple_Not
bbc5207cb4 retunk metrics
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-13 19:25:22 +10:00
Simple_Not
a3fbd02692 retunk metrics
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-13 18:26:36 +10:00
Simple_Not
e8bed9a381 retunk metrics 2023-07-13 18:25:01 +10:00
639e5ecc2e Пофиксил метрику
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-22 17:37:13 +10:00
Simple_Not
8d684856c9 more metrics
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-21 12:33:09 +10:00
Simple_Not
ae21a176f7 more metrics 2023-06-21 12:30:26 +10:00
Simple_Not
ef861e6bcc more metrics
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-21 12:27:46 +10:00
Simple_Not
cbb2d5de99 more metrics
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-21 12:24:29 +10:00
Simple_Not
c5104e0550 #DICKBOT-3 drone
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-20 21:22:44 +10:00
Simple_Not
528fbc8aa5 #DICKBOT-3 drone
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
2023-06-20 21:14:25 +10:00
Simple_Not
3c6cb98ce1 #DICKBOT-3 drone
Some checks failed
continuous-integration/drone/push Build is failing
2023-06-20 21:13:56 +10:00
Simple_Not
5e0879fe81 #DICKBOT-3 drone
Some checks reported errors
continuous-integration/drone Build encountered an error
2023-06-20 21:12:10 +10:00
4 changed files with 92 additions and 35 deletions

31
.drone.yml Normal file
View File

@@ -0,0 +1,31 @@
---
kind: pipeline
type: exec
name: default
platform:
os: linux
arch: amd64
#clone:
# убрано так как сейчас не тестим ничего предварительно а сразу тянем в директорию
#disable: true
steps:
- name: test it first
commands:
- /usr/bin/python3 -m py_compile exporto.py
- name: pull into the folduh
commands:
- cd /usr/share/$DRONE_REPO_NAME
- su -c "git pull" jack
#- chown -R jack:jack .
when:
branch:
- BIG_DICK_COCK
- name: restart systemd unit
commands:
- systemctl restart pipisa_exporter
when:
branch:
- BIG_DICK_COCK

View File

@@ -1 +0,0 @@
asdf

View File

@@ -1,32 +1,13 @@
from sqlalchemy import create_engine, Integer, String, BIGINT, Column, DateTime
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import select, update
from flask import Flask from flask import Flask
#### https://docs.python-arango.com/en/main/
from arango import ArangoClient
app = Flask(__name__) app = Flask(__name__)
engine = create_engine('postgresql+psycopg2://postgres:postgres@postgres.vdk2ch.ru:5432/jack_bot', echo=True)
Session = sessionmaker(bind=engine)
Base = declarative_base()
class user(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
user_id = Column(Integer)
user_fullname = Column(String)
dick_size = (Column(Integer))
datetimes = (Column(DateTime))
chat_id = Column(BIGINT)
@@ -34,23 +15,63 @@ class user(Base):
def get_top_dicks(): def get_top_dicks():
session = Session() arango_client = ArangoClient(hosts='https://arango.guaranteedstruggle.host')
pipisa_db = arango_client.db('pipisa', username='root', password='stolendick527')
dicks_collection = pipisa_db.collection('dicks')
top = session.query(user.user_fullname, user.dick_size, user.user_id, user.chat_id).all() dicks = dicks_collection.all( )
dicks = [[
d['user_fullname'],
d['dick_size'],
d['user_id'],
d['chat_id'],
d['attempts'],
] for d in dicks]
dicks = sorted(dicks, key=lambda dick: dick[1], reverse=True)
session.close()
return dicks
return top
@app.route('/metrics') @app.route('/metrics')
def metrics(): def metrics():
metrics = "" metrics = ""
for dick in get_top_dicks():
metrics += 'pipisio{user="%s", user_id="%s", chat_id="%s"} %s\n' % (dick[0], dick[2], dick[3], dick[1]) docks = get_top_dicks()
# текущий размер пипис
for dick in docks:
metrics += 'pipisio{user="%s", user_id="%s", chat_id="%s"} %s\n' % (dick[0], dick[2], dick[3], dick[1])
# текущее число попыток
for dick in docks:
metrics += 'pipisio_attempto{user="%s", user_id="%s", chat_id="%s"} %s\n' % (dick[0], dick[2], dick[3], dick[4])
docks = [ d for d in docks if d[3] == -1001355646177]
# расстояние до следующего впереди
for k in range(len(docks)):
### не самый красивый код для не самой красивой ситуации
if k == 0:
metrics += 'pipisio_topdick_distanso{user="%s", user_id="%s", chat_id="%s"} %s\n' % (docks[k][0], docks[k][2], docks[k][3], 0)
else:
i = k - 1
upper_dick_size = docks[i][1]
while i > 0 and upper_dick_size == docks[k][1]:
i -= 1
upper_dick_size = docks[i][1]
metrics += 'pipisio_topdick_distanso{user="%s", user_id="%s", chat_id="%s"} %s\n' % (docks[k][0], docks[k][2], docks[k][3], (upper_dick_size - docks[k][1]))
return metrics return metrics
if __name__ == '__main__': if __name__ == '__main__':
app.run(host='0.0.0.0', port=9992) app.run(host='0.0.0.0', port=9992)
engine.dispose()

6
requirements.txt Normal file
View File

@@ -0,0 +1,6 @@
aiogram
sqdb
sqlalchemy
graypy
flask
psycopg2