INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Python скрипт для быстрого получения токена из Селектел

№ 11253 В разделах: Programming Sysadmin от March 21st, 2021,
В подшивках: , ,

Получает токен по логину и паролю и отдает в виде строки без переносов. Крайне удобно использовать в bash скриптах. Пример использования в моем наборе скриптов для получения сертификатов LetsEncrypt для хранилища Селектел https://git.blindage.org/21h/certbot-for-selectel

import argparse
import requests

parser = argparse.ArgumentParser("get_selectel_token")
parser.add_argument("account", help="Your master account or subaccount, i.e. 83522 or 43544_somename", type=str)
parser.add_argument("password", help="Password for this account", type=str)
args = parser.parse_args()

headers = {'X-Auth-User': str(args.account), 'X-Auth-Key': str(args.password)}
response = requests.get("https://api.selcdn.ru/auth/v1.0", headers=headers)
if response.status_code == 204:
    print(response.headers['X-Auth-Token'], end="")
else:
    print("Error:", response.status_code)

Нет комментариев »

Подключение Telegram бота на библиотеке python-telegram-bot через прокси

№ 9837 В разделе Programming от March 17th, 2019,
В подшивках: ,

Официальная страница на github весьма ясно говорит как можно указать прокси в случае использования Updater

updater = Updater(token=env_telegram_api_token, request_kwargs={
    'proxy_url': 'socks5://192.168.1.9:9050'
})

О классе Bot никто ничего особо не рассказал, вот вам пример

reqproxy = telegram.utils.request.Request(proxy_url='socks5://192.168.1.9:9050')
bot = telegram.Bot(token=env_telegram_api_token, request=reqproxy)

Также есть вариант установки переменной окружения

export https_proxy=socks5://192.168.1.9:9050

Нет комментариев »

Python bot for posting notifications to Telegram channels, groups or private

№ 9465. В разделе Programming от October 21st, 2018

В подшивках: ,

Python: Нахождение тренда

№ 9343 В разделе Programming от September 3rd, 2018,
В подшивках:

Код создаст CSV файл, который можно открыть в табличном редакторе. Код взят отсюда и чуток дополнен. Еще о трендах можно прочитать здесь.

import csv

def linreg(X, Y):
    """
    return a,b in solution to y = ax + b such that root mean square 
    distance between trend line and original points is minimized
    """
    N = len(X)
    Sx = Sy = Sxx = Syy = Sxy = 0.0
    for x, y in zip(X, Y):
        Sx = Sx + x
        Sy = Sy + y
        Sxx = Sxx + x*x
        Syy = Syy + y*y
        Sxy = Sxy + x*y
    det = Sxx * N - Sx * Sx
    return (Sxy * N - Sy * Sx)/det, (Sxx * Sy - Sx * Sxy)/det


x = [12, 34, 29, 38, 34, 51, 29, 34, 47, 34, 55, 94, 68, 81]
a,b = linreg(range(len(x)),x)  #your x,y are switched from standard notation

extrapolatedtrendline=[a*index + b for index in range(len(x))]

with open('open_in_calc.csv','w') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(x)
    spamwriter.writerow(extrapolatedtrendline)

Нет комментариев »

Prometheus: MQTT data exporter

№ 9328. В разделах: Electronics Sysadmin от September 2nd, 2018

В подшивках: , ,

Облачная платформа
Яндекс.Метрика

Fortune cookie: Nuke the gay, unborn, baby whales for Jesus.