def create(project, operation, label=None, config=None, author=None): """ Create a new pipeline object, in PENDING state. """ pipeline = Pipeline() pipeline.status = Pipeline.STATUS_PENDING pipeline.project = project pipeline.label = label pipeline.operation = operation pipeline.percent_complete = 0 pipeline.author = author or console_account() pipeline.config = config or {} db.session.add(pipeline) db.session.commit() return pipeline
def index(pipeline_id): pipeline = object_or_404(Pipeline.by_id(pipeline_id)) authz.require(authz.project_read(pipeline.project)) query = LogEntry.all() query = query.filter(LogEntry.pipeline==pipeline) if request.args.get('level'): query = query.filter(LogEntry.level==request.args.get('level')) pager = Pager(query) validate_cache(keys=pager.cache_keys()) return jsonify(pager, index=True)
def run_importer(pipeline_id): """ Perform a raw data import with a given mode. """ pipeline = Pipeline.by_id(pipeline_id) pipelines.start(pipeline) mode = pipeline.config.get('mode') file_id = pipeline.config.get('file') file_ = File.by_id(file_id) if file_ is None: pipeline.log_error(pipeline, 'File object deleted: %s' % file_id) elif mode == 'aliases': import_aliases(pipeline, file_.fh) else: import_objects(pipeline, file_.fh) pipelines.finish(pipeline)
def index(): query = Pipeline.all() query = query.join(Project) query = query.outerjoin(Permission) query = query.filter(or_(Project.private==False, and_(Permission.reader==True, Permission.account==request.account))) if request.args.get('project'): query = query.filter(Project.slug==request.args.get('project')) if request.args.get('operation'): query = query.filter(Pipeline.operation == request.args.get('operation')) query = query.order_by(Pipeline.updated_at.desc()) query = query.distinct() pager = Pager(query) validate_cache(keys=pager.cache_keys()) return jsonify(pager, index=True)
def index(): query = Pipeline.all() query = query.join(Project) query = query.outerjoin(Permission) query = query.filter( or_( Project.private == False, and_(Permission.reader == True, Permission.account == request.account))) if request.args.get('project'): query = query.filter(Project.slug == request.args.get('project')) if request.args.get('operation'): query = query.filter( Pipeline.operation == request.args.get('operation')) query = query.order_by(Pipeline.updated_at.desc()) query = query.distinct() pager = Pager(query) validate_cache(keys=pager.cache_keys()) return jsonify(pager, index=True)
def view(id): pipeline = object_or_404(Pipeline.by_id(id)) authz.require(authz.project_read(pipeline.project)) return jsonify(pipeline)
def view(pipeline_id, id): pipeline = object_or_404(Pipeline.by_id(pipeline_id)) authz.require(authz.project_read(pipeline.project)) log_entry = object_or_404(LogEntry.by_id(id)) return jsonify(log_entry)