Example #1
0
 def add_vehicle(self):
     brand = self.line_brand.text()
     mileage = self.line_milage.text()
     consumption = self.line_consumption.text()
     service_date = self.date_service.date().toPyDate()
     if self.radioBus.isChecked():
         vehicle_base = session.query(VehicleBase).first()
         new_bus = Bus(Brand=brand,
                       Mileage=int(mileage),
                       FuelConsumption=int(consumption),
                       ServiceBegin=service_date,
                       VehicleBase_id=vehicle_base.id)
         session.add(new_bus)
         session.commit()
         self.loaddata()
         self.show_message("SUCCESS")
     if self.radioTram.isChecked():
         vehicle_base = session.query(VehicleBase).first()
         new_bus = Train(Brand=brand,
                         Mileage=int(mileage),
                         ElectricityPerHour=int(consumption),
                         ServiceBegin=service_date,
                         VehicleBase_id=vehicle_base.id)
         session.add(new_bus)
         session.commit()
         self.loaddata()
         self.show_message("SUCCESS")
Example #2
0
 def loadpersonal(self):
     drivers = session.query(Driver).all()
     ticketsmen = session.query(Ticketsman).all()
     row = 0
     self.table_personal.setRowCount(len(drivers) + len(ticketsmen))
     for driver in drivers:
         self.table_personal.setItem(
             row, 0, QtWidgets.QTableWidgetItem(driver.FirstName))
         self.table_personal.setItem(
             row, 1, QtWidgets.QTableWidgetItem(driver.LastName))
         self.table_personal.setItem(
             row, 2, QtWidgets.QTableWidgetItem(str(driver.Salary)))
         self.table_personal.setItem(
             row, 3, QtWidgets.QTableWidgetItem(str(driver.Experience)))
         self.table_personal.setItem(row, 4,
                                     QtWidgets.QTableWidgetItem("Driver"))
         row = row + 1
     for tick in ticketsmen:
         self.table_personal.setItem(
             row, 0, QtWidgets.QTableWidgetItem(tick.FirstName))
         self.table_personal.setItem(
             row, 1, QtWidgets.QTableWidgetItem(tick.LastName))
         self.table_personal.setItem(
             row, 2, QtWidgets.QTableWidgetItem(str(tick.Salary)))
         self.table_personal.setItem(
             row, 4, QtWidgets.QTableWidgetItem("Ticketsman"))
         row = row + 1
Example #3
0
 def get_vehicle_object(self, string, type):
     line = string.split()
     id = line[len(line) - 1][3:]
     if type == "bus":
         vehicle = session.query(Bus).filter(Bus.id == id).first()
     if type == "tram":
         vehicle = session.query(Train).filter(Train.id == id).first()
     return vehicle
Example #4
0
 def edit_route(self, item):
     route = session.query(Route).filter(
         Route.Title == str(item.text())).first()
     self.current_route = route
     try:
         stations = session.query(Station).filter(
             Station.Route_id == self.current_route.id).all()
         self.loadstations(stations)
     except:
         self.show_message("choose by Title!")
Example #5
0
 def loadroutes(self):
     routes = session.query(Route).all()
     row = 0
     self.table_routes.setRowCount(len(routes))
     self.table_routes.itemClicked.connect(self.edit_route)
     for route in routes:
         stations = session.query(Station).filter(
             Station.Route_id == int(route.id)).all()
         self.table_routes.setItem(row, 0,
                                   QtWidgets.QTableWidgetItem(route.Title))
         self.table_routes.setItem(
             row, 1, QtWidgets.QTableWidgetItem(str(len(stations))))
         row = row + 1
