Exemplo n.º 1
0
def main():
    verify(REQUIRED_OPS)

    auth = authorized_api()

    headers = {'user-agent': 'github/eve-basil/prospector/0.1.0-dev'}
    session = requests.Session()
    session.headers.update(headers)

    import basil.market
    basil.market.SESSION = session

    import distutils
    use_char_key = distutils.util.strtobool(
        os.environ.get('USE_CHAR_KEY', False))

    prints_keys, prints_groups = grouped_prints(auth, use_char_key)
    refapi = link_refapi(os.environ['REFAPI_URL'], session)
    evaluation = evaluate_prospects(refapi, lookup_facilities(), prints_keys,
                                    prints_groups)
    best_prospects = as_dict(filter_by_quality(evaluation))

    fields = ['product', 'profit', 'price', 'cost', 'margin']
    import csv
    prospects_file = os.environ.get('OUTPUT_PATH', 'prospects.csv')
    with open(prospects_file, 'w') as outfile:
        writer = csv.DictWriter(outfile, fieldnames=fields,
                                extrasaction='ignore')

        writer.writeheader()
        writer.writerows(best_prospects)
Exemplo n.º 2
0
def initialize_app():
    configurables.verify(REQUIRED_OPTIONS)

    db_store = db.prepare_storage(configurables.database_connector(), 1200)
    ensure_data(db_store())

    session_manager = db.SessionManager(db_store)
    app = api.create_api([session_manager])

    # Add a different root error handler based on: are we in production or not
    error_handler = configurables.root_error_handler()
    app.add_error_handler(Exception, error_handler)

    return app
Exemplo n.º 3
0
from basil_common import configurables

import storage
from . import REQUIRED_OPTIONS

configurables.verify(REQUIRED_OPTIONS)
storage.migrate_db(configurables.database_connector())