Ejemplo n.º 1
0
def get_all_utilities():
    """ Returns all the utilities and renders them in utility template.
    """
    
    utilities = Utility().all()
    context = {}
    context['utilities'] = utilities
    return render_template('utilities.html', **context)
Ejemplo n.º 2
0
def get_user_owned_utility():
    """ Returns User owned Utilities
    """

    user_id = flask_session.get('user_id')
    utilities = Utility().get_user_utility(user_id)
    context = dict(
        utilities=utilities
    )
    return render_template('owned_utilities.html', **context)
Ejemplo n.º 3
0
def utility_item(utility_id):
    """ Renders template to add new utility item.

    :param utility_id: id for the requested utility.
    :param type: int
    """

    utility = Utility().get(utility_id)
    context = {}
    context['utility'] = utility
    return render_template('add_utility_item.html', **context)
Ejemplo n.º 4
0
def register_new_utility():
    """ Register_new_utility.
    """

    if request.method == 'POST':
        utility_id = request.json['utility_id']
        utility = Utility().get(utility_id)
        utility.approval_count += 1
        if utility.approval_count >= 10:
            utility.registered = True
        utility.save()
Ejemplo n.º 5
0
def get_utility(utility_id):
    """ Returns data for a selected utility.

    :param utility_id: Id for the requested utility.
    :param type: int
    """

    utility = Utility().get(utility_id)
    context = dict(
        utility=utility
    )
    return render_template('show_utility.html', **context)
Ejemplo n.º 6
0
def add_utility():
    """Upload a utility
    """

    lat = request.form.get('lat')
    if lat == None:
        return jsonify('lat parameter is required'), 400

    try:
        lat = float(lat)
    except ValueError:
        return jsonify('lat needs to be double'), 400

    lon = request.form.get('lon')
    if lon == None:
        return jsonify('lon parameter is required'), 400

    try:
        lat = float(lat)
    except ValueError:
        return jsonify('lon needs to be double'), 400

    description = request.form.get('description')
    if description == None:
        return jsonify('description parameter is required'), 400

    file = request.files.get('image')
    if file == None:
        return jsonify('image parameter is required'), 400

    # Upload image to GCP
    id = str(uuid.uuid4())
    upload_to_gcp(id, file)

    u = Utility(
        id=id,
        type=0,
        lat=lat,
        lon=lon,
        description=description,
    )
    db.session.add(u)
    db.session.commit()

    return jsonify(u.to_json()), 200
Ejemplo n.º 7
0
def get_unregistered_tran():
    """ Returns all the unregistered transactions to send for mining.
    """
    
    transactions = UtilityItemUser().get_unregistered_transactions()
    transactions_dict = {}
    i = 0
    for transaction in transactions:
        i += 1
        trans = {}
        trans['sender_id'] = transaction.user_id
        trans['transaction_id'] = transaction.id
        reciever_id = Utility().get_owner(transaction.utility_id)
        amount = UtilityItem().get_price(transaction.utility_item_id)
        trans['amount'] = amount
        trans['reciever'] = reciever_id
        transactions_dict['trans' + str(i)] = trans
    return jsonify(transactions_dict)
Ejemplo n.º 8
0
def add_new_utility():
    """ Adds a new utility to Xena's db.
    """
    
    user_id = flask_session.get('user_id')
    if request.method == 'POST':
        data = request.form
        new_utility = Utility(
            name=data['name'],
            description=data['description'],
            image=data['image'],
            user_utility_id=user_id,
            address=data['address']
        )
        new_utility.create()
        return redirect(
            url_for(
                'get_all_utilities'
            )
        )
Ejemplo n.º 9
0
    'Central AC': [2023, 'Heating and Cooling'],
    'Range Oven': [2795, 'Kitchen'],
    'Dishwasher': [1172, 'Kitchen'],
    'Refrigerator': [366, 'Kitchen']
}

for name in supplemental_appl.keys():
    appliance = Appliance(name=name,
                          watts=supplemental_appl[name][0],
                          category=supplemental_appl[name][1])
    cleaned_appliances.append(appliance)

#Clean utility rate data from US
utility_rates = []
for val in wsheet_util.iter_rows(min_row=5, max_row=66, values_only=True):
    rate = Utility(location=val[0], rate=val[1])
    utility_rates.append(rate)

#Clean utility rate data from Canada
canada_list = [td.get_text() for td in canadian_util_rate_html.find_all('td')]
#strip '¢/kWh' from rates
canada_list_cleaned = [rate.strip('¢/kWh') for rate in canada_list]

#append Utility instances to utility_rates
for val in range(0, len(canada_list_cleaned), 2):
    rate = Utility(location=canada_list_cleaned[val],
                   rate=canada_list_cleaned[val + 1])
    utility_rates.append(rate)

#add cell phone and tablet appliances
cell_phone = Appliance(name="Cell Phone Charger",