summaryrefslogtreecommitdiff
path: root/anidb_add.py
diff options
context:
space:
mode:
Diffstat (limited to 'anidb_add.py')
-rw-r--r--anidb_add.py85
1 files changed, 0 insertions, 85 deletions
diff --git a/anidb_add.py b/anidb_add.py
deleted file mode 100644
index b84f162..0000000
--- a/anidb_add.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-import ConfigParser, os, sys, thread, time, getpass, anidb, ed2k
-
-num_threads = 0
-
-def hash_file(name):
- if not os.access(name, os.R_OK):
- print 'Invalid file: %s' % (name)
- return
- size = os.stat(name).st_size
- hash = ed2k.file_hash(name)
- print 'Hashed: ed2k://|file|%s|%d|%s|' % (name, size, hash)
- return name, size, hash
-
-def hash_thread(filelist, hashlist):
- global num_threads
- num_threads += 1
- try:
- while filelist:
- h = hash_file(filelist.pop(0))
- if h:
- hashlist.append(h)
- except IndexError:
- pass
- num_threads -= 1
-
-def auth():
- try:
- c = ConfigParser.ConfigParser()
- c.read(os.path.expanduser('~/.pyanidb.conf'))
- username = c.get('auth', 'username')
- password = c.get('auth', 'password')
- except:
- username = raw_input('Username: ')
- password = getpass.getpass()
- return username, password
-
-username, password = auth()
-
-try:
- a = anidb.AniDB(username, password)
- #t = a.ping()
- #if t:
- # print 'AniDB is reachable, %.3fs' % (t)
- #else:
- # print 'AniDB is unreachable.'
- # sys.exit(1)
- a.auth()
- print 'Logged in as user %s.' % (username)
- if a.new_version:
- print 'New version available.'
-
- filelist = sys.argv[1:]
- hashlist = []
-
- thread.start_new_thread(hash_thread, (filelist, hashlist))
-
- while hashlist or num_threads or filelist:
- if not hashlist:
- time.sleep(0.1)
- continue
- name, size, hash = hashlist.pop(0)
- try:
- while 1:
- try:
- a.add_hash(size, hash)
- except anidb.AniDBTimeout:
- print 'Connection timed out, retrying.'
- continue
- break
- except anidb.AniDBUnknownFile:
- print 'Unknown file: %s' % (name)
- continue
- print 'Added file: %s' % (name)
- print 'All operations finished.'
-except anidb.AniDBUserError:
- print 'Invalid username/password.'
- sys.exit(1)
-except anidb.AniDBTimeout:
- print 'Connection timed out.'
- sys.exit(1)
-except anidb.AniDBError, e:
- print 'Fatal error:', e
- sys.exit(1)