Esempio n. 1
0
async def get_all_food_categories(page: int = 1, name: str = None):
    """Get All food categories"""
    try:
        food_categories_query = FoodCategory.get_all(page=page, name=name)
        return {
            "info": {
                "page":
                page,
                "next_page":
                page + 1 if SETTINGS.ITEMS_PER_PAGE *
                page < food_categories_query.count() else None,
                "total":
                food_categories_query.count(),
                "items_per_page":
                SETTINGS.ITEMS_PER_PAGE
            },
            "data": [
                food_categories.serialize()
                for food_categories in food_categories_query
            ]
        }
    except (Exception) as err:
        logger.error(f"Error in get food categories - Error: {err}")
        return JSONResponse(
            status_code=400,
            content={"message": "Error in get food categories"})
Esempio n. 2
0
async def get_all_foods(page: int = 1,
                        food_category_id: str = None,
                        name: str = None,
                        min_price: float = None,
                        max_price: float = None):
    """List food for filter"""
    try:
        filters = FoodFilterSchema(food_category_id=food_category_id,
                                   name=name,
                                   min_price=min_price,
                                   max_price=max_price)

        food_query = Food.get_by_filters(page=page, filters=filters)
        return {
            "info": {
                "page":
                page,
                "next_page":
                page + 1 if
                SETTINGS.ITEMS_PER_PAGE * page < food_query.count() else None,
                "total":
                food_query.count(),
                "items_per_page":
                SETTINGS.ITEMS_PER_PAGE
            },
            "data":
            [food_categories.serialize() for food_categories in food_query]
        }
    except (Exception) as err:
        logger.error(f"Error in get food categories - Error: {err}")
        return JSONResponse(
            status_code=400,
            content={"message": "Error in get food categories"})
Esempio n. 3
0
def get_latest_backup(server, source_directory, file_regex):
    session = RemoteSession(server, (secrets.USER_NAME, secrets.PASSWORD))
    backups = session.ls(source_directory)
    version_backups = list(find_backups(file_regex, backups))
    if len(version_backups) == 0:
        logger.error(f'No backup found matching {file_regex}')
        raise Exception(f'No backup found matching {file_regex}')
    backup_file = version_backups[-1]
    logger.info(f'Found backup {backup_file}')
    return backup_file
Esempio n. 4
0
 def raw_connect(self):
     connection = None
     try:
         connection = self.engine.raw_connection()
         yield connection
     except Exception as e:
         logger.error(f'Unable to connect to {self.server}: e')
         raise e
     finally:
         if connection:
             connection.close()
Esempio n. 5
0
async def save_food_categories(
    fody_category_schema: FoodCategorySchema,
    current_user: User = Security(authenticate_admin_user)):
    """Save a new food category"""
    try:
        food_category = FoodCategory(**fody_category_schema.dict()).save()
        return JSONResponse(status_code=200, content=food_category.serialize())

    except (Exception) as err:
        logger.error(f"Error in save food category - Error: {err}")
        return JSONResponse(status_code=400,
                            content={"message": "Error in save food category"})
Esempio n. 6
0
def monitor_build(current_build_version=None):
    current_build_version = current_build_version or latest_comps_build_version()
    send_message('#ht-compsbuild', f'Started Comps Build {current_build_version}')
    try:
        time.sleep(10)
        op_id = LON_SQL_04_SQL_RUNNER.latest_package_operation_id(BUILD_JOB_NAME)
        LON_SQL_04_SQL_RUNNER.monitor_package_status(op_id)
        logger.info(f'Comps Build {current_build_version} complete.')
        send_message('#ht-compsbuild', f'Comps Build {current_build_version} completed successfully!')
    except Exception as e:
        logger.error(f'Comps Build {current_build_version} failed.\n{e}')
        send_message('#ht-compsbuild', f'Comps Build {current_build_version} failed.\n{e}')
Esempio n. 7
0
async def get_user_by_id(user_id: str, current_user: User = Security(authenticate_admin_user)):
    """Get user by id"""''
    try:
        user = User.get_by_id(id=user_id)

        if not user:
            return JSONResponse(status_code=404, content={"message": "User do not exist!"})

        return user.serialize()

    except (Exception) as err:
        logger.error(f"Error in get food - Error: {err}")
        return JSONResponse(status_code=400, content={"message": "Error in get user"})
Esempio n. 8
0
async def get_food_by_id(food_id: str):
    """Get food for id"""
    try:
        food = Food.get_by_id(food_id)

        if not food:
            return JSONResponse(status_code=404,
                                content={"message": "Food do not exist!"})

        return food.serialize()

    except (Exception) as err:
        logger.error(f"Error in get food - Error: {err}")
        return JSONResponse(status_code=400,
                            content={"message": "Error in get food"})
Esempio n. 9
0
async def get_food_categories_by_id(food_category_id: str):
    """Get food category by id"""
    try:
        food_category = FoodCategory.get_by_id(id=food_category_id)
        if not food_category:
            return JSONResponse(
                status_code=400,
                content={"message": "Food category do not exists"})

        return food_category.serialize()

    except (Exception) as err:
        logger.error(f"Error in get food category - Error: {err}")
        return JSONResponse(status_code=400,
                            content={"message": "Error in get food category"})
Esempio n. 10
0
async def delete_food(food_id: str,
                      current_user: User = Security(authenticate_admin_user)):
    """Delete food"""
    try:
        food = Food.get_by_id(id=food_id)
        if not food:
            return JSONResponse(status_code=400,
                                content={"message": "Food do not exists"})

        food.delete()
        return {"message": "Food deleted!"}

    except (Exception) as err:
        logger.error(f"Error in delete food - Error: {err}")
        return JSONResponse(status_code=400,
                            content={"message": "Error in delete food"})
Esempio n. 11
0
async def save_food(food: FoodSchema,
                    current_user: User = Security(authenticate_admin_user)):
    """Save new food"""
    try:
        food = food.dict()
        food['food_categories'] = []
        for food_category_id in food.get('food_categories_id'):
            food['food_categories'].append(
                FoodCategory.get_by_id(food_category_id))

        del food['food_categories_id']

        return Food(**food).save().serialize()

    except (Exception) as err:
        logger.error(f"Error in save food - Error: {err}")
        return JSONResponse(status_code=400,
                            content={"message": "Error in save food"})
Esempio n. 12
0
 def run_cmd(self, command):
     logger.info(f'running {command} against {self._server}')
     result = self._session.run_cmd(command)
     if result.std_err:
         logger.error(f'Error running {command} against {self._server}: {result.std_err.decode("utf-8")}')
     return result