diff options
author | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 09:22:01 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@users.noreply.github.com> | 2015-04-13 09:22:01 +0200 |
commit | 2432ade6c9bd7284a5bf0d760796638eef634be9 (patch) | |
tree | 877cfd29c6e5117a974377ead73cbbc150f6544d /module/plugins/hooks/UserAgentSwitcher.py | |
parent | Prepare hook plugins to merging from stable (diff) | |
parent | [LolabitsEs] Cleanup (diff) | |
download | pyload-2432ade6c9bd7284a5bf0d760796638eef634be9.tar.xz |
Merge branch 'stable' into 0.4.10
Conflicts:
module/plugins/hooks/MultihostersComHook.py
module/plugins/hooks/PutdriveComHook.py
module/plugins/internal/CaptchaService.py
pyload/plugin/account/OboomCom.py
pyload/plugin/account/SmoozedCom.py
pyload/plugin/addon/AntiVirus.py
pyload/plugin/addon/ExternalScripts.py
pyload/plugin/addon/ExtractArchive.py
pyload/plugin/addon/RestartSlow.py
pyload/plugin/crypter/CrockoCom.py
pyload/plugin/crypter/DepositfilesCom.py
pyload/plugin/crypter/FshareVn.py
pyload/plugin/crypter/LinkdecrypterCom.py
pyload/plugin/crypter/MegaRapidCz.py
pyload/plugin/crypter/PastebinCom.py
pyload/plugin/hoster/CatShareNet.py
pyload/plugin/hoster/EdiskCz.py
pyload/plugin/hoster/ExtabitCom.py
pyload/plugin/hoster/GigapetaCom.py
pyload/plugin/hoster/GooIm.py
pyload/plugin/hoster/IfolderRu.py
pyload/plugin/hoster/LuckyShareNet.py
pyload/plugin/hoster/MegasharesCom.py
pyload/plugin/hoster/MovReelCom.py
pyload/plugin/hoster/NarodRu.py
pyload/plugin/hoster/NowDownloadSx.py
pyload/plugin/hoster/NowVideoSx.py
pyload/plugin/hoster/QuickshareCz.py
pyload/plugin/hoster/RemixshareCom.py
pyload/plugin/hoster/RgHostNet.py
pyload/plugin/hoster/SendspaceCom.py
pyload/plugin/hoster/UlozTo.py
pyload/plugin/hoster/UnibytesCom.py
pyload/plugin/hoster/UploadingCom.py
pyload/plugin/hoster/WrzucTo.py
pyload/plugin/internal/MultiHook.py
pyload/plugin/internal/SimpleHoster.py
Diffstat (limited to 'module/plugins/hooks/UserAgentSwitcher.py')
-rw-r--r-- | module/plugins/hooks/UserAgentSwitcher.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/module/plugins/hooks/UserAgentSwitcher.py b/module/plugins/hooks/UserAgentSwitcher.py new file mode 100644 index 000000000..912c2ef09 --- /dev/null +++ b/module/plugins/hooks/UserAgentSwitcher.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + +from __future__ import with_statement + +import os +import pycurl +import random + +from module.plugins.Hook import Hook +from module.utils import fs_encode + + +class UserAgentSwitcher(Hook): + __name__ = "UserAgentSwitcher" + __type__ = "hook" + __version__ = "0.04" + + __config__ = [("activated", "bool", "Activated" , True ), + ("uaf" , "file", "Random user-agents file" , "" ), + ("uar" , "bool", "Random user-agent" , False ), + ("uas" , "str" , "Custom user-agent string", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0")] + + __description__ = """Custom user-agent""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + interval = 0 #@TODO: Remove in 0.4.10 + + + def setup(self): + self.info = {} #@TODO: Remove in 0.4.10 + + + def downloadPreparing(self, pyfile): + uar = self.getConfig('uar') + uaf = fs_encode(self.getConfig('uaf')) + + if uar and os.path.isfile(uaf): + with open(uaf) as f: + uas = random.choice([ua for ua in f.read().splitlines()]) + else: + uas = self.getConfig('uas') + + if uas: + self.logDebug("Use custom user-agent string: " + uas) + pyfile.plugin.req.http.c.setopt(pycurl.USERAGENT, uas.encode('utf-8')) |