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
# -*- 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:
# -*- 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()