#!/usr/bin/python -tt

import pakrat
import os, sys
from optparse import OptionParser

parser = OptionParser(version='pakrat %s' % pakrat.__version__,
    usage=('usage: %prog [options] baseurl [baseurl] ...'))
parser.add_option('--repoversion', default=None,
    help=('The version of the repository to create. By default, the '
	  'repositories will not be versioned.'))
parser.add_option('--delete', action='store_true', default=False,
    help=('Delete packages that are no longer at the remote source. '
          'This option does nothing if --repoversion is passed.'))

in_args = {'named':[], 'bare':[]}
append_next = False
for option in sys.argv[1:]:
    if append_next:
        in_args['named'].append(option)
        append_next = False
        continue
    if option.startswith('-'):
        in_args['named'].append(option)
        append_next = True
    else:
        in_args['bare'].append(option)

if len(in_args['named']) == 0 and len(in_args['bare']) == 0:
    parser.print_help()

options, args = parser.parse_args(in_args['named'])

repos = []
if len(in_args['bare']) > 0:
    for repo_url in in_args['bare']:
        repos.append(pakrat.repo(name=repo_url, baseurls=[repo_url]))

pakrat.sync(
    repoversion=options.repoversion,
    repos=repos,
    delete=options.delete
)
