Этот скрипт покажет список (dialog.select), я хотел бы изменить его на auto.pick первый результат (без диалога) или что-то в этом роде.
В 1 всегда есть 1 результатURL, поэтому нет необходимости в диалоге, это «проблемная» часть:
bestanden = []
filelist = getHtml(listurl)
filelist = re.compile('path":"([^"]+)"', re.DOTALL | re.IGNORECASE).findall(filelist)
for bestand in filelist:
bestanden.append(urllib.unquote_plus(bestand[1:].replace('\u00','%')))
vh = dialog.select('Selecteer bestand om te downloaden', bestanden)
if vh == -1:
return
dlpath = filelist[vh]
dlname = bestanden[vh]
dlpath = urllib.unquote_plus(dlpath.replace('\u00','%'))
stackpage = getHtml(url)
csrftoken = re.compile('csrf-token" content="([^"]+)"', re.DOTALL | re.IGNORECASE).findall(stackpage)[0]
archive = "zip"
all = "false"
stackdata = {'CSRF-Token':csrftoken,
'archive':archive,
'all':all,
'query':'',
'paths[]':dlpath}
stackdata = urllib.urlencode(stackdata)
fullurl = dlurl + "|" + stackdata
fildl = downloadFile(fullurl, dlname, download_path)
в 'default.py', который я использую:
<...etc...>
def mainMenu():
addItem('[B]U[/B]pdate', url, 1,icon, 1)
<...etc...>
elif mode==1:
showFiles(url, location)
Я пробовал много разныхвещи, но, кажется, не могут заставить его работать, каждый раз, когда получаю ошибки, например, такие:
TypeError: list indices must be integers, not str
TypeError: list indices must be integers, not list
TypeError: list indices must be integers, not function
TypeError: 'list' object is not callable
TypeError: 'str' object is not callable
AttributeError: 'list' object has no attribute 'replace'
AttributeError: 'list' object has no attribute 'split'
, как вы можете видеть, я действительно пробовал много проб и ошибок;) Явроде как застрял, как вы видите, и, надеюсь, пытался выучить несколько новых трюков;)
С уважением