From d90990ee3ecd09a2725b8051759a900ebd488b8c Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 14 Oct 2008 05:10:30 +0000 Subject: Rename glider to thandy, based on discussions on #nottor. Please let me know ASAP if there is another program Thandy, or if it means something rude, or whatever. git-svn-id: file:///home/or/svnrepo/updater/trunk@17085 55e972cd-5a19-0410-ae62-a4d7a52db4cd --- lib/thandy/ClientCLI.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 lib/thandy/ClientCLI.py (limited to 'lib/thandy/ClientCLI.py') diff --git a/lib/thandy/ClientCLI.py b/lib/thandy/ClientCLI.py new file mode 100644 index 0000000..702ebbf --- /dev/null +++ b/lib/thandy/ClientCLI.py @@ -0,0 +1,66 @@ + +import os +import sys +import getopt + +import thandy.util +import thandy.repository +import thandy.download + +def update(args): + repoRoot = thandy.util.userFilename("cache") + options, args = getopt.getopt(args, "", [ "repo=", "no-download" ]) + download = True + + for o, v in options: + if o == '--repo': + repoRoot = v + elif o == "--no-download": + download = False + + repo = thandy.repository.LocalRepository(repoRoot) + + files = repo.getFilesToUpdate(trackingBundles=args) + + if not download: + return + + mirrorlist = repo.getMirrorlistFile().get() + + downloader = thandy.download.Downloads() + downloader.start() + + for f in files: + # XXXX Use hash. + dj = thandy.download.DownloadJob(f, repo.getFilename(f), + mirrorlist) + downloader.addDownloadJob(dj) + # XXXX replace file in repository if ok; reload; see what changed. + + # Wait for in-progress jobs + +# Check my repository + +# Tell me what I need to download + +# Download stuff + +# Tell me what to install. + +def usage(): + print "Known commands:" + print " update [--repo=repository] [--no-download]" + sys.exit(1) + +def main(): + if len(sys.argv) < 2: + usage() + cmd = sys.argv[1] + args = sys.argv[2:] + if cmd in [ "update" ]: + globals()[cmd](args) + else: + usage() + +if __name__ == '__main__': + main() -- cgit v1.2.3