]>
code.delx.au - webdl/blob - grabber.py
2 # vim:ts=4:sts=4:sw=4:noet
4 from common
import load_root_node
, natural_sort
7 def choose(options
, allow_multi
):
9 for i
, (key
, value
) in enumerate(options
):
10 print "%3d) %s" % (i
+1, key
)
11 reverse_map
[i
+1] = value
15 values
= map(int, raw_input("Choose> ").split())
20 values
= [reverse_map
[value
] for value
in values
if value
in reverse_map
]
26 except (ValueError, IndexError):
27 print >>sys
.stderr
, "Invalid input, please try again"
31 node
= load_root_node()
36 for n
in node
.get_children():
37 options
.append((n
.title
, n
))
38 if not n
.can_download
:
40 options
= natural_sort(options
, key
=lambda x
: x
[0])
41 result
= choose(options
, allow_multi
=will_download
)
43 if node
.parent
is not None:
50 raw_input("Press return to continue...\n")
54 if __name__
== "__main__":
57 except (KeyboardInterrupt, EOFError):