3 from optparse
import OptionParser
4 #import os, re, commands, copy, urllib, gzip, tempfile
7 from apt
import Dependency
, Repository
, Package
, AndDependencyList
, OrDependencyList
10 parser
= OptionParser()
12 parser
.add_option( "-l", "--local-repo", "--local-repository",
13 dest
="local_repos", action
="append", help="Repository path", default
=[] )
15 parser
.add_option( "-r", "--remote-repo", "--remote-repository", "--remote-repo", "--remote-repository",
16 dest
="remote_repos", action
="append", help="URL of web repository", default
=[] )
18 parser
.add_option( "-d", "--directory",
19 dest
="directory", help="The directory to store the downloaded deb files. If not specified, the debs are downloaded into the current directory", default
=None)
22 (options
, debs
) = parser
.parse_args()
24 assert len(options
.local_repos
) > 0, "No local repositories provided"
26 local_repos
= [Repository(r
) for r
in options
.local_repos
]
28 print "Downloading remote repositories... "
29 remote_repos
= [Repository(r
) for r
in options
.remote_repos
]
32 if options
.directory
is None:
33 directory
= os
.getcwd()
35 if not os
.path
.isdir( options
.directory
):
36 print "Error: '%s' is not a directory." % options
.directory
39 directory
= options
.directory
41 apt
.dl_depenencies( debs
, local_repos
, remote_repos
, directory
)
43 #package.unfulfilled_depenencies(repos, remote_repos)
45 #print repr([r['gstreamer0.10-ffmpeg'] for r in remote_repos])
46 #remote_repos[1]['gstreamer0.10-ffmpeg'].save()