def post_universe_names( callbacks: Optional[models.CallbackCollection] = None, ): if callbacks is None: callbacks = default_callback_collection() callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={ "file_path_template": "data/post_universe_names-${esi_job_uid}-esi-job.json" }, )) callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "data/post_universe_names-${esi_job_uid}.json" }, )) job = models.EsiJob( op_id="post_universe_names", name="post_universe_names", callbacks=callbacks, ) job.parameters = {"ids": [95465499, 30000142]} return job
def result_with_pages_to_json_file(): work_order = models.EsiWorkOrder( name="result_with_pages_to_json_file", output_path="samples/order_output/${ewo_name}", description= ("An example of saving the raw results with a paged api to a json file." ), ) job = models.EsiJob( op_id="get_contracts_public_region_id", parameters={"region_id": 10000002}, ) work_order.jobs.append(job) job.callbacks.success.append( models.JobCallback(callback_id="response_content_to_json")) job.callbacks.success.append( models.JobCallback(callback_id="check_for_pages")) job.callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "data/public-contracts/${region_id}.json" }, )) job.callbacks.fail.append( models.JobCallback(callback_id="response_to_esi_job")) job.callbacks.fail.append( models.JobCallback(callback_id="log_job_failure")) return work_order
def result_to_json_file(): work_order = models.EsiWorkOrder( name="result_to_json_file", output_path="samples/order_output/${ewo_name}", description=("An example of saving the raw results to a json file."), ) job = models.EsiJob( op_id="get_markets_region_id_history", parameters={ "region_id": 10000002, "type_id": 34 }, ) work_order.jobs.append(job) job.callbacks.success.append( models.JobCallback(callback_id="response_content_to_json")) job.callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "data/market-history/${region_id}-${type_id}.json" }, )) job.callbacks.fail.append( models.JobCallback(callback_id="response_to_esi_job")) job.callbacks.fail.append( models.JobCallback(callback_id="log_job_failure")) return work_order
def get_markets_region_id_history( region_id: int, type_id: int, callbacks: Optional[models.CallbackCollection] = None, ): if callbacks is None: callbacks = default_callback_collection() callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={ "file_path_template": "data/market-history-${region_id}-${type_id}-esi-job.json" }, )) callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "data/market-history-${region_id}-${type_id}-esi-job.json" }, )) job = models.EsiJob( op_id="get_markets_region_id_history", name="get_markets_region_id_history", callbacks=callbacks, ) job.parameters = {"region_id": region_id, "type_id": type_id} return job
def no_file_output() -> models.CallbackCollection: callback_collection = models.CallbackCollection() callback_collection.success.append( models.JobCallback(callback_id="response_content_to_json") ) callback_collection.success.append( models.JobCallback(callback_id="response_to_esi_job") ) callback_collection.fail.append( models.JobCallback(callback_id="response_to_esi_job") ) callback_collection.fail.append(models.JobCallback(callback_id="log_job_failure")) return callback_collection
def get_industry_facilities(): job = models.EsiJob( op_id="get_industry_facilities", ) job.callbacks.success.append( models.JobCallback(callback_id="response_content_to_json") ) job.callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={"file_path_template": "data/industry-facilities.json"}, ) ) return job
def result_to_csv_file(): work_order = models.EsiWorkOrder( name="result_to_csv_file", output_path="samples/order_output/${ewo_name}", description=( "An example of saving the json results to a csv file. Also, shows " "reordering columns, and adding additional columns"), ) job = models.EsiJob( op_id="get_markets_region_id_history", parameters={ "region_id": 10000002, "type_id": 34 }, ) work_order.jobs.append(job) job.callbacks.success.append( models.JobCallback(callback_id="response_content_to_json")) job.callbacks.success.append( models.JobCallback( callback_id="save_list_of_dict_result_to_csv_file", kwargs={ "additional_fields": { "region_id": 10000002, "type_id": 34 }, "field_names": [ "date", "average", "highest", "lowest", "order_count", "volume", "region_id", "type_id", ], "file_path_template": "data/market-history/${region_id}-${type_id}.csv", }, )) job.callbacks.fail.append( models.JobCallback(callback_id="response_to_esi_job")) job.callbacks.fail.append( models.JobCallback(callback_id="log_job_failure")) return work_order
def generic_save_result_to_json() -> models.CallbackCollection: callback_collection = models.CallbackCollection() callback_collection.success.append( models.JobCallback(callback_id="response_content_to_json") ) callback_collection.success.append( models.JobCallback(callback_id="response_to_esi_job") ) callback_collection.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "job_data/${esi_job_op_id}-${esi_job_uid}.json" }, ) ) callback_collection.fail.append( models.JobCallback(callback_id="response_to_esi_job") ) callback_collection.fail.append(models.JobCallback(callback_id="log_job_failure")) return callback_collection
def get_industry_systems( callbacks: Optional[models.CallbackCollection] = None, ): if callbacks is None: callbacks = default_callback_collection() callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={ "file_path_template": "data/industry-systems-esi-job.json" }, )) callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={"file_path_template": "data/industry-systems.json"}, )) job = models.EsiJob( op_id="get_industry_systems", name="get_industry_systems", callbacks=callbacks, ) return job
def example_workorder(): region_id = 10000002 type_id = 34 work_order = models.EsiWorkOrder( name="example_workorder", output_path="samples/workorder_output/${ewo_name}", description= ("An example of a workorder, with a collection of " "jobs whose output is gathered under a file path defined in the workorder." ), ) job = get_markets_region_id_history(region_id, type_id, default_callback_collection()) job.name = "Save market history as json" job.id_ = 1 job.description = ("Get the market history for Tritainium in The Forge " "region, and save it to a json file.") job.callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}-esi-job.json" }, )) job.callbacks.success.append( models.JobCallback( callback_id="save_result_to_yaml_file", kwargs={ "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}-esi-job.yaml" }, )) work_order.jobs.append(job) ##### job_2 = get_markets_region_id_history(region_id, type_id, default_callback_collection()) job_2.name = "Save market history and job as json" job_2.id_ = 2 job_2.description = ( "Get the market history for Tritainium in The Forge " "region, and save it to a json file. Also save the job," " including the response metadata, to a separate json file.") job_2.callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={ "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}-esi-job.json" }, )) job_2.callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}.json" }, )) work_order.jobs.append(job_2) ##### job_3 = get_markets_region_id_history(region_id, type_id, default_callback_collection()) job_3.name = "Save market history as csv and job with data as json" job_3.id_ = 3 job_3.description = ( "Get the market history for Tritainium in The Forge " "region, and save it to a csv file. The region_id and type_id added to each row, " "and the columns are given a custom order. " "Also save the job, including the response metadata and the result data, " "to a separate json file.") job_3.callbacks.success.append( models.JobCallback(callback_id="result_to_esi_job")) job_3.callbacks.success.append( models.JobCallback( callback_id="save_esi_job_to_json_file", kwargs={ "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}-esi-job.json" }, )) job_3.callbacks.success.append( models.JobCallback( callback_id="save_list_of_dict_result_to_csv_file", kwargs={ "additional_fields": { "region_id": 10000002, "type_id": 34 }, "field_names": [ "date", "average", "highest", "lowest", "order_count", "volume", "region_id", "type_id", ], "file_path_template": "${esi_job_id_}/market-history-${region_id}-${type_id}.csv", }, )) work_order.jobs.append(job_3) ##### job_4 = models.EsiJob( name="get paged data", description="Get the all the pages from a paged api.", id_=4, op_id="get_contracts_public_region_id", parameters={"region_id": 10000002}, callbacks=default_callback_collection(), ) job_4.callbacks.success.append( models.JobCallback(callback_id="check_for_pages")) job_4.callbacks.success.append( models.JobCallback( callback_id="save_result_to_json_file", kwargs={ "file_path_template": "${esi_job_id_}/public-contracts/${region_id}.json" }, )) work_order.jobs.append(job_4) return work_order