help='Define the sheet_id',
                        required=True)
    parser.add_argument(
        '--notify',
        action='store_true',
        default=False,
        help='If notify is defined, then errors will be sent by email',
        required=False)
    parser.add_argument(
        '--logging_level',
        default='ERROR',
        choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'],
        help='Set the logging level of detail.')
    flags = parser.parse_args()
    args = vars(flags)
except ImportError:
    flags = None

sheet_id = args['sheet_id'] or None
logging_level = args['logging_level'] or 'ERROR'
logger = logger_builder.initLogger(logging_level)

config = Config()
knowledge = Knowledge(config)
project = Project(config)
stack = Stack(config)

project.delete_by_query("sheet_id:" + sheet_id)
knowledge.delete_by_query("sheet_id:" + sheet_id)
stack.delete_by_query('key:' + sheet_id)
Ejemplo n.º 2
0
    try:
        project = knowledge.load_spreadsheet_knowledge_map(
            spreadsheet_api,
            service,
            item,
            notify
        )

        logger.info('=> loading stack')
        stack.load_stack(project)
    except errors.HttpError, err:
        if err.resp.status in [404, 500]:
            # delete sheet_id from index project and knowledge index
            q = "sheet_id:"+spreadsheetId
            project.delete_by_query(q)
            knowledge.delete_by_query(q)
            logger.warning("==> Spreadsheet %s doesn't exists: %s" % (spreadsheetId, err))
        else:
            # send email to owner
            logger.error("==> exception on %s : %s" % (spreadsheetId, err))
            if notify:
                subject = 'ACTION NEEDED: Tech Gallery %s-%s' % (contract, flow)
                gmail.send(owner, subject, spreadsheetId, str(err))
    except Exception, e:
        logger.error("==> exception on %s : %s" % (spreadsheetId, e))
        if notify:
            subject = 'ACTION NEEDED: Tech Gallery %s-%s' % (contract, flow)
            gmail.send(owner, subject, spreadsheetId, str(e))

logger.info('spreadsheet process finished')