import wxovercast.database as database import wxovercast.settings as settings INSERT_QUERY = """ INSERT INTO events (event_id, time, location, location_hash, raw_text, airport_id) VALUES (%s, %s, %s, MD5(%s), %s, %s) """ START_MESSAGE = chr(1) END_MESSAGE = chr(3) WMO_HEADER = re.compile(r"[A-Z]{4}[0-9]{2} [A-Z]{4} [0-9]{6}") D_WMO_HEADER = re.compile("D\x02([A-Z]{4}[0-9]{2} [A-Z]{4} [0-9]{6})") logging.basicConfig(filename=settings.LOGS['error'],level=logging.DEBUG) wxwire_settings = settings.get("wxwire") log_file = os.path.join(settings.LOG_PATH, "failed_wxwire_messages.log") db_engine = database.engine beanstalk = beanstalkc.Connection(host='localhost', port=11300) def handle_message(raw_message): split_message = raw_message.split("\r\r\n",3) try: if split_message[0] == "" and split_message[1] == "000 " and WMO_HEADER.match(split_message[2]): events = wmo_message.route_message(split_message[2], "\n".join(split_message[3:])) elif D_WMO_HEADER.match(split_message[1]): events = wmo_message.route_message(split_message[1][2:], "\n".join(split_message[2:]))
import sqlalchemy import wxovercast.settings as settings db_settings = settings.get("database") connection_url = "%s://%s:%s@%s:%s/%s" %(db_settings['type'], db_settings['username'], db_settings['password'], db_settings['host'], db_settings['port'], db_settings['database'],) engine = sqlalchemy.create_engine(connection_url)