def setup_influx_client(): global client INFLUX_URI = config.key("INFLUX_URI") INFLUX_USERNAME = config.key("INFLUX_USERNAME") INFLUX_PASSWORD = config.key("INFLUX_PASSWORD") INFLUX_DATABASE = config.key("INFLUX_DATABASE") client = influxdb.InfluxDBClient(INFLUX_URI, 8086, INFLUX_USERNAME, INFLUX_PASSWORD, INFLUX_DATABASE)
def send_warning_email(message): server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo() server.starttls() server.login(config.key('GMAIL_LOGIN'), config.key('GMAIL_APP_PASSWORD')) sender = config.key('GMAIL_FROM_ADDRESS') msg = MIMEText("""{}""".format(message)) recipients = [config.key('GMAIL_TO_ADDRESS1'), config.key('GMAIL_TO_ADDRESS2')] msg['Subject'] = "Kolla värmepumpen" msg['From'] = sender msg['To'] = ", ".join(recipients) server.sendmail(sender, recipients, msg.as_string()) server.quit()
def shorten_url(url_to_shorten): try: url = "https://www.googleapis.com/urlshortener/v1/url?key=" + key() data = json.JSONEncoder().encode({'longUrl': url_to_shorten}) headers = {"Content-Type": "application/json"} response = requests.post(url, data=data, headers=headers) return response.json()['id'] except Exception as e: print(e) return False
def home(): SECRET_KEY = config.key() spot = str(request.args.get('spotId')) response = requests.get("http://magicseaweed.com/api/" + str(SECRET_KEY) + "/forecast/?spot_id=" + spot) if response: if response.status_code == 200: return str(response.content) else: return 'Failure Code Returned' else: return 'Failure'
from Arlo import Arlo import config USERNAME = config.key("ARLO_USERNAME") PASSWORD = config.key("ARLO_PASSWORD") try: arlo = Arlo(USERNAME, PASSWORD) basestations = arlo.GetDevices('basestation') arlo.Disarm(basestations[0]) except Exception as e: print(e)
def start(): try: global lesson, current_admin_id, waiter for event in LongPoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: request = event.object.text.lower() user_id = event.object.peer_id # editor mod if user_id == current_admin_id: if request == 'добавить дз': send_message('выберите предмет', user_id, key(subjects)) elif request == 'save data': save() send_message('data saved', user_id, key(admin)) elif request == 'load data': load() send_message('data loaded', user_id, key(admin)) elif request in sub: lesson = request waiter = True send_message('Введите дз', user_id, key(empty)) elif request == 'обычный режим': send_message('слушаюсь и повинуюсь', user_id, key(main)) admin_quit() elif waiter is True: hw[lesson] = event.object.text save() send_message('дз изменено', user_id, key(admin)) waiter = False else: send_message('ты творишь что-то слишком хитрое', user_id, key(admin)) else: # editor auth if request == 'режим разработчика': if user_id in EDITORS: if current_admin_id == 0: current_admin_id = user_id send_message('слушаюсь и повинуюсь', user_id, key(admin)) else: send_message('режим разработчика занят', user_id, key(main)) else: send_message('недостаточно прав доступа', user_id, key(main)) # common user elif request == 'начать': send_message('Запуск систем.', user_id, key(main)) send_message('Генерация ответов на глупые вопросы.', user_id, key(main)) send_message( 'Согласно моим экстрасенсорным способностям, ты хочешь спросить дз.', user_id, key(main)) elif request == 'расписание звонков': send_message(timetable_out(), user_id, key(main)) elif request == 'расписание уроков': send_message(schedule_out(), user_id, key(main)) elif request == 'дз на день': send_message('выберете день недели', user_id, key(day)) elif request == 'всё дз': send_message(hw_out(), user_id, key(main)) elif request == 'полезные ссылки': send_message('ok', user_id, key(link)) elif request == 'призвать админа': send_message('*звуки дьявольского призыва*', user_id, key(main)) send_message( get_name_by_id(user_id) + ' призывает тебя', ADMIN) elif request in schedule.keys(): date = list(schedule.keys()).index(request) send_message(day_out(date), user_id, key(main)) elif request == 'дз на завтра': send_message( day_out(datetime.datetime.today().isoweekday()), user_id, key(main)) elif request == 'назад': send_message('ok', user_id, key(main)) elif request == 'reset' and user_id == ADMIN: admin_quit() send_message('reset was successful', user_id, key(main)) else: send_message( get_name_by_id(user_id) + ' использует неизвестные команды', ADMIN) except Exception as e: print('Error:', e) start()
#!/usr/bin/env python3 import requests import json import time import config url = "{}{}".format(config.key("url"), "/domains") username = config.key("username") password = config.key("password") while True: r = requests.get(url, auth=(username, password)) print(r.status_code) if (r.status_code < 400): for x in r.json(): print("removing", x['id'], "domain = ", x['name']) x = requests.delete("%s/%s" % (url, x['id']), auth=(username, password)) #for key in x.keys(): print(key) print("Adding a new domain") y = requests.post(url, json={ "user_id": "1", "name": "test1.ispbrasil.com.br" }, auth=(username, password)) print("pausing for 10secs") time.sleep(10)
import config import httplib import urllib import logging # originally from https://github.com/seanbechhofer/raspberrypi/blob/master/python/thingspeak.py KEY = config.key('THINGSPEAK_API_KEY') logger = logging.getLogger(__name__) def log(dataToSend, verbose=False): dataToSend['api_key'] = KEY if verbose: print dataToSend params = urllib.urlencode(dataToSend) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn = httplib.HTTPSConnection("api.thingspeak.com") conn.request("POST", "/update", params, headers) try: response = conn.getresponse() if verbose: logger.debug("{}, {}".format(response.status, response.reason)) data = response.read() logger.debug(data) except Exception: import traceback logger.error('exception: ' + traceback.format_exc()) conn.close()
#!/usr/bin/python import urllib2 import json import config FILE_NAME = 'external_ip.txt' API_KEY = config.key('IFTTT_EXTERNAL_IP_CHANGED_KEY') IFTTT_URL = 'https://maker.ifttt.com/trigger/external_ip_changed/with/key/{}'.format(API_KEY) with open(FILE_NAME, "r+") as f: old_external_ip = f.read() current_external_ip = urllib2.urlopen('https://api.ipify.org/?format=text').read() print "Current external IP address={}".format(current_external_ip) f.seek(0) f.write(current_external_ip) f.truncate() if old_external_ip != current_external_ip: print "New external IP address ({}) differs from old external IP address ({})".format(current_external_ip, old_external_ip) data = json.dumps({'value1':current_external_ip}) print "will send data to ifttt: {}".format(data) req = urllib2.Request(IFTTT_URL, data, {'Content-Type': 'application/json'}) f = urllib2.urlopen(req) else: print "IP address has not changed since last check." f.close()
import socket import config from threading import Timer UDP_HOST = (config.key("UDP_REPORTING_HOST"), config.int_key("UDP_REPORTING_PORT")) TIME_BETWEEN_REPORTS = config.int_key("UDP_SECONDS_BETWEEN_REPORTS") def send_message(message): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto(message, UDP_HOST) def report_status(message): send_message(message) Timer(TIME_BETWEEN_REPORTS, report_status, args=["{}".format(message)]).start() def start_reporting(message): print "UDP_HOST=", UDP_HOST print "TIME_BETWEEN_REPORTS", TIME_BETWEEN_REPORTS Timer(1, report_status, args=["{}".format(message)]).start()
#!/usr/bin/env python3 import requests import json import time import config url = "{}{}".format(config.key("url"),"/ftpaccounts") username = config.key("username") password = config.key("password") while True: r = requests.get(url, auth=(username, password)) print(r.status_code) if (r.status_code < 400): for x in r.json(): print(x) print ("removing", x['id'],"domain = " ,x['domain_name']) x = requests.delete("%s/%s" % (url,x['id']), auth=(username, password)) #for key in x.keys(): print(key) print ("Adding a new ftp account") y = requests.post(url, json = {"domain_id":"1" ,"username":"******","password":"******"}, auth=(username, password)) print("pausing for 10secs") time.sleep(10)
from config import key import urllib.request config = key() key = config.api_key word = input() url = "http://words.bighugelabs.com/api/%s/%s/%s/" % (2, key, word) syns = urllib.request.urlopen(url) print(syns.read())