summaryrefslogtreecommitdiffstats
path: root/feed/sse_debian.py
blob: f948d120a2dad61ddb3480134bc23c2d4fb6f1aa (plain)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/python

#SSE_DEBIAN_URL = "http://ftp.us.debian.org/debian/"
SSE_DEBIAN_URL = "http://update.alturo-server.de/debian/"
SSE_DISTRIBUTION = "unstable"
SSE_RELEASE = "main"

import sys

from sse_defs import *
import sse_grab

def process_entry(entry):

    for k, v in entry.items():
        entry[k] = v.strip()

    meta = {}

    for l in entry["Files"].split("\n"):

        a = l.split()[2]

        if a.endswith(".tar.gz"):
            meta["archive"] = a
            break

    meta["name"] = entry["Package"]
    meta["version"] = entry["Version"]
    meta["archive-url"] = SSE_DEBIAN_URL + entry["Directory"] + "/" + meta["archive"]
    meta["license"] = "DFSG approved"
    meta["project-url"] = "http://packages.debian.org/cgi-bin/search_packages.pl?searchon=sourcenames&version="+ SSE_DISTRIBUTION + "&exact=1&keywords=" + entry["Package"] + "&release=" + SSE_RELEASE

    print "Next record '%s'" % meta["name"]

    sse_grab.grab_archive(meta, "debian:" + meta["name"], SSE_PROVIDER_DEBIAN)

def process_list(f):

    while True:

        entry = {}
        key = None

        while True:

            ln = f.readline().strip("\n\r")

            if ln == "":
                break

            elif ln[0].isspace():
                entry[key] += "\n" + ln[1:]

            else:
                key, data = ln.split(":", 1)
                entry[key] = data

        process_entry(entry)


if __name__ == "__main__":
    process_list(sys.stdin)