aboutsummaryrefslogtreecommitdiff
path: root/load_sources.py
blob: f420796fe944b3b15c9254dd382724a84f558d01 (plain) (blame)
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

import debian.deb822
import pandas as pd

def pkg(para):
    d = dict(para)
    a = dict()

    if 'Files' in d:
        a['srcfile']=d['Files'].split('\n')[2].split(' ')[3]

    if 'Source' in d:
        # Source fields sometimes have the source version number; strip it.
        a['_srcpkg'] = d['Source'].split(' ')[0]
    else:
        # No 'Source' field means that it has the same value as the 'Package'
        # field.
        a['_srcpkg'] = d['Package']

    return a

if __name__ == '__main__':
    packages = debian.deb822.Packages.iter_paragraphs(sys.stdin)
    df = pd.DataFrame([pkg(p) for p in packages])
    store = pd.HDFStore('pkg.h5')

    print df

    store = pd.HDFStore('pkg.h5')
    store['sources'] = df
    store.close()