Example #6
0
 def load_by_name(self):
     firstname = self.line_firstname.text()
     lastname = self.line_lastname.text()
     ticketsman = session.query(Ticketsman).filter(
         Ticketsman.FirstName == firstname,
         Ticketsman.LastName == lastname).first()
     driver = session.query(Driver).filter(
         Driver.FirstName == firstname,
         Driver.LastName == lastname).first()
     if ticketsman:
         reports = session.query(TicketsmanReport).filter(
             TicketsmanReport.Ticketsman_id == ticketsman.id).all()
         self.table_reports.setRowCount(len(reports))
         row = 0
         for report in reports:
             date = session.query(DayReport).filter(
                 DayReport.TicketsmanReport_id == report.id).first().Date
             worker = ticketsman.LastName
             vehicle = "-"
             route = "-"
             mileage = "-"
             problems = "-"
             worktime = report.WorkTime
             money = report.Money
             self.fill_row(date, worker, vehicle, route, mileage, problems,
                           worktime, money, row)
             row = row + 1
     if driver:
         reports = session.query(DriverReport).filter(
             DriverReport.Driver_id == driver.id).all()
         self.table_reports.setRowCount(len(reports))
         row = 0
         for report in reports:
             date = session.query(DayReport).filter(
                 DayReport.DriverReport_id == report.id).first().Date
             worker = driver.LastName
             tram = report.Train_id
             bus = report.Bus_id
             if tram:
                 vehicle = session.query(Train).filter(
                     Train.id == tram).first().Brand
             if bus:
                 vehicle = session.query(Bus).filter(
                     Bus.id == bus).first().Brand
             route = session.query(Route).filter(
                 Route.id == report.Route_id).first().Title
             mileage = report.Mileage
             problems = report.Problems
             worktime = "-"
             money = "-"
             self.fill_row(date, worker, vehicle, route, mileage, problems,
                           worktime, money, row)
             row = row + 1
Example #7
0
def populate_notices_data():
    countries = session.query(Country).all()[4:]
    for country in countries:

        for entity in notices.get_notices_for_nationality(country.code):

            entity_id = entity.get("entity_id")
            entity_data = notices.get_entity_data(entity_id)

            date_of_birth = transform_date(entity_data.get('date_of_birth'))
            try:
                obj = Notice(entity_id=entity_id,
                             date_of_birth=date_of_birth,
                             country=country.code,
                             sex=entity_data.get('sex'),
                             place_of_birth=entity_data.get('place_of_birth'),
                             charge=entity_data.get("charge"))
                nationalities = entity_data.get('nationalities')
                print(country, entity_id)
                # for nation in nationalities:
                #     nation_obj = session.query(Country).filter(Country.code == nation).first()
                #     obj.nationalities.append(nation_obj)
                session.add(obj)
                session.commit()
            except exc.IntegrityError:
                session.rollback()
            sleep(1)
Example #8
0
async def regtest_active_balance_by_user():
    data = []
    users = session.query(User).group_by(User.id).order_by(
        func.max(User.id).desc()).all()
    for user in users:
        user_data = {
            'name':
            user.name,
            'id':
            user.id,
            'keys': [],
            'created':
            datetime.datetime.utcfromtimestamp(
                user.created).strftime('%Y-%m-%d %H:%M:%S'),
            'balance':
            str(user.balance),
            'level':
            user.level,
            'email':
            user.email,
            'status':
            user.status
        }
        for key in user.trxkey:
            balance = await btcd_utils.RegTest.get_user_balance([key])
            if balance > 0:
                user_data['keys'].append({
                    'id': key.id,
                    'value': key.value,
                    'balance': balance
                })
        if len(user_data['keys']) > 0:
            data.append(user_data)
    return data
Example #9
0
async def fetch_users_by_name(match_pattern):
    result = session.query(User).filter(
        User.name.ilike(match_pattern)).one_or_none()
    if result is not None:
        return result
    else:
        return -1
Example #10
0
 def check_if_dayreport_has_ticketsmans_report(self, date):
     day_report = session.query(DayReport).filter(
         DayReport.Date == date).first()
     if day_report.TicketsmanReport_id:
         return True
     else:
         return False
Example #11
0
class BaseUser:
    widget = None
    user = None
    organisation = session.query(Organisation).first()

    def logout(self):
        from interface.index_interface import IndexUi
        index_page = IndexUi()
        self.widget.addWidget(index_page)
        self.widget.setCurrentIndex(self.widget.currentIndex() + 1)

    def show_message(self, text):
        msgBox = QMessageBox()
        msgBox.setText(text)
        msgBox.exec_()

    def get_organisation_name(self):
        return self.organisation.Title

    def get_user_name(self):
        return "{0} {1}".format(self.user.LastName, self.user.FirstName)

    def check_dayreports_by_date(self, date):
        day_report = session.query(DayReport).filter(
            DayReport.Date == date).first()
        if day_report:
            return True
        else:
            return False
