コード例 #1
0
    def index_de_regimei(self, conn):
        """Method to index the De-Registration imei table."""

        try:
            DeRegImei.create_index(conn)
            return "De-Registration Imei indexed successfully"
        except SQLAlchemyError as e:
            raise e
コード例 #2
0
def create_dummy_devices(data,
                         request_type,
                         request,
                         db=None,
                         file_path=None,
                         file_content=None):
    """Helper method to create a dummy request with devices and assign it to a dummy reviewer.
    based on request_type.
    """
    if request_type == 'Registration':
        data.update({'reg_details_id': request.id})
        device = RegDevice.create(data)
        device.technologies = DeviceTechnology.create(device.id,
                                                      data.get('technologies'))
        Device.create(RegDetails.get_by_id(request.id), device.id)
    else:  # De-registration
        # creating sample file
        if not os.path.exists(os.path.dirname(file_path)):
            os.makedirs(os.path.dirname(file_path))
        with open(file_path, 'w') as f:
            for content in file_content:
                f.write(content)
                f.write('\n')

        data = DeRegDevice.curate_args(data, request)
        imei_tac_map = Utilities.extract_imeis_tac_map(data, request)
        created = DeRegDevice.bulk_create(data, request)
        device_id_tac_map = Utilities.get_id_tac_map(created)
        for device in device_id_tac_map:
            device_imeis = imei_tac_map.get(device.get('tac'))
            dereg_imei_list = DeRegImei.get_deregimei_list(
                device.get('id'), device_imeis)
            db.session.execute(DeRegImei.__table__.insert(), dereg_imei_list)
    return request
コード例 #3
0
    def async_create(cls, devices, imei_tac_map, old_devices, dereg_id,
                     imeis_list, app):
        """Async create a new device."""
        with app.app_context():
            from app import db
            dereg = DeRegDetails.get_by_id(dereg_id)
            try:
                DeRegDevice.clear_devices(old_devices)
                for device in devices:
                    device_imeis = imei_tac_map.get(device.get('tac'))
                    dereg_imei_list = DeRegImei.get_deregimei_list(
                        device.get('id'), device_imeis)
                    res = db.engine.execute(DeRegImei.__table__.insert(),
                                            dereg_imei_list)
                    res.close()
                dereg.update_processing_status('Processed')
                db.session.commit()
                task_id = Utilities.generate_summary(imeis_list,
                                                     dereg.tracking_id)
                if task_id:
                    Utilities.pool_summary_request(task_id, dereg, app)
                else:
                    dereg.update_processing_status('Failed')
                    db.session.commit()

                if app.config['AUTOMATE_IMEI_CHECK']:
                    if DeRegDevice.auto_approve(task_id, dereg):
                        print(
                            "Auto Approved/Rejected DeRegistration Application Id:"
                            + str(dereg.id))

            except Exception as e:
                app.logger.exception(e)
                db.session.rollback()
                dereg.update_processing_status('Failed')
                dereg.update_report_status('Failed')
                db.session.commit()
コード例 #4
0
 def async_create(cls, devices, imei_tac_map, old_devices, dereg_id,
                  imeis_list, app):
     """Async create a new device."""
     with app.app_context():
         from app import db
         dereg = DeRegDetails.get_by_id(dereg_id)
         try:
             DeRegDevice.clear_devices(old_devices)
             for device in devices:
                 device_imeis = imei_tac_map.get(device.get('tac'))
                 dereg_imei_list = DeRegImei.get_deregimei_list(
                     device.get('id'), device_imeis)
                 res = db.engine.execute(DeRegImei.__table__.insert(),
                                         dereg_imei_list)
                 res.close()
             dereg.update_processing_status('Processed')
             db.session.commit()
             task_id = Utilities.generate_summary(imeis_list,
                                                  dereg.tracking_id)
             Utilities.pool_summary_request(task_id, dereg, app)
         except Exception as e:
             app.logger.exception(e)
             dereg.update_processing_status('Failed')
             db.session.commit()