1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/python
from geneticone import helper
"""Some obsolete functions from geneticone.helper."""
def old_export_to_dictionaries (list_of_packages):
'''DEPRECATED:
Exports some of the intrinsic data of a list of Package objects to a list of dictionaries.
This is meant to transmit data back to the genetic-client, just by eval()-uating the output.'''
dictionaries=[]
keys=['name','version','category','cpv','runtime_deps','compiletime_deps','postmerge_deps','is_installed', 'is_overlay', 'is_masked','mask_status', 'package_path', 'size','use_flags_when_installed','all_useflags','set_useflags']
package_methods=['get_name','get_version','get_category','get_cpv','get_runtime_deps', 'get_compiletime_deps','get_postmerge_deps','is_installed','is_overlay','is_masked','get_mask_status','get_package_path','size','get_use_flags','get_all_useflags','get_set_useflags']
for item in list_of_packages:
dictionaries.append({})
for key,method in zip(keys,package_methods):
try:
dictionaries[-1][key]=eval('item.'+method+'()')
except AttributeError: #this may happen if, for example, package is not installed and I look for the path...
dictionaries[-1][key]=None
return dictionaries
def export_to_dictionaries (packages):
'''Exports some of the intrinsic data of a list of Package objects to a list of dictionaries.
This is meant to transmit data back to the genetic-client, just by eval()-uating the output.'''
dictionaries=[]
for item in packages:
dictionaries.append({})
for method in dir(item):
if (method.startswith('get_') or method.startswith('is_'))\
and method != 'get_dependants': # bug in gentoolkit.Package.get_dependants --> see bug #137783
key = method[method.index('_')+1:] # the key is everything after the first underscore
try:
dictionaries[-1][key] = eval("item."+method+"()")
except AttributeError: # this may happen if, for example, package is not installed and I look for the path...
dictionaries[-1][key] = None
except TypeError:
pass # this method takes an argument - ignore it
except NotImplementedError:
pass # this method is not implemented - ignore
except "Not implemented yet!":
pass
return dictionaries
|