コード例 #1
0
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)
コード例 #2
0
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()
コード例 #3
0
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
コード例 #4
0
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'
コード例 #5
0
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)
コード例 #6
0
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()
コード例 #7
0
#!/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)
コード例 #8
0
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()
コード例 #9
0
#!/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()
コード例 #10
0
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()
コード例 #11
0
ファイル: ftp-tests.py プロジェクト: rskgithub/yawep
#!/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)
コード例 #12
0
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())