⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ill-get.c

📁 harvest是一个下载html网页得机器人
💻 C
📖 第 1 页 / 共 2 页
字号:
    {	strcat (element, ",");	strcat (element, sub);    }    r->item_type = ill_get_enumerated (gc, element, "item-type",				       ILL_Item_Id_monograph);    r->held_medium_type = 0;    r->call_number = ill_get_ILL_String(gc, element, "call-number");    r->author = ill_get_ILL_String(gc, element, "author");    r->title = ill_get_ILL_String(gc, element, "title");    r->sub_title = ill_get_ILL_String(gc, element, "sub-title");    r->sponsoring_body = ill_get_ILL_String(gc, element, "sponsoring-body");    r->place_of_publication =	ill_get_ILL_String(gc, element, "place-of-publication");    r->publisher = ill_get_ILL_String(gc, element, "publisher");    r->series_title_number =	ill_get_ILL_String(gc, element, "series-title-number");    r->volume_issue = ill_get_ILL_String(gc, element, "volume-issue");    r->edition = ill_get_ILL_String(gc, element, "edition");    r->publication_date = ill_get_ILL_String(gc, element, "publication-date");    r->publication_date_of_component =	ill_get_ILL_String(gc, element, "publication-date-of-component");    r->author_of_article = ill_get_ILL_String(gc, element,					      "author-of-article");    r->title_of_article = ill_get_ILL_String(gc, element, "title-of-article");    r->pagination = ill_get_ILL_String(gc, element, "pagination");    r->national_bibliography_no = 0;    r->iSBN = ill_get_ILL_String(gc, element, "ISBN");    r->iSSN = ill_get_ILL_String(gc, element, "ISSN");    r->system_no = 0;    r->additional_no_letters =	ill_get_ILL_String(gc, element, "additional-no-letters");    r->verification_reference_source = 	ill_get_ILL_String(gc, element, "verification-reference-source");    return r;}ILL_Client_Id *ill_get_Client_Id (    struct ill_get_ctl *gc, const char *name, const char *sub){    char element[128];    ODR o = gc->odr;    ILL_Client_Id *r = (ILL_Client_Id *) odr_malloc(o, sizeof(*r));    strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->client_name = ill_get_ILL_String (gc, element, "client-name");    r->client_status = ill_get_ILL_String (gc, element, "client-status");    r->client_identifier = ill_get_ILL_String (gc, element,					       "client-identifier");    return r;}ILL_Postal_Address *ill_get_Postal_Address (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_Postal_Address *r =	(ILL_Postal_Address *) odr_malloc(o, sizeof(*r));    char element[128];    strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->name_of_person_or_institution = 	ill_get_Name_Of_Person_Or_Institution (	    gc, element, "name-of-person-or-institution");    r->extended_postal_delivery_address =	ill_get_ILL_String (	    gc, element, "extended-postal-delivery-address");    r->street_and_number =	ill_get_ILL_String (gc, element, "street-and-number");    r->post_office_box =	ill_get_ILL_String (gc, element, "post-office-box");    r->city = ill_get_ILL_String (gc, element, "city");    r->region = ill_get_ILL_String (gc, element, "region");    r->country = ill_get_ILL_String (gc, element, "country");    r->postal_code = ill_get_ILL_String (gc, element, "postal-code");    return r;}ILL_System_Address *ill_get_System_Address (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_System_Address *r =	(ILL_System_Address *) odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->telecom_service_identifier =	ill_get_ILL_String (gc, element, "telecom-service-identifier");    r->telecom_service_address =	ill_get_ILL_String (gc, element, "telecom-service-addreess");    return r;}ILL_Delivery_Address *ill_get_Delivery_Address (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_Delivery_Address *r =	(ILL_Delivery_Address *) odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->postal_address =	ill_get_Postal_Address (gc, element, "postal-address");    r->electronic_address =	ill_get_System_Address (gc, element, "electronic-address");    return r;}ILL_Search_Type *ill_get_Search_Type (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_Search_Type *r = (ILL_Search_Type *) odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->level_of_service = ill_get_ILL_String (gc, element, "level-of-service");    r->need_before_date = ill_get_ILL_ISO_Date (gc, element,						"need-before-date", 0);    r->expiry_date = ill_get_ILL_ISO_Date (gc, element, "expiry-date", 0);    r->expiry_flag = ill_get_enumerated (gc, element, "expiry-flag", 3);					     return r;}ILL_Request *ill_get_ILLRequest (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_Request *r = (ILL_Request *) odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->protocol_version_num =	ill_get_enumerated (gc, element, "protocol-version-num", 			    ILL_Request_version_2);        r->transaction_id = ill_get_Transaction_Id (gc, element, "transaction-id");    r->service_date_time =	ill_get_Service_Date_Time (gc, element, "service-date-time");    r->requester_id = ill_get_System_Id (gc, element, "requester-id");    r->responder_id = ill_get_System_Id (gc, element, "responder-id");    r->transaction_type =	ill_get_enumerated(gc, element, "transaction-type", 1);    r->delivery_address =	ill_get_Delivery_Address (gc, element, "delivery-address");    r->delivery_service = 0; /* TODO */    /* ill_get_Delivery_Service (gc, element, "delivery-service"); */    r->billing_address =	ill_get_Delivery_Address (gc, element, "billing-address");    r->num_iLL_service_type = 1;    r->iLL_service_type = (ILL_Service_Type **)	odr_malloc (o, sizeof(*r->iLL_service_type));    *r->iLL_service_type =	ill_get_enumerated (gc, element, "ill-service-type",			    ILL_Service_Type_copy_non_returnable);    r->responder_specific_service = 0;    r->requester_optional_messages =	ill_get_Requester_Optional_Messages_Type (	    gc, element,"requester-optional-messages");    r->search_type = ill_get_Search_Type(gc, element, "search-type");    r->num_supply_medium_info_type = 0;    r->supply_medium_info_type = 0;    r->place_on_hold = ill_get_enumerated (	gc, element, "place-on-hold", 	ILL_Place_On_Hold_Type_according_to_responder_policy);    r->client_id = ill_get_Client_Id (gc, element, "client-id");			       r->item_id = ill_get_Item_Id (gc, element, "item-id");    r->supplemental_item_description = 0;    r->cost_info_type = 0;    r->copyright_compliance =	ill_get_ILL_String(gc, element, "copyright-complicance");    r->third_party_info_type = 0;    r->retry_flag = ill_get_bool (gc, element, "retry-flag", 0);    r->forward_flag = ill_get_bool (gc, element, "forward-flag", 0);    r->requester_note = ill_get_ILL_String(gc, element, "requester-note");    r->forward_note = ill_get_ILL_String(gc, element, "forward-note");    r->num_iLL_request_extensions = 0;    r->iLL_request_extensions = 0;    return r;}ILL_ItemRequest *ill_get_ItemRequest (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_ItemRequest *r = (ILL_ItemRequest *)odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->protocol_version_num =	ill_get_enumerated (gc, element, "protocol-version-num", 			    ILL_Request_version_2);        r->transaction_id = ill_get_Transaction_Id (gc, element, "transaction-id");    r->service_date_time =	ill_get_Service_Date_Time (gc, element, "service-date-time");    r->requester_id = ill_get_System_Id (gc, element, "requester-id");    r->responder_id = ill_get_System_Id (gc, element, "responder-id");    r->transaction_type =	ill_get_enumerated(gc, element, "transaction-type", 1);    r->delivery_address =	ill_get_Delivery_Address (gc, element, "delivery-address");    r->delivery_service = 0; /* TODO */    /* ill_get_Delivery_Service (gc, element, "delivery-service"); */    r->billing_address =	ill_get_Delivery_Address (gc, element, "billing-address");    r->num_iLL_service_type = 1;    r->iLL_service_type = (ILL_Service_Type **)	odr_malloc (o, sizeof(*r->iLL_service_type));    *r->iLL_service_type =	ill_get_enumerated (gc, element, "ill-service-type",			    ILL_Service_Type_copy_non_returnable);    r->responder_specific_service = 0;    r->requester_optional_messages =	ill_get_Requester_Optional_Messages_Type (	    gc, element,"requester-optional-messages");    r->search_type = ill_get_Search_Type(gc, element, "search-type");    r->num_supply_medium_info_type = 0;    r->supply_medium_info_type = 0;    r->place_on_hold = ill_get_enumerated (	gc, element, "place-on-hold", 	ILL_Place_On_Hold_Type_according_to_responder_policy);    r->client_id = ill_get_Client_Id (gc, element, "client-id");			       r->item_id = ill_get_Item_Id (gc, element, "item-id");    r->supplemental_item_description = 0;    r->cost_info_type = 0;    r->copyright_compliance =	ill_get_ILL_String(gc, element, "copyright-complicance");    r->third_party_info_type = 0;    r->retry_flag = ill_get_bool (gc, element, "retry-flag", 0);    r->forward_flag = ill_get_bool (gc, element, "forward-flag", 0);    r->requester_note = ill_get_ILL_String(gc, element, "requester-note");    r->forward_note = ill_get_ILL_String(gc, element, "forward-note");    r->num_iLL_request_extensions = 0;    r->iLL_request_extensions = 0;    return r;}ILL_Cancel *ill_get_Cancel (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_Cancel *r = (ILL_Cancel *)odr_malloc(o, sizeof(*r));    char element[128];        strcpy(element, name);    if (sub)    {	strcat (element, ",");	strcat (element, sub);    }    r->protocol_version_num =	ill_get_enumerated (gc, element, "protocol-version-num", 			    ILL_Request_version_2);        r->transaction_id = ill_get_Transaction_Id (gc, element, "transaction-id");    r->service_date_time =	ill_get_Service_Date_Time (gc, element, "service-date-time");    r->requester_id = ill_get_System_Id (gc, element, "requester-id");    r->responder_id = ill_get_System_Id (gc, element, "responder-id");    r->requester_note = ill_get_ILL_String(gc, element, "requester-note");    r->num_cancel_extensions = 0;    r->cancel_extensions = 0;    return r;}ILL_APDU *ill_get_APDU (    struct ill_get_ctl *gc, const char *name, const char *sub){    ODR o = gc->odr;    ILL_APDU *r = (ILL_APDU *)odr_malloc(o, sizeof(*r));    char element[128];    const char *v;    strcpy (element, name);    strcat (element, ",which");    v = (gc->f)(gc->clientData, element);    if (!v)	v = "request";    if (!strcmp (v, "request"))    {	r->which = ILL_APDU_ILL_Request;	r->u.illRequest = ill_get_ILLRequest(gc, name, sub);    }    else if (!strcmp (v, "cancel"))    {	r->which = ILL_APDU_Cancel;	r->u.Cancel = ill_get_Cancel(gc, name, sub);    }    else	return 0;    return r;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -