1
2 '''
3 # DESCRIPTION:
4 # Entropy Object Oriented Interface
5
6 Copyright (C) 2007-2009 Fabio Erculiani
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 '''
22
23 from entropy.client.services.ugc.commands import Base
24
25
27
28 import entropy.dump as dumpTools
31
33
34 cmd = "%s %s %s %s %s" % (
35 session_id,
36 'login',
37 username,
38 'plain',
39 password,
40 )
41 return self.do_generic_handler(cmd, session_id)
42
44
45 cmd = "%s %s %s" % (
46 session_id,
47 'systemsrv:get_queue',
48 extended,
49 )
50 return self.do_generic_handler(cmd, session_id)
51
53
54 cmd = "%s %s %d" % (
55 session_id,
56 'systemsrv:get_queue_item_by_id',
57 queue_id,
58 )
59 return self.do_generic_handler(cmd, session_id)
60
62
63 cmd = "%s %s %d %d" % (
64 session_id,
65 'systemsrv:get_queue_id_stdout',
66 queue_id,
67 last_bytes,
68 )
69
70
71 compression = self.set_gzip_compression(session_id, True)
72
73 rc = self.do_generic_handler(cmd, session_id, compression = compression)
74
75
76 self.set_gzip_compression(session_id, False)
77
78 return rc
79
81
82 cmd = "%s %s %d" % (
83 session_id,
84 'systemsrv:get_queue_id_result',
85 queue_id,
86 )
87 return self.do_generic_handler(cmd, session_id)
88
90
91 cmd = "%s %s %s" % (
92 session_id,
93 'systemsrv:remove_queue_ids',
94 ' '.join([str(x) for x in queue_ids]),
95 )
96 return self.do_generic_handler(cmd, session_id)
97
99
100 cmd = "%s %s %s" % (
101 session_id,
102 'systemsrv:pause_queue',
103 do_pause,
104 )
105 return self.do_generic_handler(cmd, session_id)
106
108
109 cmd = "%s %s %s" % (
110 session_id,
111 'systemsrv:kill_processing_queue_id',
112 queue_id,
113 )
114 return self.do_generic_handler(cmd, session_id)
115
117
118 cmd = "%s %s %d %d" % (
119 session_id,
120 'systemsrv:swap_items_in_queue',
121 queue_id1,
122 queue_id2,
123 )
124 return self.do_generic_handler(cmd, session_id)
125
127 cmd = "%s %s" % (
128 session_id,
129 'systemsrv:get_pinboard_data',
130 )
131 return self.do_generic_handler(cmd, session_id)
132
134
135 mydict = {
136 'note': note,
137 'extended_text': extended_text,
138 }
139 xml_string = self.entropyTools.xml_from_dict(mydict)
140
141 cmd = "%s %s %s" % (
142 session_id,
143 'systemsrv:add_to_pinboard',
144 xml_string,
145 )
146 return self.do_generic_handler(cmd, session_id)
147
149
150 cmd = "%s %s %s" % (
151 session_id,
152 'systemsrv:remove_from_pinboard',
153 ' '.join([str(x) for x in pinboard_ids]),
154 )
155 return self.do_generic_handler(cmd, session_id)
156
158 cmd = "%s %s %s %s" % (
159 session_id,
160 'systemsrv:set_pinboard_items_done',
161 ' '.join([str(x) for x in pinboard_ids]),
162 status,
163 )
164 return self.do_generic_handler(cmd, session_id)
165
167 cmd = "%s %s %s %s %s" % (
168 session_id,
169 'systemsrv:write_to_running_command_pipe',
170 queue_id,
171 write_to_stdout,
172 txt,
173 )
174 return self.do_generic_handler(cmd, session_id)
175
177
178 import entropy.dump as dumpTools
179
181
182 cmd = "%s %s" % (
183 session_id,
184 'srvrepo:sync_spm',
185 )
186 return self.do_generic_handler(cmd, session_id)
187
188 - def compile_atoms(self, session_id, atoms, pretend = False, oneshot = False,
189 verbose = False, nocolor = True, fetchonly = False, buildonly = False,
190 nodeps = False, custom_use = '', ldflags = '', cflags = ''):
191
192 s_pretend = "0"
193 s_oneshot = "0"
194 s_verbose = "0"
195 s_nocolor = "0"
196 s_fetchonly = "0"
197 s_buildonly = "0"
198 s_nodeps = "0"
199 if pretend: s_pretend = "1"
200 if oneshot: s_oneshot = "1"
201 if verbose: s_verbose = "1"
202 if nocolor: s_nocolor = "1"
203 if fetchonly: s_fetchonly = "1"
204 if buildonly: s_buildonly = "1"
205 if nodeps: s_nodeps = "1"
206 mydict = {
207 'atoms': ' '.join(atoms),
208 'pretend': s_pretend,
209 'oneshot': s_oneshot,
210 'verbose': s_verbose,
211 'nocolor': s_nocolor,
212 'fetchonly': s_fetchonly,
213 'buildonly': s_buildonly,
214 'nodeps': s_nodeps,
215 'custom_use': custom_use,
216 'ldflags': ldflags,
217 'cflags': cflags,
218 }
219 xml_string = self.entropyTools.xml_from_dict(mydict)
220
221 cmd = "%s %s %s" % (
222 session_id,
223 'srvrepo:compile_atoms',
224 xml_string,
225 )
226 return self.do_generic_handler(cmd, session_id)
227
228 - def spm_remove_atoms(self, session_id, atoms, pretend = False, verbose = False, nocolor = True):
229
230 s_pretend = "0"
231 s_verbose = "0"
232 s_nocolor = "0"
233 if pretend: s_pretend = "1"
234 if verbose: s_verbose = "1"
235 if nocolor: s_nocolor = "1"
236 mydict = {
237 'atoms': ' '.join(atoms),
238 'pretend': s_pretend,
239 'verbose': s_verbose,
240 'nocolor': s_nocolor,
241 }
242 xml_string = self.entropyTools.xml_from_dict(mydict)
243
244 cmd = "%s %s %s" % (
245 session_id,
246 'srvrepo:spm_remove_atoms',
247 xml_string,
248 )
249 return self.do_generic_handler(cmd, session_id)
250
252
253 cmd = "%s %s %s" % (
254 session_id,
255 'srvrepo:get_spm_categories_updates',
256 ' '.join(categories),
257 )
258 return self.do_generic_handler(cmd, session_id)
259
261
262 cmd = "%s %s %s" % (
263 session_id,
264 'srvrepo:get_spm_categories_installed',
265 ' '.join(categories),
266 )
267 return self.do_generic_handler(cmd, session_id)
268
270
271 mydict = {
272 'atoms': ' '.join(atoms),
273 'useflags': ' '.join(useflags),
274 }
275 xml_string = self.entropyTools.xml_from_dict(mydict)
276
277 cmd = "%s %s %s" % (
278 session_id,
279 'srvrepo:enable_uses_for_atoms',
280 xml_string,
281 )
282 return self.do_generic_handler(cmd, session_id)
283
285
286 mydict = {
287 'atoms': ' '.join(atoms),
288 'useflags': ' '.join(useflags),
289 }
290 xml_string = self.entropyTools.xml_from_dict(mydict)
291
292 cmd = "%s %s %s" % (
293 session_id,
294 'srvrepo:disable_uses_for_atoms',
295 xml_string,
296 )
297 return self.do_generic_handler(cmd, session_id)
298
300
301 cmd = "%s %s %s" % (
302 session_id,
303 'srvrepo:get_spm_atoms_info',
304 ' '.join(atoms),
305 )
306 return self.do_generic_handler(cmd, session_id)
307
309
310 cmd = "%s %s" % (
311 session_id,
312 'srvrepo:run_spm_info',
313 )
314 return self.do_generic_handler(cmd, session_id)
315
317
318 cmd = "%s %s %s" % (
319 session_id,
320 'srvrepo:run_custom_shell_command',
321 command,
322 )
323 return self.do_generic_handler(cmd, session_id)
324
326
327 cmd = "%s %s %s" % (
328 session_id,
329 'srvrepo:get_spm_glsa_data',
330 list_type,
331 )
332 return self.do_generic_handler(cmd, session_id)
333
335
336 cmd = "%s %s" % (
337 session_id,
338 'srvrepo:get_available_repositories',
339 )
340 return self.do_generic_handler(cmd, session_id)
341
343
344 cmd = "%s %s %s" % (
345 session_id,
346 'srvrepo:set_default_repository',
347 repoid,
348 )
349 return self.do_generic_handler(cmd, session_id)
350
352
353 cmd = "%s %s %s" % (
354 session_id,
355 'srvrepo:get_available_entropy_packages',
356 repoid,
357 )
358 return self.do_generic_handler(cmd, session_id)
359
369
371 cmd = "%s %s %s" % (
372 session_id,
373 'srvrepo:remove_entropy_packages',
374 ','.join(["%s:%s" % (str(x[0]),str(x[1]),) for x in matched_atoms]),
375 )
376 return self.do_generic_handler(cmd, session_id)
377
379
380 cmd = "%s %s %s %s %s" % (
381 session_id,
382 'srvrepo:search_entropy_packages',
383 repoid,
384 search_type,
385 search_string,
386 )
387 return self.do_generic_handler(cmd, session_id)
388
390
391 cmd = "%s %s %s %s %s %s" % (
392 session_id,
393 'srvrepo:move_entropy_packages_to_repository',
394 from_repo,
395 to_repo,
396 do_copy,
397 ' '.join([str(x) for x in idpackages]),
398 )
399 return self.do_generic_handler(cmd, session_id)
400
402
403 cmd = "%s %s" % (
404 session_id,
405 'srvrepo:scan_entropy_packages_database_changes',
406 )
407 return self.do_generic_handler(cmd, session_id)
408
410
411 cmd = "%s %s %s %s %s" % (
412 session_id,
413 'srvrepo:run_entropy_database_updates',
414 ','.join(["%s:%s:%s" % (str(x[0]),str(x[1]),str(x[2]),) for x in to_add]),
415 ','.join(["%s:%s" % (str(x[0]),str(x[1]),) for x in to_remove]),
416 ','.join(["%s:%s" % (str(x[0]),str(x[1]),) for x in to_inject]),
417 )
418 return self.do_generic_handler(cmd, session_id)
419
421
422 cmd = "%s %s" % (
423 session_id,
424 'srvrepo:run_entropy_dependency_test',
425 )
426 return self.do_generic_handler(cmd, session_id)
427
429
430 cmd = "%s %s" % (
431 session_id,
432 'srvrepo:run_entropy_library_test',
433 )
434 return self.do_generic_handler(cmd, session_id)
435
437
438 cmd = "%s %s %s" % (
439 session_id,
440 'srvrepo:run_entropy_treeupdates',
441 repoid,
442 )
443 return self.do_generic_handler(cmd, session_id)
444
446
447 cmd = "%s %s %s" % (
448 session_id,
449 'srvrepo:scan_entropy_mirror_updates',
450 ' '.join(repositories),
451 )
452 return self.do_generic_handler(cmd, session_id)
453
455
456 serialized_string = self.dumpTools.serialize_string(repository_data)
457 cmd = "%s %s %s" % (
458 session_id,
459 'srvrepo:run_entropy_mirror_updates',
460 serialized_string,
461 )
462 return self.do_generic_handler(cmd, session_id)
463
465
466 cmd = "%s %s %s %s" % (
467 session_id,
468 'srvrepo:run_entropy_checksum_test',
469 repoid,
470 mode,
471 )
472 return self.do_generic_handler(cmd, session_id)
473
475
476 cmd = "%s %s %s" % (
477 session_id,
478 'srvrepo:get_notice_board',
479 repoid,
480 )
481 return self.do_generic_handler(cmd, session_id)
482
484
485 cmd = "%s %s %s %s" % (
486 session_id,
487 'srvrepo:remove_notice_board_entries',
488 repoid,
489 ' '.join([str(x) for x in entry_ids]),
490 )
491 return self.do_generic_handler(cmd, session_id)
492
493 - def add_notice_board_entry(self, session_id, repoid, title, notice_text, link):
494
495 mydict = {
496 'repoid': repoid,
497 'title': title,
498 'notice_text': notice_text,
499 'link': link,
500 }
501 xml_string = self.entropyTools.xml_from_dict(mydict)
502
503 cmd = "%s %s %s" % (
504 session_id,
505 'srvrepo:add_notice_board_entry',
506 xml_string,
507 )
508 return self.do_generic_handler(cmd, session_id)
509