summaryrefslogtreecommitdiff
path: root/pyanidb.py
diff options
context:
space:
mode:
authorzyp <zyp@localhost>2006-05-17 01:29:44 +0200
committerzyp <zyp@localhost>2006-05-17 01:29:44 +0200
commitcf40dbdb820d1248c0e11c67a15b3cb88851becf (patch)
tree9a9ac585dc951e601b67ecb6b086bc0c9c895b95 /pyanidb.py
parentd1fac581a8c56820477dc944a6eac38968c8b1ff (diff)
[project @ zyp-20060516232944-3de034366a874a83]
[project @ 35] Renamed pyanidb.py to anidb.py to resolve name-conflict.
Diffstat (limited to 'pyanidb.py')
-rw-r--r--pyanidb.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/pyanidb.py b/pyanidb.py
deleted file mode 100644
index 62258c9..0000000
--- a/pyanidb.py
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env python
-
-import pyanidb, pyanidb.hash
-import ConfigParser, optparse, os, sys, getpass, multihash
-
-# Config.
-
-config = {}
-try:
- cp = ConfigParser.ConfigParser()
- cp.read(os.path.expanduser('~/.pyanidb.conf'))
- for option in cp.options('pyanidb'):
- config[option] = cp.get('pyanidb', option)
-except:
- pass
-
-# Options.
-
-op = optparse.OptionParser()
-
-op.add_option('-u', '--username', help = 'AniDB username.',
- action = 'store', dest = 'username', default = config.get('username'))
-op.add_option('-p', '--password', help = 'AniDB password.',
- action = 'store', dest = 'password', default = config.get('password'))
-
-op.add_option('-r', '--recursive', help = 'Recurse into directories.',
- action = 'store_true', dest = 'recursive', default = False)
-op.add_option('-s', '--suffix', help = 'File suffix for recursive matching.',
- action = 'append', dest = 'suffix', default = config['suffix'].split())
-
-op.add_option('-a', '--add', help = 'Add files to mylist.',
- action = 'store_true', dest = 'add', default = False)
-
-options, args = op.parse_args(sys.argv[1:])
-
-# Defaults.
-
-options.login = options.add
-
-# Authorization.
-
-if options.login:
- if not options.username:
- options.username = raw_input('Username: ')
- if not options.password:
- options.passord = getpass.getpass()
- a = pyanidb.AniDB(options.username, options.password)
- try:
- a.auth()
- print 'Logged in as user %s.' % (options.username)
- if a.new_version:
- print 'New version available.'
- except pyanidb.AniDBUserError:
- print 'Invalid username/password.'
- sys.exit(1)
- except pyanidb.AniDBTimeout:
- print 'Connection timed out.'
- sys.exit(1)
- except pyanidb.AniDBError, e:
- print 'Fatal error:', e
- sys.exit(1)
-
-# Input files.
-
-files = []
-for name in args:
- if not os.access(name, os.R_OK):
- print 'Invalid file: %s' % (name)
- elif os.path.isfile(name):
- files.append(name)
- elif os.path.isdir(name):
- if not options.recursive:
- print 'Is a directory: %s' % (name)
- else:
- for root, subdirs, subfiles in os.walk(name):
- subdirs.sort()
- subfiles.sort()
- files += [os.path.join(root, file) for file in subfiles if sum([file.endswith('.' + suffix) for suffix in options.suffix])]
-
-# Hashing.
-
-for filename, hash in pyanidb.hash.hash_files(files):
- size = os.path.getsize(filename)
- print 'Hashed: ed2k://|file|%s|%d|%s|' % (filename, size, hash.ed2k())
-
- # Adding
-
- if options.add:
- try:
- while 1:
- try:
- a.add_hash(size, hash.ed2k())
- except pyanidb.AniDBTimeout:
- print 'Connection timed out, retrying.'
- continue
- break
- print 'Added file: %s' % (filename)
- except pyanidb.AniDBUnknownFile:
- print 'Unknown file: %s' % (filename)
-
-# Finished.
-
-print 'All operations finished.'