Example #12
0
async def findKey(key: str):
    existing_key = session.query(TrxKey).filter(TrxKey.value == key).first()

    if existing_key is None:
        return False
    else:
        return existing_key.id
Example #13
0
async def find_single_key(kid: int) -> Union[bool, SKey]:
    existing_key = session.query(SKey).filter(SKey.kid == kid).first()

    if existing_key is None:
        return False
    else:
        return existing_key
Example #14
0
 def check_dayreports_by_date(self, date):
     day_report = session.query(DayReport).filter(
         DayReport.Date == date).first()
     if day_report:
         return True
     else:
         return False
Example #15
0
 def add_report(self):
     date = self.date.date().toPyDate()
     day_report = session.query(DayReport).filter(
         DayReport.Date == date).first()
     mileage = self.spin_mileage.value()
     problems = self.line_problems.text()
     route = self.get_route_object(self.combo_route.currentText())
     vehicle = None
     type = None
     if self.radio_bus.isChecked():
         bus = self.combo_bus.currentText()
         type = "bus"
         vehicle = self.get_vehicle_object(bus, type)
     if self.radio_tram.isChecked():
         tram = self.combo_tram.currentText()
         type = "tram"
         vehicle = self.get_vehicle_object(tram, type)
     data = {
         "date": date,
         "mileage": mileage,
         "problems": problems,
         "route": route,
         "vehicle": vehicle,
         "type": type
     }
     if not day_report:
         self.create_day_report_with_driverreport_inside(data)
     if day_report:
         if not day_report.DriverReport_id:
             self.create_driverreport_and_add_to_existing_dayreport(
                 day_report, data)
         else:
             self.create_day_report_with_driverreport_inside(data)
Example #16
0
async def find_key_for_uid(uid: int) -> Union[bool, TrxKey]:
    key = session.query(TrxKey).filter(TrxKey.uid == uid,
                                       TrxKey.status == true()).first()

    if key is None:
        return False
    else:
        return key
Example #17
0
async def check_authentication(user, password, email):
    query_user = session.query(User).filter(User.name == user).first()
    if query_user is not None:
        if not User.verify_password(email, password):
            return None
        return query_user
    else:
        return None
Example #18
0
def latest_price_history(currency: str):
    result = session.query(CXPriceRevision).filter(
        CXPriceRevision.currency == currency).order_by(
            CXPriceRevision.rid.desc()).limit(15).all()
    if result is not None:
        for r in result:
            print(r.serialize())
    return result
Example #19
0
 def load_all_tick(self):
     tick_reports = session.query(TicketsmanReport).all()
     row = 0
     self.table_reports.setRowCount(len(tick_reports))
     for tick in tick_reports:
         date = session.query(DayReport).filter(
             DayReport.TicketsmanReport_id == tick.id).first().Date
         worker = session.query(Ticketsman).filter(
             Ticketsman.id == tick.Ticketsman_id).first().LastName
         vehicle = "-"
         route = "-"
         mileage = "-"
         problems = "-"
         worktime = tick.WorkTime
         money = tick.Money
         self.fill_row(date, worker, vehicle, route, mileage, problems,
                       worktime, money, row)
         row = row + 1
Example #20
0
File: oi.py Project: djcohen03/td
    def __init__(self, name='SPY'):
        '''
        '''
        self.name = name
        self.tradable = session.query(Tradable).filter_by(name=self.name).first()
        self.chain, self.underlying = self.getchain()

        self.callcolor = (1.0, 0, 0, 0.4)
        self.putcolor = (0, 0, 1.0, 0.4)
Example #21
0
async def trc_latest_price():
    """
    Retrieves the latest price recorded on the TRC Mockchain (in CAD)
    :return:
    """
    latest_trc_price = session.query(TRCHistory).group_by(
        TRCHistory.id).order_by(func.max(
            TRCHistory.id).desc()).limit(1).one_or_none()
    return latest_trc_price
Example #22
0
async def regtest_pay_keys(amount: str):
    keys = session.query(TrxKey).filter(TrxKey.status == true()).all()
    additions_to_ledger = 0
    for key in keys:
        if await regtest_pay_key(wif=key.value, amount=amount) is not None:
            additions_to_ledger += 1
    if additions_to_ledger > 0:
        await trx_block_pending()
    return additions_to_ledger
Example #23
0
 def recount_income(self):
     ticketsman_reports = session.query(TicketsmanReport).all()
     driver_reports = session.query(DriverReport).all()
     income = 0
     for tick_rep in ticketsman_reports:
         income = income + tick_rep.Money
     for driv_rep in driver_reports:
         if driv_rep.Train_id:
             train = session.query(Train).filter(
                 Train.id == driv_rep.Train_id).first()
             income = income - (train.ElectricityPerHour * driv_rep.Mileage)
         if driv_rep.Bus_id:
             bus = session.query(Bus).filter(
                 Bus.id == driv_rep.Bus_id).first()
             income = income - (bus.FuelConsumption * driv_rep.Mileage)
     self.organisation.Income = income
     session.commit()
     self.label_current_income.setText(str(income))
Example #24
0
def check_authentication_by_name(user, password):
    query_user = session.query(User).filter(User.name == user).first()
    if query_user is not None:
        if not User.verify_password_by_name(user, password):
            return -1

        return query_user
    else:
        return -1
Example #25
0
async def latest_price_history_async(currency: str):
    result = session.query(CXPriceRevision).filter(
        CXPriceRevision.currency == currency).order_by(
            CXPriceRevision.rid.desc()).limit(15).all()
    data = []
    if result is not None:
        for r in result:
            data.append(r.serialize())
    return data
Example #26
0
def check_auth_by_name(user, password):
    #  Create fallback for checking password
    query_user = session.query(User).filter(User.name == user).first()
    if query_user is not None:
        if not User.verify_password_by_name(user, password):
            return -1
        return query_user
    else:
        return None
Example #27
0
def get_or_create(model, **kwargs):
    instance = session.query(model).filter_by(**kwargs).first()
    if instance:
        return instance
    else:
        instance = model(**kwargs)
        session.add(instance)
        session.commit()
        return instance
Example #28
0
def build_comments(comments, now, session):
    if comments is not None:
        return [{
            'cid':
            x.cid,
            'body':
            x.body,
            'user':
            session.query(HeartbeatUser).filter(
                HeartbeatUser.uid == x.uid).one(),
            'timeago':
            timeago.format(x.created, now),
            'subcomments':
            build_sub_comments(
                session.query(HeartbeatComment).filter(
                    HeartbeatComment.entity_id == x.cid,
                    HeartbeatComment.entity_type == 'comment').all(), now,
                session)
        } for x in comments]
Example #29
0
 def loaddata(self):
     buses = session.query(Bus).all()
     trains = session.query(Train).all()
     row = 0
     self.table_bus.setRowCount(len(buses))
     self.table_tram.setRowCount(len(trains))
     for bus in buses:
         self.table_bus.setItem(row, 0, QtWidgets.QTableWidgetItem(bus.Brand))
         self.table_bus.setItem(row, 1, QtWidgets.QTableWidgetItem(str(bus.ServiceBegin)))
         self.table_bus.setItem(row, 2, QtWidgets.QTableWidgetItem(str(bus.FuelConsumption)))
         self.table_bus.setItem(row, 3, QtWidgets.QTableWidgetItem(str(bus.Mileage)))
         row = row+1
     row = 0
     for train in trains:
         self.table_tram.setItem(row, 0, QtWidgets.QTableWidgetItem(train.Brand))
         self.table_tram.setItem(row, 1, QtWidgets.QTableWidgetItem(str(train.ServiceBegin)))
         self.table_tram.setItem(row, 2, QtWidgets.QTableWidgetItem(str(train.ElectricityPerHour)))
         self.table_tram.setItem(row, 3, QtWidgets.QTableWidgetItem(str(train.Mileage)))
         row = row+1
Example #30
0
async def regtest_user_balance(uid: str):
    user = session.query(User).filter(User.id == int(uid),
                                      User.status == 1).one_or_none()
    if user is not None:
        balance_data = await btcd_utils.RegTest.get_user_balance(user.trxkey)
        balance = sum(balance_data) if isinstance(balance_data,
                                                  list) else balance_data
        user.balance = balance
        await update_user_balance(user, balance)
        return balance