diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-10-14 05:10:30 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-10-14 05:10:30 +0000 |
commit | d90990ee3ecd09a2725b8051759a900ebd488b8c (patch) | |
tree | fbe68d0c4b698d45bfdcb6c91a43ea2e60c21329 /lib/thandy/ClientCLI.py | |
parent | fb5a6115a6f3ea0216e3ca0645ba1eb31fb02876 (diff) |
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
Diffstat (limited to 'lib/thandy/ClientCLI.py')
-rw-r--r-- | lib/thandy/ClientCLI.py | 66 |
1 files changed, 66 insertions, 0 deletions
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() |