(
constvector<string>& uids);
52 bool error(
const string& message);
53 bool warning(
const string& message);
56 bool text(
const string& contents);
64: m_Results(
results), m_Offset(0)
71 stringhostname =
"www.ncbi.nlm.nih.gov";
72 stringpath =
"/pmc/utils/idconv/v1.0/";
73 stringargs =
"tool=NCBIToolkit&email=bollin@ncbi.nlm.nih.gov&versions=no&";
80 stringparams = args +
"ids=";
85 for(
size_t i= 0;
i+
m_Offset< uids.size() &&
i< 200;
i++) {
90 if(params.length() > 500) {
96 boolsuccess =
false;
97 for(
intattempt = 1; !success && attempt <= 5; attempt++) {
120 intsleep_secs = ::sqrt((
double)attempt);
149attrs_type::const_iterator it = attrs.find(
"pmid");
150 if(it != attrs.end()) {
174 returnconverter.
GetPmids(query_ids);
This stream exchanges data with an HTTP server located at the URL: http[s]://host[:port]/path[?...
bool warning(const string &message)
CPMCIDSearch::TResults & m_Results
bool end_element(const string &name)
bool start_element(const string &name, const attrs_type &attrs)
bool error(const string &message)
bool text(const string &contents)
bool GetPmids(const vector< string > &uids)
CPMCIDConverterServer(CPMCIDSearch::TResults &results)
bool DoPMCIDSearch(const vector< string > &query_ids, TResults &results)
The xml::error_messages class is used to store all the error message which are collected while parsin...
bool has_fatal_errors(void) const
Check if there are fatal errors in the error messages.
bool has_errors(void) const
Check if there are errors in the error messages.
std::string print(void) const
Convert error messages into a single printable string.
The xml::event_parser is used to parse an XML document by calling member functions when certain thing...
std::map< std::string, std::string > attrs_type
a type for holding XML node attributes
bool parse_stream(std::istream &stream, error_messages *messages, warnings_as_errors_type how=type_warnings_not_errors)
Parse what ever data that can be read from the given stream.
static const char * expected[]
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Error(CExceptionArgs_Base &args)
void Warning(CExceptionArgs_Base &args)
static long StringToLong(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to long.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static string URLEncode(const CTempString str, EUrlEncode flag=eUrlEnc_SkipMarkChars)
URL-encode string.
void SleepSec(unsigned long sec, EInterruptOnSignal onsignal=eRestartOnSignal)
Sleep.
API (CPMCIDSearch) for looking up PubMed IDs based on other types of IDs.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4