Пример #1
0
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:]))
Пример #2
0
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)