from flask import abort, Flask, request
from flask.ext import restful
import json
import logging
import os
import paramiko
from Queue import Queue
import re
import select
import subprocess
import threading
import time

from themylog.client import setup_logging_handler

setup_logging_handler("souvlaki_space_station_guests_devices_watcher")
logging.getLogger("paramiko.transport").setLevel(logging.INFO)

###

devices = {
    "version": 1,
    "devices": set(),
}

def main(host, port):
    logger = logging.getLogger("main_thread")

    while True:
        try:
            client = paramiko.SSHClient()
import requests
from sqlalchemy import event, exc, create_engine
from sqlalchemy.orm import create_session
from sqlalchemy.pool import Pool
from sqlalchemy.sql import func
import sys
import time
import twitter

from themylog.client import setup_logging_handler
from themylog.handler.sql import SQLRecord
import themyutils.json
import twitter_overkill
from twitter_overkill.utils import join_list

setup_logging_handler("smarthome_twitter")
logging.getLogger("pika").setLevel(logging.INFO)

consumer_key = ""
consumer_secret = ""
access_token_key = ""
access_token_secret = "" 

last_fm_username = "******"

api = twitter.Api(consumer_key=consumer_key,
                  consumer_secret=consumer_secret,
                  access_token_key=access_token_key,
                  access_token_secret=access_token_secret)

from last_fm.db import db as last_fm_db
Ejemplo n.º 3
0
# -*- coding=utf-8 -*-
from __future__ import absolute_import, division, unicode_literals

import dateutil.parser
import logging
from lxml import objectify
import sys
import time
import urllib2

from themylog.client import Client, setup_logging_handler
from themylog.collector.timeline import Timeline
from themylog.level import levels
from themylog.record import Record

setup_logging_handler("sms_daemon")
sys.argv = ["", "sms"]

client = Client()
sms = set()
while True:
    try:
        xml = urllib2.urlopen("http://192.168.1.1/api/sms/sms-list",
                              '<?xml version="1.0" encoding="UTF-8"?>' +
                              '<request>' +
                              '<PageIndex>1</PageIndex>' +
                              '<ReadCount>20</ReadCount>' +
                              '<BoxType>1</BoxType>' +
                              '<SortType>0</SortType>' +
                              '<Ascending>0</Ascending>' +
                              '<UnreadPreferred>0</UnreadPreferred>' +
import json
import logging
import os
import signal
import subprocess
import sys
import textwrap
import time
import urllib2
import urlparse
from websocket import create_connection

from themylog.client import setup_logging_handler
from themyutils.restful_api.clients import RestfulApiPoller

setup_logging_handler("souvlaki_space_station_mpdscribble_instance_manager")

logger = logging.getLogger(__name__)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="mpdscribble instance manager")
    parser.add_argument("--guests-api", required=True, help="Guests API URL")
    parser.add_argument("--mpd-host", required=True, help="MPD host")
    parser.add_argument("--mpdscribble-path", default=os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "mpdscribble-sk")), help="mpdscribble path")
    args = parser.parse_args()

    mpdscribble_binary = os.path.join(args.mpdscribble_path, "src", "mpdscribble")
    mpdscribble_data_dir = os.path.join(args.mpdscribble_path, "data")

    while True:
        try:
Ejemplo n.º 5
0
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, unicode_literals

from flask.ext.bootstrap import Bootstrap

from themylog.client import setup_logging_handler
from themyutils.flask.redis_session import RedisSessionInterface

from last_fm.app import app
from last_fm.cache import cache
from last_fm.celery import celery
from last_fm.db import db
from last_fm.login_manager import login_manager
from last_fm.models import *

Bootstrap(app)
login_manager.init_app(app)
app.session_interface = RedisSessionInterface(prefix="last.fm:session:")

setup_logging_handler("last_fm")

import last_fm.api
import last_fm.cron
import last_fm.hacks
import last_fm.views
import argparse
import datetime
import dateutil.parser
import dateutil.tz
import json
import logging
import os
import sys
import time
import urllib
import urllib2

from themylog.client import setup_logging_handler
from themyutils.restful_api.clients import RestfulApiPoller

setup_logging_handler("souvlaki_space_station_automatical_guests_manager", exception_level="warning")

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="Automatical Guests Manager")
    parser.add_argument("--api", required=True, help="Guests API URL")
    parser.add_argument("--watcher", required=True, help="Guests Devices Watcher URL")
    args = parser.parse_args()

    for data in RestfulApiPoller(args.watcher + "/devices"):
        logging.debug("Following devices are present: %s", json.dumps(data["devices"]))

        while True:
            try:
                users_should_be_online = {}
                for device in data["devices"]:
                    try:
from lxml import objectify, etree
import socket
from sqlalchemy.sql import func
import threading
import time
import urllib
import urllib2

from themylog.client import setup_logging_handler
from themyutils.misc import retry

from last_fm.app import app
from last_fm.db import db
from last_fm.models import *

setup_logging_handler("last.fm_sync_scrobbles_daemon")

logger = logging.getLogger()

socket.setdefaulttimeout(10)


##     ## ########  ########     ###    ######## ########          ######   ######  ########   #######  ########  ########  ##       ########  ######
##     ## ##     ## ##     ##   ## ##      ##    ##               ##    ## ##    ## ##     ## ##     ## ##     ## ##     ## ##       ##       ##    ##
##     ## ##     ## ##     ##  ##   ##     ##    ##               ##       ##       ##     ## ##     ## ##     ## ##     ## ##       ##       ##
##     ## ########  ##     ## ##     ##    ##    ######            ######  ##       ########  ##     ## ########  ########  ##       ######    ######
##     ## ##        ##     ## #########    ##    ##                     ## ##       ##   ##   ##     ## ##     ## ##     ## ##       ##             ##
##     ## ##        ##     ## ##     ##    ##    ##               ##    ## ##    ## ##    ##  ##     ## ##     ## ##     ## ##       ##       ##    ##
#######  ##        ########  ##     ##    ##    ########          ######   ######  ##     ##  #######  ########  ########  ######## ########  ######

from __future__ import absolute_import, division, unicode_literals

import argparse
from datetime import datetime, timedelta
import json
import logging
import pika
import requests
import time
import urlparse
from websocket import create_connection

from themylog.client import setup_logging_handler
from themyutils.threading import start_daemon_thread

setup_logging_handler("souvlaki_space_station_guests_announcer")

logger = logging.getLogger(__name__)


class GuestsWatcher(object):
    def __init__(self, guests_api, smarthome_api):
        self.guests_api = guests_api
        self.smarthome_api = smarthome_api

        self.guests = []
        self.expected_guests = []

        self.first_start = True
        self.last_front_door_closed_at = datetime.min
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, unicode_literals

import json
import logging
import mpd
import pika
import socket
import sys
import themyutils.json
import time
import urllib

from themylog.client import setup_logging_handler

setup_logging_handler("move_player_to_mpd")


def superseed():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(("192.168.0.7", 20139))
    s.sendall("become_superseeded\r\n")
    r = ""
    while True:
        data = s.recv(1024)
        if not data:
            break
        r += data
    r = json.loads(r)
    s.close()