Advertisement
Nurdin27

Untitled

Jan 17th, 2023
651
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.34 KB | None | 0 0
  1.  
  2. @app.route("/get_cam")
  3. @login_required
  4. def get_cam():
  5.     cams = {"group": [], "camera": [], "camera_count": 0}
  6.     group = []
  7.     if current_user.auth_id == 1:
  8.         camindlist = []
  9.         camind = CameraModel.query \
  10.             .join(TrCameraAccountModel, CameraModel.id == TrCameraAccountModel.camera_id, isouter=True) \
  11.             .filter(CameraModel.is_active == 1, TrCameraAccountModel.id.is_(None)).order_by(
  12.             CameraModel.camera_name).all()
  13.         for c in camind:
  14.             camdie = CameraDieModel.get_last(c.id)
  15.             if not camdie or camdie.status == 1:
  16.                 camindlist.append(c.json())
  17.                 cams['camera_count'] += 1
  18.  
  19.         tca = TrCameraAccountModel.query.join(CameraModel, CameraModel.id == TrCameraAccountModel.camera_id).all()
  20.         cam_acc = [x.account_id for x in tca]
  21.         acc = AccountModel.query \
  22.             .join(CustomerModel, AccountModel.customer_id == CustomerModel.id) \
  23.             .filter(AccountModel.id.in_(cam_acc)).order_by(CustomerModel.full_name).all()
  24.         for a in acc:
  25.             listcam = []
  26.             cam = CameraModel.query \
  27.                 .join(TrCameraAccountModel, CameraModel.id == TrCameraAccountModel.camera_id) \
  28.                 .filter(CameraModel.is_active == 1, TrCameraAccountModel.account_id == a.id).order_by(
  29.                 CameraModel.camera_name).all()
  30.             for c in cam:
  31.                 camdie = CameraDieModel.get_last(c.id)
  32.                 if not camdie or camdie.status == 1:
  33.                     listcam.append(c.json())
  34.                     cams['camera_count'] += 1
  35.  
  36.             if listcam:
  37.                 group.append({
  38.                     "group_name": a.customer.full_name,
  39.                     "camera": listcam
  40.                 })
  41.  
  42.         cams.update({"camera": camindlist, "group": group})
  43.     elif current_user.auth_id == 3:
  44.         camlist = []
  45.         gr = CameraGroupModel.query.filter(CameraGroupModel.account_id == current_user.id) \
  46.             .order_by(CameraGroupModel.group_name).all()
  47.         for c in CameraModel.query.join(TrCameraAccountModel, TrCameraAccountModel.camera_id == CameraModel.id) \
  48.                 .filter(CameraModel.is_active == 1, TrCameraAccountModel.account_id == current_user.id,
  49.                         CameraModel.group_id.is_(None)) \
  50.                 .order_by(CameraModel.camera_name).all():
  51.             cd = CameraDieModel.get_last(c.id)
  52.             if cd is None or cd.status == 1:
  53.                 camlist.append(c.json())
  54.                 cams['camera_count'] += 1
  55.         for g in gr:
  56.             camgr = []
  57.  
  58.             for c in CameraModel.query.join(TrCameraAccountModel, TrCameraAccountModel.camera_id == CameraModel.id) \
  59.                     .filter(CameraModel.is_active == 1, TrCameraAccountModel.account_id == current_user.id,
  60.                             CameraModel.id == g.id) \
  61.                     .order_by(CameraModel.camera_name).all():
  62.                 cd = CameraDieModel.get_last(c.id)
  63.                 if cd is None or cd.status == 1:
  64.                     camgr.append(c.json())
  65.                     cams['camera_count'] += 1
  66.             if camgr:
  67.                 group.append({
  68.                     "group_name": g.group_name,
  69.                     "camera": camgr
  70.                 })
  71.  
  72.         cams.update({"camera": camlist, "group": group})
  73.     return cams
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement