Class: AParserClient::API

Inherits:
Object
  • Object
show all
Defined in:
lib/a_parser_client/api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_url, api_password) ⇒ API

Returns a new instance of API.



10
11
12
13
14
15
16
17
18
# File 'lib/a_parser_client/api.rb', line 10

def initialize(api_url, api_password)
	if api_url =~ URI::regexp
		@api_url = api_url
		@api_password = api_password	
		@alive = self.alive?			
	else
		raise "Bad API URL provided."
	end
end

Instance Attribute Details

#aliveObject (readonly)

Returns the value of attribute alive.



8
9
10
# File 'lib/a_parser_client/api.rb', line 8

def alive
  @alive
end

#api_passwordObject (readonly)

Returns the value of attribute api_password.



8
9
10
# File 'lib/a_parser_client/api.rb', line 8

def api_password
  @api_password
end

#api_urlObject (readonly)

Returns the value of attribute api_url.



8
9
10
# File 'lib/a_parser_client/api.rb', line 8

def api_url
  @api_url
end

Instance Method Details

#add_task(task_type = 'text', queries_array = [], queries_file = nil, config, preset, parsers, result_file_name) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/a_parser_client/api.rb', line 70

def add_task(task_type='text', queries_array=[], queries_file=nil, config, preset, parsers, result_file_name)
	request = {
		password: 	@api_password, 
		action: 	'addTask',
		data: {
			queriesFrom: task_type, 
			queries: (task_type == 'text' ? queries_array : queries_file),
			configPreset: config, 
			preset: preset, 
			parsers: parsers, 
			resultsFileName: result_file_name
		}
	}
	do_it request
end

#alive?Boolean

updates alive status

Returns:

  • (Boolean)


29
30
31
# File 'lib/a_parser_client/api.rb', line 29

def alive?
	@alive = ping ? true : false
end

#bulk_request(queries, parser, preset, config_preset, threads, raw_results, need_data, options) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/a_parser_client/api.rb', line 102

def bulk_request(queries, parser, preset, config_preset, threads, raw_results, need_data, options)
	request = {
		password: 	@api_password, 
		action: 	'bulkRequest',
		data: {
			queries: queries,
			parser: parser, 
			configPreset: config_preset,
			preset: preset,
			threads: threads,
			rawResults: raw_results,
			needData: need_data,
			options: options
		}
	}
	do_it request
end

#change_task_status(task_id, to_status) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
# File 'lib/a_parser_client/api.rb', line 121

def change_task_status(task_id, to_status)
	request = {
		password: @api_password, 
		action: 'changeTaskStatus',
		data: {
			taskUid: task_id,
			toStatus: to_status
		}
	}
	do_it request		
end

#delete_task_results_file(task_id) ⇒ Object



169
170
171
172
173
174
175
176
# File 'lib/a_parser_client/api.rb', line 169

def delete_task_results_file(task_id)
	request = {
		password: @api_password, 
		action: 'deleteTaskResultsFile',
		data: {taskUid: task_id}
	}
	do_it request
end

#get_accounts_countObject



133
134
135
136
137
138
139
140
# File 'lib/a_parser_client/api.rb', line 133

def get_accounts_count
	request = {
		password: @api_password, 
		action: 'getAccountsCount',
		data: {}
	}
	do_it request		
end

#get_infoObject



62
63
64
65
66
67
68
# File 'lib/a_parser_client/api.rb', line 62

def get_info
	request = {
		password: 	@api_password, 
		action: 	'info',
	}
	do_it request
end

#get_parser_info(parser_name) ⇒ Object



190
191
192
193
194
195
196
197
198
199
# File 'lib/a_parser_client/api.rb', line 190

def get_parser_info(parser_name)
	request = {
		password: @api_password, 
		action: 'getParserInfo',
		data: {
			parser: parser_name
		}
	}
	do_it request		
end

#get_parser_preset(parser_name, preset_name) ⇒ Object



202
203
204
205
206
207
208
209
210
211
212
# File 'lib/a_parser_client/api.rb', line 202

def get_parser_preset(parser_name, preset_name)
	request = {
		password: @api_password, 
		action: 'getParserInfo',
		data: {
			parser: parser_name,
			reset: preset_name
		}
	}
	do_it request		
end

#get_proxiesObject



143
144
145
146
147
148
149
# File 'lib/a_parser_client/api.rb', line 143

def get_proxies
	request = {
		password: @api_password, 
		action: 'getProxies'
	}
	do_it request		
end

#get_task_conf(task_id) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/a_parser_client/api.rb', line 52

def get_task_conf(task_id)
	request = {
		password: @api_password, 
		action: 'getTaskConf',
		data: {taskUid: task_id}
	}
	do_it request
end

#get_task_results_file(task_id) ⇒ Object



160
161
162
163
164
165
166
167
# File 'lib/a_parser_client/api.rb', line 160

def get_task_results_file(task_id)
	request = {
		password: @api_password, 
		action: 'getTaskResultsFile',
		data: {taskUid: task_id}
	}
	do_it request
end

#get_task_state(task_id) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/a_parser_client/api.rb', line 43

def get_task_state(task_id)
	request = {
		password: @api_password, 
		action: 'getTaskState',
		data: {taskUid: task_id}
	}
	do_it request
end

#get_tasks_list(completed = false) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/a_parser_client/api.rb', line 34

def get_tasks_list(completed=false)
	request = {
		password: @api_password, 
		action: 'getTasksList',
		data: {completed: completed ? 1 : 0}
	}
	do_it request
end

#move_task(task_id, direction) ⇒ Object



178
179
180
181
182
183
184
185
186
187
188
# File 'lib/a_parser_client/api.rb', line 178

def move_task(task_id, direction)
	request = {
		password: @api_password, 
		action: 'moveTask',
		data: {
			taskUid: task_id,
			toStatus: direction
		}
	}
	do_it request		
end

#one_request(query, parser, preset = 'default', config_preset = 'default', options = []) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/a_parser_client/api.rb', line 87

def one_request(query, parser, preset='default', config_preset='default', options=[])
	request = {
		password: 	@api_password, 
		action: 	'oneRequest',
		data: {
			query: query,
			parser: parser, 
			configPreset: config_preset,
			preset: preset,
			options: options
		}
	}
	do_it request
end

#pingObject



20
21
22
23
24
25
26
# File 'lib/a_parser_client/api.rb', line 20

def ping
	request = {
		password: @api_pass, 
		action: 'ping'
	}
	do_it request
end

#update!Object



151
152
153
154
155
156
157
158
# File 'lib/a_parser_client/api.rb', line 151

def update!
	request = {
		password: @api_password, 
		action: 'update',
		data: {}
	}
	do_it request		
end